#include <auxlib_proto.hpp>
Public Member Functions | |
template<typename T > | |
void | eig_gen (Col< std::complex< T > > &eigval, Mat< T > &l_eigvec, Mat< T > &r_eigvec, const Mat< T > &A, const char side) |
Eigenvalues and eigenvectors of a general square real matrix using LAPACK. The argument 'side' specifies which eigenvectors should be calculated (see code for mode details). | |
Static Public Member Functions | |
template<typename eT > | |
static const eT & | tmp_real (const eT &X) |
template<typename T > | |
static const T & | tmp_real (const std::complex< T > &X) |
template<typename eT > | |
static void | inv_noalias (Mat< eT > &out, const Mat< eT > &X) |
immediate matrix inverse | |
template<typename eT > | |
static void | inv_inplace (Mat< eT > &X) |
immediate inplace matrix inverse | |
template<typename eT > | |
static eT | det (const Mat< eT > &X) |
immediate determinant of a matrix using ATLAS or LAPACK | |
template<typename eT > | |
static void | lu (Mat< eT > &L, Mat< eT > &U, podarray< int > &ipiv, const Mat< eT > &X_orig) |
immediate LU decomposition of a matrix using ATLAS or LAPACK | |
template<typename eT > | |
static void | lu (Mat< eT > &L, Mat< eT > &U, Mat< eT > &P, const Mat< eT > &X) |
template<typename eT > | |
static void | lu (Mat< eT > &L, Mat< eT > &U, const Mat< eT > &X) |
template<typename eT > | |
static void | eig_sym (Col< eT > &eigval, const Mat< eT > &A) |
immediate eigenvalues of a symmetric real matrix using LAPACK | |
template<typename T > | |
static void | eig_sym (Col< T > &eigval, const Mat< std::complex< T > > &A) |
immediate eigenvalues of a hermitian complex matrix using LAPACK | |
template<typename eT > | |
static void | eig_sym (Col< eT > &eigval, Mat< eT > &eigvec, const Mat< eT > &A) |
immediate eigenvalues and eigenvectors of a symmetric real matrix using LAPACK | |
template<typename T > | |
static void | eig_sym (Col< T > &eigval, Mat< std::complex< T > > &eigvec, const Mat< std::complex< T > > &A) |
immediate eigenvalues and eigenvectors of a hermitian complex matrix using LAPACK | |
template<typename eT > | |
static void | eig_gen (Col< std::complex< eT > > &eigval, Mat< eT > &l_eigvec, Mat< eT > &r_eigvec, const Mat< eT > &A, const char side) |
template<typename T > | |
static void | eig_gen (Col< std::complex< T > > &eigval, Mat< std::complex< T > > &l_eigvec, Mat< std::complex< T > > &r_eigvec, const Mat< std::complex< T > > &A, const char side) |
Eigenvalues and eigenvectors of a general square complex matrix using LAPACK The argument 'side' specifies which eigenvectors should be calculated (see code for mode details). | |
template<typename eT > | |
static bool | chol (Mat< eT > &out, const Mat< eT > &X) |
template<typename eT > | |
static bool | qr (Mat< eT > &Q, Mat< eT > &R, const Mat< eT > &X) |
template<typename eT > | |
static bool | svd (Col< eT > &S, const Mat< eT > &X) |
template<typename T > | |
static bool | svd (Col< T > &S, const Mat< std::complex< T > > &X) |
template<typename eT > | |
static bool | svd (Mat< eT > &U, Col< eT > &S, Mat< eT > &V, const Mat< eT > &X) |
template<typename T > | |
static bool | svd (Mat< std::complex< T > > &U, Col< T > &S, Mat< std::complex< T > > &V, const Mat< std::complex< T > > &X) |
template<typename eT > | |
static bool | solve (Mat< eT > &out, const Mat< eT > &A, const Mat< eT > &B) |
Solve a system of linear equations Assumes that A.n_rows = A.n_cols and B.n_rows = A.n_rows. | |
template<typename eT > | |
static bool | solve_od (Mat< eT > &out, const Mat< eT > &A, const Mat< eT > &B) |
Solve an over-determined system. Assumes that A.n_rows > A.n_cols and B.n_rows = A.n_rows. | |
template<typename eT > | |
static bool | solve_ud (Mat< eT > &out, const Mat< eT > &A, const Mat< eT > &B) |
Solve an under-determined system. Assumes that A.n_rows < A.n_cols and B.n_rows = A.n_rows. |
Definition at line 22 of file auxlib_proto.hpp.
static const eT& auxlib::tmp_real | ( | const eT & | X | ) | [inline, static] |
Definition at line 27 of file auxlib_proto.hpp.
Referenced by inv_inplace(), inv_noalias(), and qr().
static const T& auxlib::tmp_real | ( | const std::complex< T > & | X | ) | [inline, static] |
static void auxlib::eig_gen | ( | Col< std::complex< eT > > & | eigval, | |
Mat< eT > & | l_eigvec, | |||
Mat< eT > & | r_eigvec, | |||
const Mat< eT > & | A, | |||
const char | side | |||
) | [inline, static] |
Referenced by eig_gen().