Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CholmodSimplicialLLT< _MatrixType, _UpLo > Class Template Reference

A simplicial direct Cholesky (LLT) factorization and solver based on Cholmod. More...

#include <CholmodSupport.h>

+ Inheritance diagram for CholmodSimplicialLLT< _MatrixType, _UpLo >:

Public Types

enum  
typedef MatrixType CholMatrixType
typedef MatrixType::Index Index
typedef _MatrixType MatrixType
typedef MatrixType::RealScalar RealScalar
typedef MatrixType::Scalar Scalar

Public Member Functions

void analyzePattern (const MatrixType &matrix)
cholmod_commoncholmod ()
 CholmodSimplicialLLT ()
 CholmodSimplicialLLT (const MatrixType &matrix)
Index cols () const
CholmodSimplicialLLT
< _MatrixType, _UpLo > & 
compute (const MatrixType &matrix)
CholmodSimplicialLLT
< _MatrixType, _UpLo > & 
derived ()
const CholmodSimplicialLLT
< _MatrixType, _UpLo > & 
derived () const
void dumpMemory (Stream &s)
void factorize (const MatrixType &matrix)
ComputationInfo info () const
 Reports whether previous computation was successful.
Index rows () const
const internal::solve_retval
< CholmodBase, Rhs > 
solve (const MatrixBase< Rhs > &b) const
const
internal::sparse_solve_retval
< CholmodBase, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
 ~CholmodSimplicialLLT ()

Protected Member Functions

void init ()

Protected Attributes

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

Detailed Description

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

A simplicial direct Cholesky (LLT) factorization and solver based on Cholmod.

This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization using the Cholmod library. This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Thefore, it has little practical interest. 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.

This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.

See Also
Solving linear problems, class CholmodSupernodalLLT, class SimplicialLLT

Member Typedef Documentation

typedef MatrixType CholMatrixType
inherited
typedef MatrixType::Index Index
inherited
typedef _MatrixType MatrixType
typedef MatrixType::RealScalar RealScalar
inherited
typedef MatrixType::Scalar Scalar
inherited

Member Enumeration Documentation

anonymous enum
inherited

Constructor & Destructor Documentation

CholmodSimplicialLLT ( const MatrixType matrix)
inline
~CholmodSimplicialLLT ( )
inline

Member Function Documentation

void analyzePattern ( const MatrixType matrix)
inlineinherited
cholmod_common& cholmod ( )
inlineinherited

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.

References CholmodBase< _MatrixType, _UpLo, Derived >::m_cholmod.

Index cols ( void  ) const
inlineinherited
CholmodSimplicialLLT< _MatrixType, _UpLo > & compute ( const MatrixType matrix)
inlineinherited
CholmodSimplicialLLT< _MatrixType, _UpLo > & derived ( )
inlineinherited
const CholmodSimplicialLLT< _MatrixType, _UpLo > & derived ( ) const
inlineinherited
void dumpMemory ( Stream &  s)
inlineinherited
void factorize ( const MatrixType matrix)
inlineinherited
ComputationInfo info ( ) const
inlineinherited

Reports whether previous computation was successful.

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

References eigen_assert, CholmodBase< _MatrixType, _UpLo, Derived >::m_info, and CholmodBase< _MatrixType, _UpLo, Derived >::m_isInitialized.

void init ( )
inlineprotected
Index rows ( void  ) const
inlineinherited
const internal::solve_retval<CholmodBase, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inlineinherited
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()

References eigen_assert, CholmodBase< _MatrixType, _UpLo, Derived >::m_isInitialized, and CholmodBase< _MatrixType, _UpLo, Derived >::rows().

const internal::sparse_solve_retval<CholmodBase, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const
inlineinherited

Member Data Documentation

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

The documentation for this class was generated from the following file: