glucat  0.8.2
Classes | Namespaces | Enumerations | Functions
matrix.h File Reference
#include <boost/numeric/ublas/fwd.hpp>
#include <complex>
Include dependency graph for matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  glucat::matrix::eig_genus< Matrix_T >
 Structure containing classification of eigenvalues. More...
 

Namespaces

 glucat
 
 glucat::matrix
 

Enumerations

enum  glucat::matrix::eig_case_t { glucat::matrix::safe_eig_case, glucat::matrix::negative_eig_case, glucat::matrix::both_eig_case }
 Classification of eigenvalues of a matrix. More...
 

Functions

template<typename LHS_T , typename RHS_T >
const RHS_T glucat::matrix::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 glucat::matrix::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 glucat::matrix::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 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. More...
 
template<typename Matrix_T >
Matrix_T::size_type glucat::matrix::nnz (const Matrix_T &m)
 Number of non-zeros. More...
 
template<typename Matrix_T >
bool glucat::matrix::isnan (const Matrix_T &m)
 Not a Number. More...
 
template<typename Matrix_T >
const Matrix_T glucat::matrix::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 glucat::matrix::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 glucat::matrix::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 glucat::matrix::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 glucat::matrix::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 glucat::matrix::norm_frob2 (const Matrix_T &val)
 Square of Frobenius norm. More...
 
template<typename Matrix_T >
Matrix_T::value_type glucat::matrix::trace (const Matrix_T &val)
 Matrix trace. More...
 
template<typename Matrix_T >
ublas::vector< std::complex< double > > glucat::matrix::eigenvalues (const Matrix_T &val)
 Eigenvalues of a matrix. More...
 
template<typename Matrix_T >
eig_genus< Matrix_T > glucat::matrix::classify_eigenvalues (const Matrix_T &val)
 Classify the eigenvalues of a matrix. More...