A sparse direct incomplete LU factorization and solver based on the SuperLU library. More...
#include <SuperLUSupport.h>
Public Types | |
typedef SuperLUBase < _MatrixType, SuperILU > | Base |
typedef Base::Index | Index |
typedef Matrix< int, MatrixType::RowsAtCompileTime, 1 > | IntColVectorType |
typedef Matrix< int, 1, MatrixType::ColsAtCompileTime > | IntRowVectorType |
typedef SparseMatrix< Scalar > | LUMatrixType |
typedef _MatrixType | MatrixType |
typedef Base::RealScalar | RealScalar |
typedef Base::Scalar | Scalar |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
Index | cols () const |
void | compute (const MatrixType &matrix) |
SuperILU< _MatrixType > & | derived () |
const SuperILU< _MatrixType > & | derived () const |
void | dumpMemory (Stream &s) |
void | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
superlu_options_t & | options () |
Index | rows () const |
const internal::solve_retval < SuperLUBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
SuperILU () | |
SuperILU (const MatrixType &matrix) | |
~SuperILU () |
Protected Member Functions | |
void | clearFactors () |
void | extractData () const |
void | init () |
void | initFactorization (const MatrixType &a) |
A sparse direct incomplete LU factorization and solver based on the SuperLU library.
This class allows to solve for an approximate solution of A.X = B sparse linear problems via an incomplete LU factorization using the SuperLU library. This class is aimed to be used as a preconditioner of the iterative linear solvers.
_MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
typedef SuperLUBase<_MatrixType,SuperILU> Base |
typedef Base::Index Index |
|
inherited |
|
inherited |
|
inherited |
typedef _MatrixType MatrixType |
typedef Base::RealScalar RealScalar |
typedef Base::Scalar Scalar |
|
inline |
References SuperILU< _MatrixType >::init().
|
inline |
|
inline |
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::analyzePattern().
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
Computes the sparse Cholesky decomposition of matrix
References SuperLUBase< _MatrixType, Derived >::derived().
Referenced by SuperILU< _MatrixType >::SuperILU().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
void factorize | ( | const MatrixType & | matrix | ) |
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.
References eigen_assert, Eigen::InvalidInput, Eigen::NumericalIssue, and Eigen::Success.
|
inlineinherited |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative. References eigen_assert, SuperLUBase< _MatrixType, Derived >::m_info, and SuperLUBase< _MatrixType, Derived >::m_isInitialized.
|
inlineprotected |
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::init(), and SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::m_sluOptions.
Referenced by SuperILU< _MatrixType >::SuperILU().
|
inlineprotectedinherited |
References Eigen::internal::asSluMatrix(), SuperLUBase< _MatrixType, Derived >::clearFactors(), SluMatrix::lda, SuperLUBase< _MatrixType, Derived >::m_extractedDataAreDirty, SuperLUBase< _MatrixType, Derived >::m_matrix, SuperLUBase< _MatrixType, Derived >::m_p, SuperLUBase< _MatrixType, Derived >::m_q, SuperLUBase< _MatrixType, Derived >::m_sluA, SuperLUBase< _MatrixType, Derived >::m_sluB, SuperLUBase< _MatrixType, Derived >::m_sluCscale, SuperLUBase< _MatrixType, Derived >::m_sluEtree, SuperLUBase< _MatrixType, Derived >::m_sluOptions, SuperLUBase< _MatrixType, Derived >::m_sluRscale, SuperLUBase< _MatrixType, Derived >::m_sluX, PlainObjectBase< Derived >::resize(), SluMatrix::setScalarType(), SluMatrix::setStorageType(), SluMatrix::storage, and SluMatrix::values.
|
inlineinherited |
References SuperLUBase< _MatrixType, Derived >::m_sluOptions.
|
inlineinherited |
|
inlineinherited |
References eigen_assert, SuperLUBase< _MatrixType, Derived >::m_isInitialized, and SuperLUBase< _MatrixType, Derived >::rows().
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
Referenced by SuperILU< _MatrixType >::init().
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |