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 |
SimplicialCholesky & | compute (const MatrixType &matrix) |
template<typename Stream > | |
void | dumpMemory (Stream &s) |
void | factorize (const MatrixType &a) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
const PermutationMatrix < Dynamic > & | permutationP () const |
const PermutationMatrix < Dynamic > & | permutationPinv () const |
Index | rows () const |
SimplicialCholesky & | setMode (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< Dynamic > | m_P |
VectorXi | m_parent |
PermutationMatrix< Dynamic > | m_Pinv |
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.
_MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> | |
_UpLo | the triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower. |
void analyzePattern | ( | const MatrixType & | a | ) |
This function is particularly useful when solving for several problems having the same structure.
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.
ComputationInfo info | ( | ) | const [inline] |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative. const PermutationMatrix<Dynamic>& permutationP | ( | ) | const [inline] |
const PermutationMatrix<Dynamic>& permutationPinv | ( | ) | const [inline] |
const internal::solve_retval<SimplicialCholesky, Rhs> solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline] |