Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
CholmodDecomposition< _MatrixType, _UpLo > Class Template Reference

A general Cholesky factorization and solver based on Cholmod. More...

#include <CholmodSupport.h>

+ Inheritance diagram for CholmodDecomposition< _MatrixType, _UpLo >:

List of all members.

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 ()
 CholmodDecomposition ()
 CholmodDecomposition (const MatrixType &matrix)
Index cols () const
CholmodDecomposition
< _MatrixType, _UpLo > & 
compute (const MatrixType &matrix)
CholmodDecomposition
< _MatrixType, _UpLo > & 
derived ()
const CholmodDecomposition
< _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
void setMode (CholmodMode mode)
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
 ~CholmodDecomposition ()

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::CholmodDecomposition< _MatrixType, _UpLo >

A general 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.

This variant permits to change the underlying Cholesky method at runtime. On the other hand, it does not provide access to the result of the factorization. The default is to let Cholmod automatically choose between a simplicial and supernodal factorization.

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

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

CholmodDecomposition ( ) [inline]
CholmodDecomposition ( const MatrixType matrix) [inline]
~CholmodDecomposition ( ) [inline]

Member Function Documentation

void analyzePattern ( const MatrixType matrix) [inline, inherited]

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()
cholmod_common& cholmod ( ) [inline, inherited]

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.

Index cols ( void  ) const [inline, inherited]
CholmodDecomposition< _MatrixType, _UpLo > & compute ( const MatrixType matrix) [inline, inherited]

Computes the sparse Cholesky decomposition of matrix

Referenced by CholmodDecomposition< _MatrixType, _UpLo >::CholmodDecomposition().

CholmodDecomposition< _MatrixType, _UpLo > & derived ( ) [inline, inherited]
const CholmodDecomposition< _MatrixType, _UpLo > & derived ( ) const [inline, inherited]
void dumpMemory ( Stream &  s) [inline, inherited]
void factorize ( const MatrixType matrix) [inline, inherited]

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()
ComputationInfo info ( ) const [inline, inherited]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
void init ( ) [inline, protected]
Index rows ( void  ) const [inline, inherited]
void setMode ( CholmodMode  mode) [inline]
const internal::solve_retval<CholmodBase, Rhs> solve ( const MatrixBase< Rhs > &  b) const [inline, inherited]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()
const internal::sparse_solve_retval<CholmodBase, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const [inline, inherited]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Member Data Documentation

int m_analysisIsOk [protected, inherited]
cholmod_common m_cholmod [mutable, protected, inherited]
cholmod_factor* m_cholmodFactor [protected, inherited]
int m_factorizationIsOk [protected, inherited]
ComputationInfo m_info [mutable, protected, inherited]
bool m_isInitialized [protected, inherited]

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