A sparse direct LU factorization and solver based on the SuperLU library. More...
#include <SuperLUSupport.h>
A sparse direct LU factorization and solver based on the SuperLU library.
This class allows to solve for A.X = B sparse linear problems via a direct LU factorization using the SuperLU library. The sparse matrix A must be squared and invertible. The vectors or matrices X and B can be either dense or sparse.
_MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
typedef SuperLUBase<_MatrixType,SuperLU> Base |
typedef Base::Index Index |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
typedef TriangularView<LUMatrixType, Lower|UnitDiag> LMatrixType |
typedef Base::LUMatrixType LUMatrixType |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
typedef _MatrixType MatrixType |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
typedef Base::RealScalar RealScalar |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
typedef Base::Scalar Scalar |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
typedef TriangularView<LUMatrixType, Upper> UMatrixType |
SuperLU | ( | ) | [inline] |
References SuperLU< _MatrixType >::init().
SuperLU | ( | const MatrixType & | matrix | ) | [inline] |
~SuperLU | ( | ) | [inline] |
void analyzePattern | ( | const MatrixType & | matrix | ) | [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, SuperLU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::analyzePattern(), Eigen::InvalidInput, SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_info, and SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_isInitialized.
void clearFactors | ( | ) | [inline, protected, inherited] |
void compute | ( | const MatrixType & | matrix | ) | [inline, inherited] |
Computes the sparse Cholesky decomposition of matrix
Referenced by SuperLU< _MatrixType >::SuperLU().
SuperLU< MatrixType >::Scalar determinant | ( | ) | const |
void dumpMemory | ( | Stream & | s | ) | [inline, inherited] |
void extractData | ( | ) | const [protected, inherited] |
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::InvalidInput, Eigen::NumericalIssue, and Eigen::Success.
ComputationInfo info | ( | ) | const [inline, inherited] |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative. void init | ( | ) | [inline, protected] |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::init(), and SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_sluOptions.
Referenced by SuperLU< _MatrixType >::SuperLU().
void initFactorization | ( | const MatrixType & | a | ) | [inline, protected, inherited] |
const LMatrixType& matrixL | ( | ) | const [inline] |
const UMatrixType& matrixU | ( | ) | const [inline] |
superlu_options_t& options | ( | ) | [inline, inherited] |
const IntColVectorType& permutationP | ( | ) | const [inline] |
const IntRowVectorType& permutationQ | ( | ) | const [inline] |
const internal::solve_retval<SuperLUBase, Rhs> solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline, inherited] |
int m_analysisIsOk [protected, inherited] |
bool m_extractedDataAreDirty [mutable, protected, inherited] |
int m_factorizationIsOk [protected, inherited] |
ComputationInfo m_info [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::analyzePattern().
bool m_isInitialized [protected, inherited] |
Referenced by SuperLU< _MatrixType >::analyzePattern().
LUMatrixType m_l [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::matrixL().
LUMatrixType m_matrix [mutable, protected, inherited] |
IntColVectorType m_p [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::permutationP().
IntRowVectorType m_q [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::permutationQ().
Matrix<RealScalar,Dynamic,1> m_sluBerr [mutable, protected, inherited] |
Matrix<RealScalar,Dynamic,1> m_sluCscale [mutable, protected, inherited] |
char m_sluEqued [mutable, protected, inherited] |
std::vector<int> m_sluEtree [mutable, protected, inherited] |
Matrix<RealScalar,Dynamic,1> m_sluFerr [mutable, protected, inherited] |
SuperMatrix m_sluL [mutable, protected, inherited] |
superlu_options_t m_sluOptions [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::init().
Matrix<RealScalar,Dynamic,1> m_sluRscale [mutable, protected, inherited] |
SuperLUStat_t m_sluStat [mutable, protected, inherited] |
SuperMatrix m_sluU [mutable, protected, inherited] |
LUMatrixType m_u [mutable, protected, inherited] |
Referenced by SuperLU< _MatrixType >::matrixU().