|
MOAB
4.9.3pre
|
A direct sparse LDLT Cholesky factorizations without square root. More...
#include <SimplicialCholesky.h>


Public Types | |
| enum | { UpLo = _UpLo } |
| typedef _MatrixType | MatrixType |
| typedef SimplicialCholeskyBase < SimplicialLDLT > | Base |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType::StorageIndex | StorageIndex |
| typedef SparseMatrix< Scalar, ColMajor, StorageIndex > | CholMatrixType |
| typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
| typedef internal::traits < SimplicialLDLT > | Traits |
| typedef Traits::MatrixL | MatrixL |
| typedef Traits::MatrixU | MatrixU |
Public Member Functions | |
| SimplicialLDLT () | |
| SimplicialLDLT (const MatrixType &matrix) | |
| const VectorType | vectorD () const |
| const MatrixL | matrixL () const |
| const MatrixU | matrixU () const |
| SimplicialLDLT & | compute (const MatrixType &matrix) |
| void | analyzePattern (const MatrixType &a) |
| void | factorize (const MatrixType &a) |
| Scalar | determinant () const |
A direct sparse LDLT Cholesky factorizations without square root.
This class provides a LDL^T Cholesky factorizations without square root 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. |
| _Ordering | The ordering method to use, either AMDOrdering<> or NaturalOrdering<>. Default is AMDOrdering<> |
Definition at line 421 of file SimplicialCholesky.h.
| typedef SimplicialCholeskyBase<SimplicialLDLT> Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::Base |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 426 of file SimplicialCholesky.h.
| typedef SparseMatrix<Scalar,ColMajor,StorageIndex> Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::CholMatrixType |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 430 of file SimplicialCholesky.h.
| typedef Traits::MatrixL Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::MatrixL |
Definition at line 433 of file SimplicialCholesky.h.
| typedef _MatrixType Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::MatrixType |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 424 of file SimplicialCholesky.h.
| typedef Traits::MatrixU Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::MatrixU |
Definition at line 434 of file SimplicialCholesky.h.
| typedef MatrixType::RealScalar Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::RealScalar |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 428 of file SimplicialCholesky.h.
| typedef MatrixType::Scalar Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::Scalar |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 427 of file SimplicialCholesky.h.
| typedef MatrixType::StorageIndex Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::StorageIndex |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 429 of file SimplicialCholesky.h.
| typedef internal::traits<SimplicialLDLT> Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::Traits |
Definition at line 432 of file SimplicialCholesky.h.
| typedef Matrix<Scalar,Dynamic,1> Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::VectorType |
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 431 of file SimplicialCholesky.h.
| anonymous enum |
| Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::SimplicialLDLT | ( | ) | [inline] |
| Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::SimplicialLDLT | ( | const MatrixType & | matrix | ) | [inline, explicit] |
Constructs and performs the LLT factorization of matrix
Definition at line 440 of file SimplicialCholesky.h.
: Base(matrix) {}
| void Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::analyzePattern | ( | const MatrixType & | a | ) | [inline] |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
Definition at line 473 of file SimplicialCholesky.h.
{
Base::analyzePattern(a, true);
}
| SimplicialLDLT& Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::compute | ( | const MatrixType & | matrix | ) | [inline] |
Computes the sparse Cholesky decomposition of matrix
Reimplemented from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 461 of file SimplicialCholesky.h.
{
Base::template compute<true>(matrix);
return *this;
}
| Scalar Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::determinant | ( | ) | const [inline] |
Definition at line 490 of file SimplicialCholesky.h.
{
return Base::m_diag.prod();
}
| void Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::factorize | ( | const MatrixType & | a | ) | [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 Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >.
Definition at line 484 of file SimplicialCholesky.h.
{
Base::template factorize<true>(a);
}
| const MatrixL Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::matrixL | ( | ) | const [inline] |
Definition at line 449 of file SimplicialCholesky.h.
{
eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
return Traits::getL(Base::m_matrix);
}
| const MatrixU Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::matrixU | ( | ) | const [inline] |
Definition at line 455 of file SimplicialCholesky.h.
{
eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
return Traits::getU(Base::m_matrix);
}
| const VectorType Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::vectorD | ( | ) | const [inline] |
Definition at line 444 of file SimplicialCholesky.h.
{
eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
return Base::m_diag;
}