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

A direct sparse Cholesky factorization. More...

Classes

struct  keep_diag
 

Public Types

enum  { UpLo }
 
typedef SparseMatrix< Scalar,
ColMajor, Index > 
CholMatrixType
 
typedef MatrixType::Index Index
 
typedef _MatrixType MatrixType
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::Scalar Scalar
 
typedef Matrix< Scalar,
MatrixType::ColsAtCompileTime, 1 > 
VectorType
 

Public Member Functions

void analyzePattern (const MatrixType &a)
 
Index cols () const
 
SimplicialCholeskycompute (const MatrixType &matrix)
 
template<typename Stream >
void dumpMemory (Stream &s)
 
void factorize (const MatrixType &a)
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
const PermutationMatrix
< Dynamic > & 
permutationP () const
 
const PermutationMatrix
< Dynamic > & 
permutationPinv () const
 
Index rows () const
 
SimplicialCholeskysetMode (SimplicialCholeskyMode mode)
 
 SimplicialCholesky (const MatrixType &matrix)
 
template<typename Rhs >
const internal::solve_retval
< SimplicialCholesky, Rhs > 
solve (const MatrixBase< Rhs > &b) const
 

Protected Attributes

bool m_analysisIsOk
 
VectorType m_diag
 
bool m_factorizationIsOk
 
ComputationInfo m_info
 
bool m_isInitialized
 
bool m_LDLt
 
CholMatrixType m_matrix
 
VectorXi m_nonZerosPerCol
 
PermutationMatrix< Dynamicm_P
 
VectorXi m_parent
 
PermutationMatrix< Dynamicm_Pinv
 

Detailed Description

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

A direct sparse Cholesky factorization.

This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization. The sparse matrix A must be selfadjoint 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.

Member Function Documentation

void analyzePattern ( const MatrixType &  a)
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()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()
SimplicialCholesky& compute ( const MatrixType &  matrix)
inline

Computes the sparse Cholesky decomposition of matrix

void factorize ( const MatrixType &  a)

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

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
const PermutationMatrix<Dynamic>& permutationP ( ) const
inline
Returns
the permutation P
See Also
permutationPinv()
const PermutationMatrix<Dynamic>& permutationPinv ( ) const
inline
Returns
the inverse P^-1 of the permutation P
See Also
permutationP()
const internal::solve_retval<SimplicialCholesky, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()

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