Modified Incomplete Cholesky with dual threshold. More...
Public Types | |
enum | { UpLo } |
enum | { ColsAtCompileTime , MaxColsAtCompileTime } |
typedef SparseMatrix< Scalar, ColMajor, StorageIndex > | FactorType |
typedef OrderingType_ | OrderingType |
typedef OrderingType::PermutationType | PermutationType |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef PermutationType::StorageIndex | StorageIndex |
typedef Matrix< StorageIndex, Dynamic, 1 > | VectorIx |
typedef std::vector< std::list< StorageIndex > > | VectorList |
typedef Matrix< RealScalar, Dynamic, 1 > | VectorRx |
typedef Matrix< Scalar, Dynamic, 1 > | VectorSx |
Public Member Functions | |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const Rhs &b, Dest &x) const |
template<typename MatrixType > | |
void | analyzePattern (const MatrixType &mat) |
Computes the fill reducing permutation vector using the sparsity pattern of mat. More... | |
EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT |
template<typename MatrixType > | |
void | compute (const MatrixType &mat) |
template<typename MatrixType > | |
void | factorize (const MatrixType &mat) |
Performs the numerical factorization of the input matrix mat. More... | |
template<typename MatrixType_ > | |
void | factorize (const MatrixType_ &mat) |
IncompleteCholesky () | |
template<typename MatrixType > | |
IncompleteCholesky (const MatrixType &matrix) | |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
const FactorType & | matrixL () const |
const PermutationType & | permutationP () const |
EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT |
const VectorRx & | scalingS () const |
void | setInitialShift (RealScalar shift) |
Set the initial shift parameter | |
![]() | |
IncompleteCholesky< Scalar, Lower, AMDOrdering< int > > & | derived () |
const IncompleteCholesky< Scalar, Lower, AMDOrdering< int > > & | derived () const |
const Solve< IncompleteCholesky< Scalar, Lower, AMDOrdering< int > >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const Solve< IncompleteCholesky< Scalar, Lower, AMDOrdering< int > >, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
SparseSolverBase () | |
SparseSolverBase (SparseSolverBase &&other) | |
~SparseSolverBase () | |
Protected Types | |
typedef SparseSolverBase< IncompleteCholesky< Scalar, UpLo_, OrderingType_ > > | Base |
Protected Attributes | |
bool | m_analysisIsOk |
bool | m_factorizationIsOk |
ComputationInfo | m_info |
RealScalar | m_initialShift |
bool | m_isInitialized |
FactorType | m_L |
PermutationType | m_perm |
VectorRx | m_scale |
![]() | |
bool | m_isInitialized |
Private Member Functions | |
void | updateList (Ref< const VectorIx > colPtr, Ref< VectorIx > rowIdx, Ref< VectorSx > vals, const Index &col, const Index &jk, VectorIx &firstElt, VectorList &listCol) |
Modified Incomplete Cholesky with dual threshold.
References : C-J. Lin and J. J. Moré, Incomplete Cholesky Factorizations with Limited memory, SIAM J. Sci. Comput. 21(1), pp. 24-45, 1999
Scalar | the scalar type of the input matrices |
UpLo_ | The triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower. |
OrderingType_ | The ordering method to use, either AMDOrdering<> or NaturalOrdering<>. Default is AMDOrdering<int>. |
This class follows the sparse solver concept .
It performs the following incomplete factorization:
Shifting strategy: Let
Definition at line 46 of file IncompleteCholesky.h.
|
protected |
Definition at line 49 of file IncompleteCholesky.h.
typedef SparseMatrix<Scalar,ColMajor,StorageIndex> Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::FactorType |
Definition at line 56 of file IncompleteCholesky.h.
typedef OrderingType_ Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::OrderingType |
Definition at line 53 of file IncompleteCholesky.h.
typedef OrderingType::PermutationType Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::PermutationType |
Definition at line 54 of file IncompleteCholesky.h.
typedef NumTraits<Scalar>::Real Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::RealScalar |
Definition at line 52 of file IncompleteCholesky.h.
typedef PermutationType::StorageIndex Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::StorageIndex |
Definition at line 55 of file IncompleteCholesky.h.
typedef Matrix<StorageIndex,Dynamic, 1> Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::VectorIx |
Definition at line 59 of file IncompleteCholesky.h.
typedef std::vector<std::list<StorageIndex> > Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::VectorList |
Definition at line 60 of file IncompleteCholesky.h.
typedef Matrix<RealScalar,Dynamic,1> Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::VectorRx |
Definition at line 58 of file IncompleteCholesky.h.
typedef Matrix<Scalar,Dynamic,1> Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::VectorSx |
Definition at line 57 of file IncompleteCholesky.h.
anonymous enum |
anonymous enum |
Enumerator | |
---|---|
ColsAtCompileTime | |
MaxColsAtCompileTime |
Definition at line 62 of file IncompleteCholesky.h.
|
inline |
Default constructor leaving the object in a partly non-initialized stage.
You must call compute() or the pair analyzePattern()/factorize() to make it valid.
Definition at line 74 of file IncompleteCholesky.h.
|
inline |
Constructor computing the incomplete factorization for the given matrix matrix.
Definition at line 79 of file IncompleteCholesky.h.
|
inline |
Definition at line 150 of file IncompleteCholesky.h.
|
inline |
Computes the fill reducing permutation vector using the sparsity pattern of mat.
Definition at line 112 of file IncompleteCholesky.h.
|
inline |
Definition at line 88 of file IncompleteCholesky.h.
|
inline |
Computes or re-computes the incomplete Cholesky factorization of the input matrix mat
It is a shortcut for a sequential call to the analyzePattern() and factorize() methods.
Definition at line 142 of file IncompleteCholesky.h.
void Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::factorize | ( | const MatrixType & | mat | ) |
Performs the numerical factorization of the input matrix mat.
The method analyzePattern() or compute() must have been called beforehand with a matrix having the same pattern.
void Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >::factorize | ( | const MatrixType_ & | mat | ) |
Definition at line 191 of file IncompleteCholesky.h.
|
inline |
Reports whether previous computation was successful.
It triggers an assertion if *this
has not been initialized through the respective constructor, or a call to compute() or analyzePattern().
Success
if computation was successful, NumericalIssue
if the matrix appears to be negative. Definition at line 99 of file IncompleteCholesky.h.
|
inline |
Definition at line 164 of file IncompleteCholesky.h.
|
inline |
Definition at line 170 of file IncompleteCholesky.h.
|
inline |
Definition at line 85 of file IncompleteCholesky.h.
|
inline |
Definition at line 167 of file IncompleteCholesky.h.
|
inline |
|
inlineprivate |
Definition at line 374 of file IncompleteCholesky.h.
|
protected |
Definition at line 176 of file IncompleteCholesky.h.
|
protected |
Definition at line 177 of file IncompleteCholesky.h.
|
protected |
Definition at line 178 of file IncompleteCholesky.h.
|
protected |
Definition at line 175 of file IncompleteCholesky.h.
|
mutableprotected |
Definition at line 123 of file SparseSolverBase.h.
|
protected |
Definition at line 173 of file IncompleteCholesky.h.
|
protected |
Definition at line 179 of file IncompleteCholesky.h.
|
protected |
Definition at line 174 of file IncompleteCholesky.h.