A sparse direct incomplete LU factorization and solver based on the SuperLU library. More...
#include <SuperLUSupport.h>
Inheritance diagram for SuperILU< _MatrixType >: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 |
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
|
inherited |
|
inherited |
|
inherited |
| typedef _MatrixType MatrixType |
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
| typedef Base::RealScalar RealScalar |
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
| typedef Base::Scalar Scalar |
Reimplemented from SuperLUBase< _MatrixType, SuperILU< _MatrixType > >.
|
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 |
using the current decomposition of A.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 |
1.8.1.1