glucat
0.8.4
|
Classes | |
struct | eig_genus |
Structure containing classification of eigenvalues. More... | |
Enumerations | |
enum | eig_case_t { safe_eig_case, negative_eig_case, both_eig_case } |
Classification of eigenvalues of a matrix. More... | |
Functions | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T | kron (const LHS_T &lhs, const RHS_T &rhs) |
Kronecker tensor product of matrices - as per Matlab kron. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T | mono_kron (const LHS_T &lhs, const RHS_T &rhs) |
Sparse Kronecker tensor product of monomial matrices. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T | nork (const LHS_T &lhs, const RHS_T &rhs, const bool mono=true) |
Left inverse of Kronecker product. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T | signed_perm_nork (const LHS_T &lhs, const RHS_T &rhs) |
Left inverse of Kronecker product where lhs is a signed permutation matrix. More... | |
template<typename Matrix_T > | |
Matrix_T::size_type | nnz (const Matrix_T &m) |
Number of non-zeros. More... | |
template<typename Matrix_T > | |
bool | isnan (const Matrix_T &m) |
Not a Number. More... | |
template<typename Matrix_T > | |
const Matrix_T | unit (const typename Matrix_T::size_type n) |
Unit matrix - as per Matlab eye. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T::expression_type | mono_prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) |
Product of monomial matrices. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T::expression_type | sparse_prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) |
Product of sparse matrices. More... | |
template<typename LHS_T , typename RHS_T > | |
const RHS_T::expression_type | prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) |
Product of matrices. More... | |
template<typename Scalar_T , typename LHS_T , typename RHS_T > | |
Scalar_T | inner (const LHS_T &lhs, const RHS_T &rhs) |
Inner product: sum(x(i,j)*y(i,j))/x.nrows() More... | |
template<typename Matrix_T > | |
Matrix_T::value_type | norm_frob2 (const Matrix_T &val) |
Square of Frobenius norm. More... | |
template<typename Matrix_T > | |
Matrix_T::value_type | trace (const Matrix_T &val) |
Matrix trace. More... | |
template<typename Matrix_T > | |
ublas::vector< std::complex< double > > | eigenvalues (const Matrix_T &val) |
Eigenvalues of a matrix. More... | |
template<typename Matrix_T > | |
eig_genus< Matrix_T > | classify_eigenvalues (const Matrix_T &val) |
Classify the eigenvalues of a matrix. More... | |
template<typename LHS_T , typename RHS_T > | |
void | nork_range (RHS_T &result, const typename LHS_T::const_iterator2 lhs_it2, const RHS_T &rhs, const typename RHS_T::size_type res_s1, const typename RHS_T::size_type res_s2) |
Utility routine for nork: calculate result for a range of indices. More... | |
template<typename Matrix_T > | |
static ublas::matrix< double, ublas::column_major > | to_lapack (const Matrix_T &val) |
Convert matrix to LAPACK format. More... | |
eig_genus< Matrix_T > glucat::matrix::classify_eigenvalues | ( | const Matrix_T & | val | ) |
Classify the eigenvalues of a matrix.
Definition at line 588 of file matrix_imp.h.
Referenced by glucat::matrix_log(), and glucat::matrix_sqrt().
ublas::vector< std::complex< double > > glucat::matrix::eigenvalues | ( | const Matrix_T & | val | ) |
Eigenvalues of a matrix.
Definition at line 555 of file matrix_imp.h.
Scalar_T glucat::matrix::inner | ( | const LHS_T & | lhs, |
const RHS_T & | rhs | ||
) |
Inner product: sum(x(i,j)*y(i,j))/x.nrows()
Inner product: sum(lhs(i,j)*rhs(i,j))/lhs.nrows()
Definition at line 453 of file matrix_imp.h.
bool glucat::matrix::isnan | ( | const Matrix_T & | m | ) |
Not a Number.
Definition at line 354 of file matrix_imp.h.
Referenced by glucat::matrix_log(), and glucat::star().
const RHS_T glucat::matrix::kron | ( | const LHS_T & | lhs, |
const RHS_T & | rhs | ||
) |
Kronecker tensor product of matrices - as per Matlab kron.
Definition at line 135 of file matrix_imp.h.
const RHS_T glucat::matrix::mono_kron | ( | const LHS_T & | lhs, |
const RHS_T & | rhs | ||
) |
Sparse Kronecker tensor product of monomial matrices.
Definition at line 178 of file matrix_imp.h.
const RHS_T::expression_type glucat::matrix::mono_prod | ( | const ublas::matrix_expression< LHS_T > & | lhs, |
const ublas::matrix_expression< RHS_T > & | rhs | ||
) |
Product of monomial matrices.
Definition at line 388 of file matrix_imp.h.
Referenced by glucat::gen::generator_table< Matrix_T >::gen_from_pm4_qp4().
Matrix_T::size_type glucat::matrix::nnz | ( | const Matrix_T & | m | ) |
Number of non-zeros.
Definition at line 331 of file matrix_imp.h.
const RHS_T glucat::matrix::nork | ( | const LHS_T & | lhs, |
const RHS_T & | rhs, | ||
const bool | mono = true |
||
) |
Left inverse of Kronecker product.
Definition at line 250 of file matrix_imp.h.
void glucat::matrix::nork_range | ( | RHS_T & | result, |
const typename LHS_T::const_iterator2 | lhs_it2, | ||
const RHS_T & | rhs, | ||
const typename RHS_T::size_type | res_s1, | ||
const typename RHS_T::size_type | res_s2 | ||
) |
Utility routine for nork: calculate result for a range of indices.
Definition at line 217 of file matrix_imp.h.
Matrix_T::value_type glucat::matrix::norm_frob2 | ( | const Matrix_T & | val | ) |
Square of Frobenius norm.
Definition at line 475 of file matrix_imp.h.
|
inline |
Product of matrices.
Definition at line 435 of file matrix_imp.h.
References glucat::numeric_traits< Scalar_T >::NaN().
const RHS_T glucat::matrix::signed_perm_nork | ( | const LHS_T & | lhs, |
const RHS_T & | rhs | ||
) |
Left inverse of Kronecker product where lhs is a signed permutation matrix.
Definition at line 299 of file matrix_imp.h.
|
inline |
Product of sparse matrices.
Definition at line 424 of file matrix_imp.h.
References glucat::numeric_traits< Scalar_T >::NaN().
|
static |
Convert matrix to LAPACK format.
Definition at line 523 of file matrix_imp.h.
Matrix_T::value_type glucat::matrix::trace | ( | const Matrix_T & | val | ) |
Matrix trace.
Definition at line 499 of file matrix_imp.h.
|
inline |
Unit matrix - as per Matlab eye.
Definition at line 379 of file matrix_imp.h.