glucat  0.8.2
Namespaces | Functions
matrix_imp.h File Reference
#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 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 >
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 >
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 >
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 >
static ublas::matrix< double, ublas::column_major > glucat::matrix::to_lapack (const Matrix_T &val)
 Convert matrix to LAPACK format. 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...