LLT Cholesky decomposition of a sparse matrix and associated features. More...
#include <SparseLLT.h>
Public Member Functions | |
void | compute (const MatrixType &matrix) |
int | flags () const |
const CholMatrixType & | matrixL (void) const |
RealScalar | precision () const |
void | setFlags (int f) |
void | setPrecision (RealScalar v) |
template<typename Derived > | |
bool | solveInPlace (MatrixBase< Derived > &b) const |
SparseLLT (const MatrixType &matrix, int flags=0) | |
SparseLLT (int flags=0) | |
bool | succeeded (void) const |
Protected Types | |
enum | { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 } |
typedef SparseMatrix< Scalar, LowerTriangular > | CholMatrixType |
typedef NumTraits< typename MatrixType::Scalar >::Real | RealScalar |
typedef MatrixType::Scalar | Scalar |
Protected Attributes | |
int | m_flags |
CholMatrixType | m_matrix |
RealScalar | m_precision |
int | m_status |
bool | m_succeeded |
LLT Cholesky decomposition of a sparse matrix and associated features.
MatrixType | the type of the matrix of which we are computing the LLT Cholesky decomposition |
Definition at line 39 of file SparseLLT.h.
typedef SparseMatrix<Scalar,LowerTriangular> SparseLLT< MatrixType, Backend >::CholMatrixType [protected] |
Definition at line 44 of file SparseLLT.h.
typedef NumTraits<typename MatrixType::Scalar>::Real SparseLLT< MatrixType, Backend >::RealScalar [protected] |
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 43 of file SparseLLT.h.
typedef MatrixType::Scalar SparseLLT< MatrixType, Backend >::Scalar [protected] |
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 42 of file SparseLLT.h.
anonymous enum [protected] |
Definition at line 46 of file SparseLLT.h.
SparseLLT< MatrixType, Backend >::SparseLLT | ( | int | flags = 0 |
) | [inline] |
Creates a dummy LLT factorization object with flags flags.
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 54 of file SparseLLT.h.
SparseLLT< MatrixType, Backend >::SparseLLT | ( | const MatrixType & | matrix, | |
int | flags = 0 | |||
) | [inline] |
Creates a LLT object and compute the respective factorization of matrix using flags flags.
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 62 of file SparseLLT.h.
void SparseLLT< MatrixType, Backend >::compute | ( | const MatrixType & | a | ) | [inline] |
Computes/re-computes the LLT factorization
Computes / recomputes the LLT decomposition of matrix a using the default algorithm.
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 127 of file SparseLLT.h.
int SparseLLT< MatrixType, Backend >::flags | ( | ) | const [inline] |
Definition at line 101 of file SparseLLT.h.
const CholMatrixType& SparseLLT< MatrixType, Backend >::matrixL | ( | void | ) | const [inline] |
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 107 of file SparseLLT.h.
RealScalar SparseLLT< MatrixType, Backend >::precision | ( | ) | const [inline] |
void SparseLLT< MatrixType, Backend >::setFlags | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
Definition at line 99 of file SparseLLT.h.
void SparseLLT< 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 82 of file SparseLLT.h.
bool SparseLLT< MatrixType, Backend >::solveInPlace | ( | MatrixBase< Derived > & | b | ) | const [inline] |
Computes b = L^-T L^-1 b
Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.
Definition at line 187 of file SparseLLT.h.
bool SparseLLT< MatrixType, Backend >::succeeded | ( | void | ) | const [inline] |
Definition at line 113 of file SparseLLT.h.
int SparseLLT< MatrixType, Backend >::m_flags [protected] |
Definition at line 118 of file SparseLLT.h.
CholMatrixType SparseLLT< MatrixType, Backend >::m_matrix [protected] |
Definition at line 116 of file SparseLLT.h.
RealScalar SparseLLT< MatrixType, Backend >::m_precision [protected] |
Definition at line 117 of file SparseLLT.h.
int SparseLLT< MatrixType, Backend >::m_status [mutable, protected] |
Definition at line 119 of file SparseLLT.h.
bool SparseLLT< MatrixType, Backend >::m_succeeded [protected] |
Definition at line 120 of file SparseLLT.h.