A direct sparse LLT Cholesky factorizations. More...
#include <SimplicialCholesky.h>
Public Types | |
enum | |
enum | { UpLo } |
typedef SimplicialCholeskyBase < SimplicialLLT > | Base |
typedef SparseMatrix< Scalar, ColMajor, Index > | CholMatrixType |
typedef MatrixType::Index | Index |
typedef Traits::MatrixL | MatrixL |
typedef _MatrixType | MatrixType |
typedef Traits::MatrixU | MatrixU |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef internal::traits < SimplicialLLT > | Traits |
typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
Public Member Functions | |
void | analyzePattern (const MatrixType &a) |
Index | cols () const |
SimplicialLLT & | compute (const MatrixType &matrix) |
SimplicialLLT< _MatrixType, _UpLo > & | derived () |
const SimplicialLLT < _MatrixType, _UpLo > & | derived () const |
Scalar | determinant () const |
void | factorize (const MatrixType &a) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
const MatrixL | matrixL () const |
const MatrixU | matrixU () const |
const PermutationMatrix < Dynamic, Dynamic, Index > & | permutationP () const |
const PermutationMatrix < Dynamic, Dynamic, Index > & | permutationPinv () const |
Index | rows () const |
SimplicialLLT< _MatrixType, _UpLo > & | setShift (const RealScalar &offset, const RealScalar &scale=1) |
SimplicialLLT () | |
SimplicialLLT (const MatrixType &matrix) | |
const internal::solve_retval < SimplicialCholeskyBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const internal::sparse_solve_retval < SimplicialCholeskyBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
Protected Member Functions | |
void | analyzePattern (const MatrixType &a, bool doLDLT) |
void | analyzePattern_preordered (const CholMatrixType &a, bool doLDLT) |
void | factorize_preordered (const CholMatrixType &a) |
void | ordering (const MatrixType &a, CholMatrixType &ap) |
A direct sparse LLT Cholesky factorizations.
This class provides a LL^T Cholesky factorizations of sparse matrices that are selfadjoint and positive definite. The factorization allows for solving A.X = B where X and B can be either dense or sparse.
In order to reduce the fill-in, a symmetric permutation P is applied prior to the factorization such that the factorized matrix is P A P^-1.
_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. |
typedef SimplicialCholeskyBase<SimplicialLLT> Base |
typedef SparseMatrix<Scalar,ColMajor,Index> CholMatrixType |
typedef MatrixType::Index Index |
typedef Traits::MatrixL MatrixL |
typedef _MatrixType MatrixType |
typedef Traits::MatrixU MatrixU |
typedef MatrixType::RealScalar RealScalar |
typedef MatrixType::Scalar Scalar |
typedef internal::traits<SimplicialLLT> Traits |
typedef Matrix<Scalar,Dynamic,1> VectorType |
|
inherited |
|
inline |
Default constructor
|
inline |
Constructs and performs the LLT factorization of matrix
|
inlineprotectedinherited |
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
References SimplicialCholeskyBase< Derived >::analyzePattern().
|
protectedinherited |
|
inlineinherited |
|
inline |
Computes the sparse Cholesky decomposition of matrix
Reimplemented from SimplicialCholeskyBase< SimplicialLLT< _MatrixType, _UpLo > >.
|
inlineinherited |
|
inlineinherited |
|
inline |
References abs2(), SparseMatrix< _Scalar, _Options, _Index >::diagonal(), and SimplicialCholeskyBase< Derived >::m_matrix.
|
inline |
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.
Reimplemented from SimplicialCholeskyBase< SimplicialLLT< _MatrixType, _UpLo > >.
|
protectedinherited |
|
inlineinherited |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative.
|
inline |
References eigen_assert, SimplicialCholeskyBase< Derived >::m_factorizationIsOk, and SimplicialCholeskyBase< Derived >::m_matrix.
|
inline |
References eigen_assert, SimplicialCholeskyBase< Derived >::m_factorizationIsOk, and SimplicialCholeskyBase< Derived >::m_matrix.
|
protectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Sets the shift parameters that will be used to adjust the diagonal coefficients during the numerical factorization.
During the numerical factorization, the diagonal coefficients are transformed by the following linear model:
d_ii
= offset + scale * d_ii
The default is the identity transformation with offset=0, and scale=1.
*this
.
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |