Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Attributes
Eigen::CholmodDecomposition< _MatrixType, _UpLo > Class Template Reference

Detailed Description

template<typename _MatrixType, int _UpLo = Lower>
class Eigen::CholmodDecomposition< _MatrixType, _UpLo >

A Cholesky factorization and solver based on Cholmod.

This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization using the Cholmod library. The sparse matrix A must be selfajoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

Template Parameters:
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
_UpLothe triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower.

Definition at line 165 of file CholmodSupport.

List of all members.

Public Types

enum  { UpLo = _UpLo }
typedef _MatrixType MatrixType
typedef MatrixType::Scalar Scalar
typedef MatrixType::RealScalar RealScalar
typedef MatrixType CholMatrixType
typedef MatrixType::Index Index

Public Member Functions

 CholmodDecomposition ()
 CholmodDecomposition (const MatrixType &matrix)
 ~CholmodDecomposition ()
Index cols () const
Index rows () const
void setMode (CholmodMode mode)
ComputationInfo info () const
 Reports whether previous computation was successful.
void compute (const MatrixType &matrix)
 Computes the sparse Cholesky decomposition of matrix.
template<typename Rhs >
const internal::solve_retval
< CholmodDecomposition, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Rhs >
const
internal::sparse_solve_retval
< CholmodDecomposition, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
void analyzePattern (const MatrixType &matrix)
 Performs a symbolic decomposition on the sparcity of matrix.
void factorize (const MatrixType &matrix)
 Performs a numeric decomposition of matrix.
cholmod_common & cholmod ()
 Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations.
template<typename Stream >
void dumpMemory (Stream &s)

Protected Attributes

cholmod_common m_cholmod
cholmod_factor * m_cholmodFactor
ComputationInfo m_info
bool m_isInitialized
int m_factorizationIsOk
int m_analysisIsOk

Member Typedef Documentation

template<typename _MatrixType , int _UpLo = Lower>
typedef MatrixType Eigen::CholmodDecomposition< _MatrixType, _UpLo >::CholMatrixType

Definition at line 172 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
typedef MatrixType::Index Eigen::CholmodDecomposition< _MatrixType, _UpLo >::Index

Definition at line 173 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
typedef _MatrixType Eigen::CholmodDecomposition< _MatrixType, _UpLo >::MatrixType

Definition at line 168 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
typedef MatrixType::RealScalar Eigen::CholmodDecomposition< _MatrixType, _UpLo >::RealScalar

Definition at line 171 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
typedef MatrixType::Scalar Eigen::CholmodDecomposition< _MatrixType, _UpLo >::Scalar

Definition at line 170 of file CholmodSupport.


Member Enumeration Documentation

template<typename _MatrixType , int _UpLo = Lower>
anonymous enum
Enumerator:
UpLo 

Definition at line 169 of file CholmodSupport.


Constructor & Destructor Documentation

template<typename _MatrixType , int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::CholmodDecomposition ( ) [inline]

Definition at line 177 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::CholmodDecomposition ( const MatrixType matrix) [inline]

Definition at line 184 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::~CholmodDecomposition ( ) [inline]

Definition at line 191 of file CholmodSupport.


Member Function Documentation

template<typename _MatrixType , int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::analyzePattern ( const MatrixType matrix) [inline]

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also:
factorize()

Definition at line 279 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
cholmod_common& Eigen::CholmodDecomposition< _MatrixType, _UpLo >::cholmod ( ) [inline]

Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations.

See the Cholmod user guide for details.

Definition at line 313 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
Index Eigen::CholmodDecomposition< _MatrixType, _UpLo >::cols ( void  ) const [inline]

Definition at line 198 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::compute ( const MatrixType matrix) [inline]

Computes the sparse Cholesky decomposition of matrix.

Definition at line 239 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
template<typename Stream >
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::dumpMemory ( Stream &  s) [inline]

Definition at line 358 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::factorize ( const MatrixType matrix) [inline]

Performs a numeric decomposition of matrix.

The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.

See also:
analyzePattern()

Definition at line 301 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
ComputationInfo Eigen::CholmodDecomposition< _MatrixType, _UpLo >::info ( ) const [inline]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.

Definition at line 232 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
Index Eigen::CholmodDecomposition< _MatrixType, _UpLo >::rows ( void  ) const [inline]

Definition at line 199 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::setMode ( CholmodMode  mode) [inline]

Definition at line 201 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
template<typename Rhs >
const internal::solve_retval<CholmodDecomposition, Rhs> Eigen::CholmodDecomposition< _MatrixType, _UpLo >::solve ( const MatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 251 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
template<typename Rhs >
const internal::sparse_solve_retval<CholmodDecomposition, Rhs> Eigen::CholmodDecomposition< _MatrixType, _UpLo >::solve ( const SparseMatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 265 of file CholmodSupport.


Member Data Documentation

template<typename _MatrixType , int _UpLo = Lower>
int Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_analysisIsOk [protected]

Definition at line 367 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
cholmod_common Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_cholmod [mutable, protected]

Definition at line 362 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
cholmod_factor* Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_cholmodFactor [protected]

Definition at line 363 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
int Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_factorizationIsOk [protected]

Definition at line 366 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
ComputationInfo Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_info [mutable, protected]

Definition at line 364 of file CholmodSupport.

template<typename _MatrixType , int _UpLo = Lower>
bool Eigen::CholmodDecomposition< _MatrixType, _UpLo >::m_isInitialized [protected]

Definition at line 365 of file CholmodSupport.




Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 Hosted on:
SourceForge.net Logo