glucat  0.12.0
Namespaces | Functions
matrix_imp.h File Reference
#include "glucat/errors.h"
#include "glucat/scalar.h"
#include "glucat/matrix.h"
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_expression.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/operation.hpp>
#include <boost/numeric/ublas/operation_sparse.hpp>
#include <boost/numeric/bindings/lapack/driver/gees.hpp>
#include <boost/numeric/bindings/ublas.hpp>
#include <set>
#include <vector>
Include dependency graph for matrix_imp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 glucat
 
 glucat::matrix
 

Functions

template<typename LHS_T , typename RHS_T >
auto glucat::matrix::kron (const LHS_T &lhs, const RHS_T &rhs) -> const RHS_T
 Kronecker tensor product of matrices - as per Matlab kron. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::mono_kron (const LHS_T &lhs, const RHS_T &rhs) -> const RHS_T
 Sparse Kronecker tensor product of monomial matrices. More...
 
template<typename LHS_T , typename RHS_T >
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. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::nork (const LHS_T &lhs, const RHS_T &rhs, const bool mono=true) -> const RHS_T
 Left inverse of Kronecker product. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::signed_perm_nork (const LHS_T &lhs, const RHS_T &rhs) -> const RHS_T
 Left inverse of Kronecker product where lhs is a signed permutation matrix. More...
 
template<typename Matrix_T >
auto glucat::matrix::nnz (const Matrix_T &m) -> typename Matrix_T::size_type
 Number of non-zeros. More...
 
template<typename Matrix_T >
auto glucat::matrix::isinf (const Matrix_T &m) -> bool
 Infinite. More...
 
template<typename Matrix_T >
auto glucat::matrix::isnan (const Matrix_T &m) -> bool
 Not a Number. More...
 
template<typename Matrix_T >
auto glucat::matrix::unit (const typename Matrix_T::size_type n) -> const Matrix_T
 Unit matrix - as per Matlab eye. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::mono_prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) -> const typename RHS_T::expression_type
 Product of monomial matrices. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::sparse_prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) -> const typename RHS_T::expression_type
 Product of sparse matrices. More...
 
template<typename LHS_T , typename RHS_T >
auto glucat::matrix::prod (const ublas::matrix_expression< LHS_T > &lhs, const ublas::matrix_expression< RHS_T > &rhs) -> const typename RHS_T::expression_type
 Product of matrices. More...
 
template<typename Scalar_T , typename LHS_T , typename RHS_T >
auto glucat::matrix::inner (const LHS_T &lhs, const RHS_T &rhs) -> Scalar_T
 Inner product: sum(x(i,j)*y(i,j))/x.nrows() More...
 
template<typename Matrix_T >
auto glucat::matrix::norm_frob2 (const Matrix_T &val) -> typename Matrix_T::value_type
 Square of Frobenius norm. More...
 
template<typename Matrix_T >
auto glucat::matrix::trace (const Matrix_T &val) -> typename Matrix_T::value_type
 Matrix trace. More...
 
template<typename Matrix_T >
static auto glucat::matrix::to_lapack (const Matrix_T &val) -> ublas::matrix< double, ublas::column_major >
 Convert matrix to LAPACK format. More...
 
template<typename Matrix_T >
auto glucat::matrix::eigenvalues (const Matrix_T &val) -> std::vector< std::complex< double > >
 Eigenvalues of a matrix. More...
 
template<typename Matrix_T >
auto glucat::matrix::classify_eigenvalues (const Matrix_T &val) -> eig_genus< Matrix_T >
 Classify the eigenvalues of a matrix. More...