compbio
|
A sparse LU factorization and solver based on UmfPack. More...
#include <UmfPackSupport.h>
Public Types | |
enum | { ColsAtCompileTime = MatrixType::ColsAtCompileTime, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::StorageIndex | StorageIndex |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
typedef Matrix< int, 1, MatrixType::ColsAtCompileTime > | IntRowVectorType |
typedef Matrix< int, MatrixType::RowsAtCompileTime, 1 > | IntColVectorType |
typedef SparseMatrix< Scalar > | LUMatrixType |
typedef SparseMatrix< Scalar, ColMajor, int > | UmfpackMatrixType |
typedef Ref< const UmfpackMatrixType, StandardCompressedFormat > | UmfpackMatrixRef |
typedef Array< double, UMFPACK_CONTROL, 1 > | UmfpackControl |
Public Member Functions | |
template<typename InputMatrixType > | |
UmfPackLU (const InputMatrixType &matrix) | |
Index | rows () const |
Index | cols () const |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
const LUMatrixType & | matrixL () const |
const LUMatrixType & | matrixU () const |
const IntColVectorType & | permutationP () const |
const IntRowVectorType & | permutationQ () const |
template<typename InputMatrixType > | |
void | compute (const InputMatrixType &matrix) |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance. More... | |
template<typename InputMatrixType > | |
void | analyzePattern (const InputMatrixType &matrix) |
Performs a symbolic decomposition on the sparcity of matrix. More... | |
int | umfpackFactorizeReturncode () const |
Provides the return status code returned by UmfPack during the numeric factorization. More... | |
const UmfpackControl & | umfpackControl () const |
Provides access to the control settings array used by UmfPack. More... | |
UmfpackControl & | umfpackControl () |
Provides access to the control settings array used by UmfPack. More... | |
template<typename InputMatrixType > | |
void | factorize (const InputMatrixType &matrix) |
Performs a numeric decomposition of matrix. More... | |
template<typename BDerived , typename XDerived > | |
bool | _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const |
Scalar | determinant () const |
void | extractData () const |
![]() | |
SparseSolverBase () | |
Default constructor. | |
UmfPackLU< _MatrixType > & | derived () |
const UmfPackLU< _MatrixType > & | derived () const |
const Solve< UmfPackLU< _MatrixType >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const Solve< UmfPackLU< _MatrixType >, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
Protected Types | |
typedef SparseSolverBase< UmfPackLU< _MatrixType > > | Base |
Protected Member Functions | |
void | init () |
void | analyzePattern_impl () |
void | factorize_impl () |
template<typename MatrixDerived > | |
void | grab (const EigenBase< MatrixDerived > &A) |
void | grab (const UmfpackMatrixRef &A) |
Protected Attributes | |
LUMatrixType | m_l |
int | m_fact_errorCode |
UmfpackControl | m_control |
LUMatrixType | m_u |
IntColVectorType | m_p |
IntRowVectorType | m_q |
UmfpackMatrixType | m_dummy |
UmfpackMatrixRef | mp_matrix |
void * | m_numeric |
void * | m_symbolic |
ComputationInfo | m_info |
int | m_factorizationIsOk |
int | m_analysisIsOk |
bool | m_extractedDataAreDirty |
![]() | |
bool | m_isInitialized |
A sparse LU factorization and solver based on UmfPack.
This class allows to solve for A.X = B sparse linear problems via a LU factorization using the UmfPack library. The sparse matrix A must be squared and full rank. 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<> |
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
|
inline |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.
|
inline |
Performs a numeric decomposition of matrix.
The given matrix must has the same sparcity than the matrix on which the pattern anylysis has been performed.
|
inline |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative.
|
inline |
Provides access to the control settings array used by UmfPack.
If this array contains NaN's, the default values are used.
See UMFPACK documentation for details.
|
inline |
Provides access to the control settings array used by UmfPack.
If this array contains NaN's, the default values are used.
See UMFPACK documentation for details.
|
inline |
Provides the return status code returned by UmfPack during the numeric factorization.