Medial Code Documentation
|
A direct sparse Cholesky factorizations. More...
#include <SimplicialCholesky.h>
Data Structures | |
struct | keep_diag |
keeps off-diagonal entries; drops diagonal entries More... | |
Public Types | |
enum | { UpLo = internal::traits<Derived>::UpLo } |
enum | { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
typedef internal::traits< Derived >::MatrixType | MatrixType |
typedef internal::traits< Derived >::OrderingType | OrderingType |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::StorageIndex | StorageIndex |
typedef SparseMatrix< Scalar, ColMajor, StorageIndex > | CholMatrixType |
typedef CholMatrixType const * | ConstCholMatrixPtr |
typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
typedef Matrix< StorageIndex, Dynamic, 1 > | VectorI |
Public Member Functions | |
SimplicialCholeskyBase () | |
Default constructor. | |
SimplicialCholeskyBase (const MatrixType &matrix) | |
Derived & | derived () |
const Derived & | derived () const |
Index | cols () const |
Index | rows () const |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
const PermutationMatrix< Dynamic, Dynamic, StorageIndex > & | permutationP () const |
const PermutationMatrix< Dynamic, Dynamic, StorageIndex > & | permutationPinv () const |
Derived & | setShift (const RealScalar &offset, const RealScalar &scale=1) |
Sets the shift parameters that will be used to adjust the diagonal coefficients during the numerical factorization. | |
template<typename Stream > | |
void | dumpMemory (Stream &s) |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
Derived & | derived () |
const Derived & | derived () const |
![]() | |
SparseSolverBase () | |
Default constructor. | |
Derived & | derived () |
const Derived & | derived () const |
template<typename Rhs > | |
const Solve< Derived, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Rhs > | |
const Solve< Derived, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
Protected Member Functions | |
template<bool DoLDLT> | |
void | compute (const MatrixType &matrix) |
Computes the sparse Cholesky decomposition of matrix. | |
template<bool DoLDLT> | |
void | factorize (const MatrixType &a) |
template<bool DoLDLT> | |
void | factorize_preordered (const CholMatrixType &a) |
void | analyzePattern (const MatrixType &a, bool doLDLT) |
void | analyzePattern_preordered (const CholMatrixType &a, bool doLDLT) |
void | ordering (const MatrixType &a, ConstCholMatrixPtr &pmat, CholMatrixType &ap) |
Protected Attributes | |
ComputationInfo | m_info |
bool | m_factorizationIsOk |
bool | m_analysisIsOk |
CholMatrixType | m_matrix |
VectorType | m_diag |
VectorI | m_parent |
VectorI | m_nonZerosPerCol |
PermutationMatrix< Dynamic, Dynamic, StorageIndex > | m_P |
PermutationMatrix< Dynamic, Dynamic, StorageIndex > | m_Pinv |
RealScalar | m_shiftOffset |
RealScalar | m_shiftScale |
![]() | |
bool | m_isInitialized |
A direct sparse Cholesky factorizations.
These classes provide LL^T and LDL^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. |
|
inline |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative.
|
inline |
|
inline |
|
inline |
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
.