LDLT Cholesky decomposition of a sparse matrix and associated features. More...
#include <SparseLDLT.h>
Public Member Functions | |
bool | _numeric (const MatrixType &matrix) |
void | _symbolic (const MatrixType &matrix) |
void | compute (const MatrixType &matrix) |
int | flags () const |
const CholMatrixType & | matrixL (void) const |
RealScalar | precision () const |
void | setPrecision (RealScalar v) |
void | settagss (int f) |
template<typename Derived > | |
bool | solveInPlace (MatrixBase< Derived > &b) const |
SparseLDLT (const MatrixType &matrix, int flags=0) | |
SparseLDLT (int flags=0) | |
bool | succeeded (void) const |
VectorType | vectorD (void) const |
Protected Types | |
enum | { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 } |
typedef SparseMatrix< Scalar, LowerTriangular|UnitDiagBit > | CholMatrixType |
typedef NumTraits< typename MatrixType::Scalar >::Real | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef Matrix< Scalar, MatrixType::ColsAtCompileTime, 1 > | VectorType |
Protected Attributes | |
VectorType | m_diag |
int | m_flags |
CholMatrixType | m_matrix |
VectorXi | m_nonZerosPerCol |
VectorXi | m_parent |
RealScalar | m_precision |
int | m_status |
bool | m_succeeded |
LDLT Cholesky decomposition of a sparse matrix and associated features.
MatrixType | the type of the matrix of which we are computing the LDLT Cholesky decomposition |
Definition at line 77 of file SparseLDLT.h.
typedef SparseMatrix<Scalar,LowerTriangular|UnitDiagBit> SparseLDLT< MatrixType, Backend >::CholMatrixType [protected] |
Definition at line 82 of file SparseLDLT.h.
typedef NumTraits<typename MatrixType::Scalar>::Real SparseLDLT< MatrixType, Backend >::RealScalar [protected] |
Definition at line 81 of file SparseLDLT.h.
typedef MatrixType::Scalar SparseLDLT< MatrixType, Backend >::Scalar [protected] |
Definition at line 80 of file SparseLDLT.h.
typedef Matrix<Scalar,MatrixType::ColsAtCompileTime,1> SparseLDLT< MatrixType, Backend >::VectorType [protected] |
Definition at line 83 of file SparseLDLT.h.
anonymous enum [protected] |
Definition at line 85 of file SparseLDLT.h.
SparseLDLT< MatrixType, Backend >::SparseLDLT | ( | int | flags = 0 |
) | [inline] |
Creates a dummy LDLT factorization object with flags flags.
Definition at line 93 of file SparseLDLT.h.
SparseLDLT< MatrixType, Backend >::SparseLDLT | ( | const MatrixType & | matrix, | |
int | flags = 0 | |||
) | [inline] |
Creates a LDLT object and compute the respective factorization of matrix using flags flags.
Definition at line 102 of file SparseLDLT.h.
bool SparseLDLT< MatrixType, Backend >::_numeric | ( | const MatrixType & | matrix | ) | [inline] |
Perform the actual factorization using the previously computed symbolic factorization
Definition at line 245 of file SparseLDLT.h.
void SparseLDLT< MatrixType, Backend >::_symbolic | ( | const MatrixType & | matrix | ) | [inline] |
Perform a symbolic factorization
Definition at line 188 of file SparseLDLT.h.
void SparseLDLT< MatrixType, Backend >::compute | ( | const MatrixType & | a | ) | [inline] |
Computes/re-computes the LDLT factorization
Computes / recomputes the LDLT decomposition of matrix a using the default algorithm.
Definition at line 181 of file SparseLDLT.h.
int SparseLDLT< MatrixType, Backend >::flags | ( | ) | const [inline] |
Definition at line 142 of file SparseLDLT.h.
const CholMatrixType& SparseLDLT< MatrixType, Backend >::matrixL | ( | void | ) | const [inline] |
Definition at line 154 of file SparseLDLT.h.
RealScalar SparseLDLT< MatrixType, Backend >::precision | ( | ) | const [inline] |
void SparseLDLT< MatrixType, Backend >::setPrecision | ( | RealScalar | v | ) | [inline] |
Sets the relative threshold value used to prune zero coefficients during the decomposition.
Setting a value greater than zero speeds up computation, and yields to an imcomplete factorization with fewer non zero coefficients. Such approximate factors are especially useful to initialize an iterative solver.
Note that the exact meaning of this parameter might depends on the actual backend. Moreover, not all backends support this feature.
Definition at line 123 of file SparseLDLT.h.
void SparseLDLT< MatrixType, Backend >::settagss | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
Definition at line 140 of file SparseLDLT.h.
bool SparseLDLT< MatrixType, Backend >::solveInPlace | ( | MatrixBase< Derived > & | b | ) | const [inline] |
Computes b = L^-T L^-1 b
Definition at line 328 of file SparseLDLT.h.
bool SparseLDLT< MatrixType, Backend >::succeeded | ( | void | ) | const [inline] |
Definition at line 163 of file SparseLDLT.h.
VectorType SparseLDLT< MatrixType, Backend >::vectorD | ( | void | ) | const [inline] |
Definition at line 157 of file SparseLDLT.h.
VectorType SparseLDLT< MatrixType, Backend >::m_diag [protected] |
Definition at line 167 of file SparseLDLT.h.
int SparseLDLT< MatrixType, Backend >::m_flags [protected] |
Definition at line 172 of file SparseLDLT.h.
CholMatrixType SparseLDLT< MatrixType, Backend >::m_matrix [protected] |
Definition at line 166 of file SparseLDLT.h.
VectorXi SparseLDLT< MatrixType, Backend >::m_nonZerosPerCol [protected] |
Definition at line 169 of file SparseLDLT.h.
VectorXi SparseLDLT< MatrixType, Backend >::m_parent [protected] |
Definition at line 168 of file SparseLDLT.h.
RealScalar SparseLDLT< MatrixType, Backend >::m_precision [protected] |
Definition at line 171 of file SparseLDLT.h.
int SparseLDLT< MatrixType, Backend >::m_status [mutable, protected] |
Definition at line 173 of file SparseLDLT.h.
bool SparseLDLT< MatrixType, Backend >::m_succeeded [protected] |
Definition at line 174 of file SparseLDLT.h.