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 |
Public Types inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > > | |
typedef MatrixType::Index | Index |
typedef Matrix< int, MatrixType::RowsAtCompileTime, 1 > | IntColVectorType |
typedef Matrix< int, 1, MatrixType::ColsAtCompileTime > | IntRowVectorType |
typedef SparseMatrix< Scalar > | LUMatrixType |
typedef _MatrixType | MatrixType |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Public Member Functions | |
template<typename Rhs , typename Dest > | |
void | _solve (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const |
void | analyzePattern (const MatrixType &matrix) |
Scalar | determinant () const |
void | factorize (const MatrixType &matrix) |
const LMatrixType & | matrixL () const |
const UMatrixType & | matrixU () const |
const IntColVectorType & | permutationP () const |
const IntRowVectorType & | permutationQ () const |
SuperLU () | |
SuperLU (const MatrixType &matrix) | |
~SuperLU () | |
Public Member Functions inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > > | |
void | analyzePattern (const MatrixType &) |
Index | cols () const |
void | compute (const MatrixType &matrix) |
SuperLU< _MatrixType > & | derived () |
const SuperLU< _MatrixType > & | derived () const |
void | dumpMemory (Stream &) |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
superlu_options_t & | options () |
Index | rows () const |
const internal::solve_retval< SuperLUBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const internal::sparse_solve_retval< SuperLUBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
SuperLUBase () | |
~SuperLUBase () | |
Protected Member Functions | |
void | init () |
Protected Member Functions inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > > | |
void | clearFactors () |
void | extractData () const |
void | init () |
void | initFactorization (const MatrixType &a) |
Private Member Functions | |
SuperLU (SuperLU &) | |
Additional Inherited Members | |
Protected Attributes inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > > | |
int | m_analysisIsOk |
bool | m_extractedDataAreDirty |
int | m_factorizationIsOk |
ComputationInfo | m_info |
bool | m_isInitialized |
LUMatrixType | m_l |
LUMatrixType | m_matrix |
IntColVectorType | m_p |
IntRowVectorType | m_q |
SluMatrix | m_sluA |
SluMatrix | m_sluB |
Matrix< RealScalar, Dynamic, 1 > | m_sluBerr |
Matrix< RealScalar, Dynamic, 1 > | m_sluCscale |
char | m_sluEqued |
std::vector< int > | m_sluEtree |
Matrix< RealScalar, Dynamic, 1 > | m_sluFerr |
SuperMatrix | m_sluL |
superlu_options_t | m_sluOptions |
Matrix< RealScalar, Dynamic, 1 > | m_sluRscale |
SuperLUStat_t | m_sluStat |
SuperMatrix | m_sluU |
SluMatrix | m_sluX |
LUMatrixType | m_u |
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<> |
Definition at line 479 of file SuperLUSupport.h.
typedef SuperLUBase<_MatrixType,SuperLU> Eigen::SuperLU< _MatrixType >::Base |
Definition at line 482 of file SuperLUSupport.h.
typedef Base::Index Eigen::SuperLU< _MatrixType >::Index |
Definition at line 486 of file SuperLUSupport.h.
typedef Base::IntColVectorType Eigen::SuperLU< _MatrixType >::IntColVectorType |
Definition at line 488 of file SuperLUSupport.h.
typedef Base::IntRowVectorType Eigen::SuperLU< _MatrixType >::IntRowVectorType |
Definition at line 487 of file SuperLUSupport.h.
typedef TriangularView<LUMatrixType, Lower|UnitDiag> Eigen::SuperLU< _MatrixType >::LMatrixType |
Definition at line 490 of file SuperLUSupport.h.
typedef Base::LUMatrixType Eigen::SuperLU< _MatrixType >::LUMatrixType |
Definition at line 489 of file SuperLUSupport.h.
typedef _MatrixType Eigen::SuperLU< _MatrixType >::MatrixType |
Definition at line 483 of file SuperLUSupport.h.
typedef Base::RealScalar Eigen::SuperLU< _MatrixType >::RealScalar |
Definition at line 485 of file SuperLUSupport.h.
typedef Base::Scalar Eigen::SuperLU< _MatrixType >::Scalar |
Definition at line 484 of file SuperLUSupport.h.
typedef TriangularView<LUMatrixType, Upper> Eigen::SuperLU< _MatrixType >::UMatrixType |
Definition at line 491 of file SuperLUSupport.h.
|
inline |
Definition at line 495 of file SuperLUSupport.h.
|
inline |
Definition at line 497 of file SuperLUSupport.h.
|
inline |
Definition at line 503 of file SuperLUSupport.h.
|
inlineprivate |
Definition at line 600 of file SuperLUSupport.h.
void Eigen::SuperLU< MatrixType >::_solve | ( | const MatrixBase< Rhs > & | b, |
MatrixBase< Dest > & | dest | ||
) | const |
Definition at line 640 of file SuperLUSupport.h.
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
Definition at line 513 of file SuperLUSupport.h.
SuperLU< MatrixType >::Scalar Eigen::SuperLU< MatrixType >::determinant | ( | ) | const |
Definition at line 776 of file SuperLUSupport.h.
void Eigen::SuperLU< MatrixType >::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.
Definition at line 604 of file SuperLUSupport.h.
|
inlineprotected |
Definition at line 587 of file SuperLUSupport.h.
|
inline |
Definition at line 534 of file SuperLUSupport.h.
|
inline |
Definition at line 540 of file SuperLUSupport.h.
|
inline |
Definition at line 546 of file SuperLUSupport.h.
|
inline |
Definition at line 552 of file SuperLUSupport.h.