A sparse direct LU factorization and solver based on the SuperLU library. More...
#include <SuperLUSupport.h>
Public Types | |
typedef SuperLUBase < _MatrixType, SuperLU > | Base |
typedef Base::Index | Index |
typedef Base::IntColVectorType | IntColVectorType |
typedef Base::IntRowVectorType | IntRowVectorType |
typedef TriangularView < LUMatrixType, Lower|UnitDiag > | LMatrixType |
typedef Base::LUMatrixType | LUMatrixType |
typedef _MatrixType | MatrixType |
typedef Base::RealScalar | RealScalar |
typedef Base::Scalar | Scalar |
typedef TriangularView < LUMatrixType, Upper > | UMatrixType |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
Index | cols () const |
void | compute (const MatrixType &matrix) |
SuperLU< _MatrixType > & | derived () |
const SuperLU< _MatrixType > & | derived () const |
Scalar | determinant () const |
void | dumpMemory (Stream &s) |
void | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
const LMatrixType & | matrixL () const |
const UMatrixType & | matrixU () const |
superlu_options_t & | options () |
const IntColVectorType & | permutationP () const |
const IntRowVectorType & | permutationQ () const |
Index | rows () const |
const internal::solve_retval < SuperLUBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
SuperLU () | |
SuperLU (const MatrixType &matrix) | |
~SuperLU () |
Protected Member Functions | |
void | clearFactors () |
void | extractData () const |
void | init () |
void | initFactorization (const MatrixType &a) |
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 |
typedef TriangularView<LUMatrixType, Lower|UnitDiag> LMatrixType |
typedef Base::LUMatrixType LUMatrixType |
typedef _MatrixType MatrixType |
typedef Base::RealScalar RealScalar |
typedef Base::Scalar Scalar |
typedef TriangularView<LUMatrixType, Upper> UMatrixType |
|
inline |
References SuperLU< _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, SuperLU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::analyzePattern(), Eigen::InvalidInput, SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_info, and SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_isInitialized.
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
Computes the sparse Cholesky decomposition of matrix
Referenced by SuperLU< _MatrixType >::SuperLU().
|
inlineinherited |
|
inlineinherited |
SuperLU< MatrixType >::Scalar determinant | ( | ) | const |
References eigen_assert.
|
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.
|
inlineprotected |
Reimplemented from SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.
References SuperLUBase< _MatrixType, Derived >::init(), and SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::m_sluOptions.
Referenced by SuperLU< _MatrixType >::SuperLU().
|
inlineprotectedinherited |
|
inline |
|
inline |
|
inlineinherited |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::analyzePattern().
|
protectedinherited |
Referenced by SuperLU< _MatrixType >::analyzePattern().
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::matrixL().
|
mutableprotectedinherited |
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::permutationP().
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::permutationQ().
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::init().
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
Referenced by SuperLU< _MatrixType >::matrixU().