LDLT Cholesky decomposition of a sparse matrix and associated features. More...
Public Types | |
typedef SparseMatrix< Scalar > | CholMatrixType |
typedef MatrixType::Index | Index |
typedef _MatrixType | MatrixType |
Public Member Functions | |
bool | _numeric (const MatrixType &matrix) |
void | _symbolic (const MatrixType &matrix) |
Index | cols () const |
void | compute (const MatrixType &matrix) |
const VectorType & | diag () const |
int | flags () const |
const CholMatrixType & | matrixL (void) const |
RealScalar | precision () const |
Index | rows () const |
void | setPrecision (RealScalar v) |
void | settags (int f) |
template<typename Rhs > | |
const internal::solve_retval < SparseLDLT< MatrixType > , Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Derived > | |
bool | solveInPlace (MatrixBase< Derived > &b) const |
SparseLDLT (int flags=0) | |
SparseLDLT (const MatrixType &matrix, int flags=0) | |
bool | succeeded (void) const |
VectorType | vectorD (void) const |
Protected Types | |
enum | { SupernodalFactorIsDirty, MatrixLIsDirty } |
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 |
PermutationMatrix< Dynamic > | m_P |
VectorXi | m_parent |
PermutationMatrix< Dynamic > | m_Pinv |
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 |
SparseLDLT | ( | int | flags = 0 | ) | [inline] |
Creates a dummy LDLT factorization object with flags flags.
SparseLDLT | ( | const MatrixType & | matrix, |
int | flags = 0 |
||
) | [inline] |
Creates a LDLT object and compute the respective factorization of matrix using flags flags.
bool _numeric | ( | const MatrixType & | matrix | ) |
Perform the actual factorization using the previously computed symbolic factorization
void _symbolic | ( | const MatrixType & | matrix | ) |
Perform a symbolic factorization
void compute | ( | const MatrixType & | matrix | ) |
int flags | ( | ) | const [inline] |
const CholMatrixType& matrixL | ( | void | ) | const [inline] |
RealScalar precision | ( | ) | const [inline] |
void 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.
void settags | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
bool solveInPlace | ( | MatrixBase< Derived > & | b | ) | const |
Computes b = L^-T D^-1 L^-1 b
bool succeeded | ( | void | ) | const [inline] |
VectorType vectorD | ( | void | ) | const [inline] |