|
glucat
0.8.2
|
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 526 of file matrix_imp.h.
References glucat::abs(), both_eig_case, eigenvalues(), glucat::imag(), glucat::matrix::eig_genus< Matrix_T >::m_eig_case, glucat::matrix::eig_genus< Matrix_T >::m_safe_arg, negative_eig_case, glucat::norm(), glucat::numeric_traits< Scalar_T >::pi(), PyClical::pi, glucat::real(), and safe_eig_case.
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 493 of file matrix_imp.h.
References to_lapack().
Referenced by classify_eigenvalues().
| 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 391 of file matrix_imp.h.
| bool glucat::matrix::isnan | ( | const Matrix_T & | m | ) |
Not a Number.
Definition at line 292 of file matrix_imp.h.
Referenced by glucat::matrix_log(), and glucat::operator/().
| 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 73 of file matrix_imp.h.
Referenced by glucat::framed_multi< Scalar_T, LO, HI >::fast().
| 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 116 of file matrix_imp.h.
Referenced by glucat::gen::generator_table< Matrix_T >::gen_from_pm1_qm1().
| 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 326 of file matrix_imp.h.
Referenced by glucat::matrix_multi< Scalar_T, LO, HI >::basis_element(), glucat::gen::generator_table< Matrix_T >::gen_from_pm4_qp4(), glucat::gen::generator_table< Matrix_T >::gen_from_pp4_qm4(), and glucat::gen::generator_table< Matrix_T >::gen_from_qp1_pm1().
| Matrix_T::size_type glucat::matrix::nnz | ( | const Matrix_T & | m | ) |
Number of non-zeros.
Definition at line 269 of file matrix_imp.h.
Referenced by glucat::framed_multi< Scalar_T, LO, HI >::framed_multi().
| 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 188 of file matrix_imp.h.
References norm_frob2().
| 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 155 of file matrix_imp.h.
References glucat::numeric_traits< Scalar_T >::to_scalar_t().
| Matrix_T::value_type glucat::matrix::norm_frob2 | ( | const Matrix_T & | val | ) |
|
inline |
Product of matrices.
Definition at line 373 of file matrix_imp.h.
| 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 237 of file matrix_imp.h.
Referenced by glucat::fast().
|
inline |
Product of sparse matrices.
Definition at line 362 of file matrix_imp.h.
|
static |
Convert matrix to LAPACK format.
Definition at line 461 of file matrix_imp.h.
Referenced by eigenvalues().
| Matrix_T::value_type glucat::matrix::trace | ( | const Matrix_T & | val | ) |
Matrix trace.
Definition at line 437 of file matrix_imp.h.
References glucat::numeric_traits< Scalar_T >::NaN().
|
inline |
Unit matrix - as per Matlab eye.
Definition at line 317 of file matrix_imp.h.
1.8.14