A direct sparse Cholesky factorizations. More...
#include <SimplicialCholesky.h>
Classes | |
struct | keep_diag |
Public Types | |
enum | { UpLo = internal::traits<Derived>::UpLo } |
typedef SparseMatrix< Scalar, ColMajor, Index > | CholMatrixType |
typedef MatrixType::Index | Index |
typedef internal::traits< Derived >::MatrixType | MatrixType |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
Public Member Functions | |
template<typename Rhs , typename Dest > | |
void | _solve (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const |
Index | cols () const |
Derived & | derived () |
const Derived & | derived () const |
template<typename Stream > | |
void | dumpMemory (Stream &s) |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
const PermutationMatrix< Dynamic, Dynamic, Index > & | permutationP () const |
const PermutationMatrix< Dynamic, Dynamic, Index > & | permutationPinv () const |
Index | rows () const |
Derived & | setShift (const RealScalar &offset, const RealScalar &scale=1) |
SimplicialCholeskyBase () | |
SimplicialCholeskyBase (const MatrixType &matrix) | |
template<typename Rhs > | |
const internal::solve_retval< SimplicialCholeskyBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Rhs > | |
const internal::sparse_solve_retval< SimplicialCholeskyBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
~SimplicialCholeskyBase () | |
Protected Member Functions | |
void | analyzePattern (const MatrixType &a, bool doLDLT) |
void | analyzePattern_preordered (const CholMatrixType &a, bool doLDLT) |
template<bool DoLDLT> | |
void | compute (const MatrixType &matrix) |
template<bool DoLDLT> | |
void | factorize (const MatrixType &a) |
template<bool DoLDLT> | |
void | factorize_preordered (const CholMatrixType &a) |
void | ordering (const MatrixType &a, CholMatrixType &ap) |
Protected Attributes | |
bool | m_analysisIsOk |
VectorType | m_diag |
bool | m_factorizationIsOk |
ComputationInfo | m_info |
bool | m_isInitialized |
CholMatrixType | m_matrix |
VectorXi | m_nonZerosPerCol |
PermutationMatrix< Dynamic, Dynamic, Index > | m_P |
VectorXi | m_parent |
PermutationMatrix< Dynamic, Dynamic, Index > | m_Pinv |
RealScalar | m_shiftOffset |
RealScalar | m_shiftScale |
Additional Inherited Members | |
Private Member Functions inherited from Eigen::internal::noncopyable | |
noncopyable () | |
~noncopyable () | |
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. |
Definition at line 36 of file SimplicialCholesky.h.
typedef SparseMatrix<Scalar,ColMajor,Index> Eigen::SimplicialCholeskyBase< Derived >::CholMatrixType |
Definition at line 44 of file SimplicialCholesky.h.
typedef MatrixType::Index Eigen::SimplicialCholeskyBase< Derived >::Index |
Definition at line 43 of file SimplicialCholesky.h.
typedef internal::traits<Derived>::MatrixType Eigen::SimplicialCholeskyBase< Derived >::MatrixType |
Definition at line 39 of file SimplicialCholesky.h.
typedef MatrixType::RealScalar Eigen::SimplicialCholeskyBase< Derived >::RealScalar |
Definition at line 42 of file SimplicialCholesky.h.
typedef MatrixType::Scalar Eigen::SimplicialCholeskyBase< Derived >::Scalar |
Definition at line 41 of file SimplicialCholesky.h.
typedef Matrix<Scalar,Dynamic,1> Eigen::SimplicialCholeskyBase< Derived >::VectorType |
Definition at line 45 of file SimplicialCholesky.h.
anonymous enum |
Enumerator | |
---|---|
UpLo |
Definition at line 40 of file SimplicialCholesky.h.
|
inline |
Default constructor
Definition at line 50 of file SimplicialCholesky.h.
|
inline |
Definition at line 54 of file SimplicialCholesky.h.
|
inline |
Definition at line 60 of file SimplicialCholesky.h.
|
inline |
Definition at line 152 of file SimplicialCholesky.h.
|
inlineprotected |
Definition at line 207 of file SimplicialCholesky.h.
|
protected |
Definition at line 51 of file SimplicialCholesky_impl.h.
|
inline |
Definition at line 67 of file SimplicialCholesky.h.
|
inlineprotected |
Computes the sparse Cholesky decomposition of matrix
Definition at line 184 of file SimplicialCholesky.h.
|
inline |
Definition at line 64 of file SimplicialCholesky.h.
|
inline |
Definition at line 65 of file SimplicialCholesky.h.
|
inline |
Definition at line 138 of file SimplicialCholesky.h.
|
inlineprotected |
Definition at line 195 of file SimplicialCholesky.h.
|
protected |
Definition at line 101 of file SimplicialCholesky_impl.h.
|
inline |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative. Definition at line 75 of file SimplicialCholesky.h.
|
protected |
Definition at line 611 of file SimplicialCholesky.h.
|
inline |
Definition at line 111 of file SimplicialCholesky.h.
|
inline |
Definition at line 116 of file SimplicialCholesky.h.
|
inline |
Definition at line 68 of file SimplicialCholesky.h.
|
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
. Definition at line 128 of file SimplicialCholesky.h.
|
inline |
Definition at line 87 of file SimplicialCholesky.h.
|
inline |
Definition at line 101 of file SimplicialCholesky.h.
|
protected |
Definition at line 230 of file SimplicialCholesky.h.
|
protected |
Definition at line 233 of file SimplicialCholesky.h.
|
protected |
Definition at line 229 of file SimplicialCholesky.h.
|
mutableprotected |
Definition at line 227 of file SimplicialCholesky.h.
|
protected |
Definition at line 228 of file SimplicialCholesky.h.
|
protected |
Definition at line 232 of file SimplicialCholesky.h.
|
protected |
Definition at line 235 of file SimplicialCholesky.h.
|
protected |
Definition at line 236 of file SimplicialCholesky.h.
|
protected |
Definition at line 234 of file SimplicialCholesky.h.
|
protected |
Definition at line 237 of file SimplicialCholesky.h.
|
protected |
Definition at line 239 of file SimplicialCholesky.h.
|
protected |
Definition at line 240 of file SimplicialCholesky.h.