LLT Cholesky decomposition of a sparse matrix and associated features. More...
#include <SparseLLT.h>
Public Types | |
typedef SparseMatrix< Scalar > | CholMatrixType |
typedef MatrixType::Index | Index |
typedef _MatrixType | MatrixType |
Public Member Functions | |
Index | cols () const |
void | compute (const MatrixType &matrix) |
int | flags () const |
const CholMatrixType & | matrixL (void) const |
RealScalar | precision () const |
Index | rows () const |
void | setFlags (int f) |
void | setPrecision (RealScalar v) |
template<typename Rhs > | |
const internal::solve_retval < SparseLLT< MatrixType >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Derived > | |
bool | solveInPlace (MatrixBase< Derived > &b) const |
SparseLLT (int flags=0) | |
SparseLLT (const MatrixType &matrix, int flags=0) | |
bool | succeeded (void) const |
Protected Types | |
enum | { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 } |
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> SparseLLT< _MatrixType, Backend >::CholMatrixType |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 51 of file SparseLLT.h.
typedef MatrixType::Index SparseLLT< _MatrixType, Backend >::Index |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 53 of file SparseLLT.h.
typedef _MatrixType SparseLLT< _MatrixType, Backend >::MatrixType |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 52 of file SparseLLT.h.
typedef NumTraits<typename _MatrixType::Scalar>::Real SparseLLT< _MatrixType, Backend >::RealScalar [protected] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 43 of file SparseLLT.h.
typedef _MatrixType::Scalar SparseLLT< _MatrixType, Backend >::Scalar [protected] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 42 of file SparseLLT.h.
anonymous enum [protected] |
Definition at line 45 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 >.
Definition at line 56 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 >.
Definition at line 64 of file SparseLLT.h.
Index SparseLLT< _MatrixType, Backend >::cols | ( | void | ) | const [inline] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 122 of file SparseLLT.h.
void SparseLLT< _MatrixType, Backend >::compute | ( | const MatrixType & | matrix | ) |
Computes/re-computes the LLT factorization
Computes / recomputes the LLT decomposition of matrix a using the default algorithm.
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 170 of file SparseLLT.h.
int SparseLLT< _MatrixType, Backend >::flags | ( | ) | const [inline] |
Definition at line 103 of file SparseLLT.h.
const CholMatrixType& SparseLLT< _MatrixType, Backend >::matrixL | ( | void | ) | const [inline] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 109 of file SparseLLT.h.
RealScalar SparseLLT< _MatrixType, Backend >::precision | ( | ) | const [inline] |
Index SparseLLT< _MatrixType, Backend >::rows | ( | void | ) | const [inline] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 123 of file SparseLLT.h.
void SparseLLT< _MatrixType, Backend >::setFlags | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
Definition at line 101 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 84 of file SparseLLT.h.
const internal::solve_retval<SparseLLT<MatrixType>, Rhs> SparseLLT< _MatrixType, Backend >::solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 116 of file SparseLLT.h.
bool SparseLLT< _MatrixType, Backend >::solveInPlace | ( | MatrixBase< Derived > & | b | ) | const |
Computes b = L^-T L^-1 b
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 234 of file SparseLLT.h.
bool SparseLLT< _MatrixType, Backend >::succeeded | ( | void | ) | const [inline] |
Reimplemented in SparseLLT< _MatrixType, Cholmod >.
Definition at line 126 of file SparseLLT.h.
int SparseLLT< _MatrixType, Backend >::m_flags [protected] |
Definition at line 131 of file SparseLLT.h.
CholMatrixType SparseLLT< _MatrixType, Backend >::m_matrix [protected] |
Definition at line 129 of file SparseLLT.h.
RealScalar SparseLLT< _MatrixType, Backend >::m_precision [protected] |
Definition at line 130 of file SparseLLT.h.
int SparseLLT< _MatrixType, Backend >::m_status [mutable, protected] |
Definition at line 132 of file SparseLLT.h.
bool SparseLLT< _MatrixType, Backend >::m_succeeded [protected] |
Definition at line 133 of file SparseLLT.h.