A sparse LU factorization and solver based on UmfPack. More...
Public Types | |
enum | { ColsAtCompileTime , MaxColsAtCompileTime } |
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 MatrixType::StorageIndex | StorageIndex |
typedef Array< double, UMFPACK_CONTROL, 1 > | UmfpackControl |
typedef Array< double, UMFPACK_INFO, 1 > | UmfpackInfo |
typedef Ref< const UmfpackMatrixType, StandardCompressedFormat > | UmfpackMatrixRef |
typedef SparseMatrix< Scalar, ColMajor, StorageIndex > | UmfpackMatrixType |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Public Member Functions | |
template<typename BDerived , typename XDerived > | |
bool | _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const |
template<typename InputMatrixType > | |
void | analyzePattern (const InputMatrixType &matrix) |
Index | cols () const |
template<typename InputMatrixType > | |
void | compute (const InputMatrixType &matrix) |
Scalar | determinant () const |
void | extractData () const |
template<typename InputMatrixType > | |
void | factorize (const InputMatrixType &matrix) |
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 |
void | printUmfpackControl () |
void | printUmfpackInfo () |
void | printUmfpackStatus () |
Index | rows () const |
UmfpackControl & | umfpackControl () |
const UmfpackControl & | umfpackControl () const |
int | umfpackFactorizeReturncode () const |
UmfPackLU () | |
template<typename InputMatrixType > | |
UmfPackLU (const InputMatrixType &matrix) | |
~UmfPackLU () | |
Public Member Functions inherited from Eigen::SparseSolverBase< UmfPackLU< MatrixType_ > > | |
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 |
SparseSolverBase () | |
SparseSolverBase (SparseSolverBase &&other) | |
~SparseSolverBase () | |
Protected Types | |
typedef SparseSolverBase< UmfPackLU< MatrixType_ > > | Base |
Protected Member Functions | |
void | analyzePattern_impl () |
void | factorize_impl () |
template<typename MatrixDerived > | |
void | grab (const EigenBase< MatrixDerived > &A) |
void | grab (const UmfpackMatrixRef &A) |
void | init () |
Protected Attributes | |
int | m_analysisIsOk |
UmfpackControl | m_control |
UmfpackMatrixType | m_dummy |
bool | m_extractedDataAreDirty |
StorageIndex | m_fact_errorCode |
int | m_factorizationIsOk |
ComputationInfo | m_info |
LUMatrixType | m_l |
void * | m_numeric |
IntColVectorType | m_p |
IntRowVectorType | m_q |
void * | m_symbolic |
LUMatrixType | m_u |
UmfpackInfo | m_umfpackInfo |
UmfpackMatrixRef | mp_matrix |
Protected Attributes inherited from Eigen::SparseSolverBase< UmfPackLU< MatrixType_ > > | |
bool | m_isInitialized |
Private Member Functions | |
UmfPackLU (const UmfPackLU &) | |
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<> |
This class follows the sparse solver concept .
Definition at line 290 of file UmfPackSupport.h.
|
protected |
Definition at line 293 of file UmfPackSupport.h.
typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::UmfPackLU< MatrixType_ >::IntColVectorType |
Definition at line 303 of file UmfPackSupport.h.
typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::UmfPackLU< MatrixType_ >::IntRowVectorType |
Definition at line 302 of file UmfPackSupport.h.
typedef SparseMatrix<Scalar> Eigen::UmfPackLU< MatrixType_ >::LUMatrixType |
Definition at line 304 of file UmfPackSupport.h.
typedef MatrixType_ Eigen::UmfPackLU< MatrixType_ >::MatrixType |
Definition at line 297 of file UmfPackSupport.h.
typedef MatrixType::RealScalar Eigen::UmfPackLU< MatrixType_ >::RealScalar |
Definition at line 299 of file UmfPackSupport.h.
typedef MatrixType::Scalar Eigen::UmfPackLU< MatrixType_ >::Scalar |
Definition at line 298 of file UmfPackSupport.h.
typedef MatrixType::StorageIndex Eigen::UmfPackLU< MatrixType_ >::StorageIndex |
Definition at line 300 of file UmfPackSupport.h.
typedef Array<double, UMFPACK_CONTROL, 1> Eigen::UmfPackLU< MatrixType_ >::UmfpackControl |
Definition at line 314 of file UmfPackSupport.h.
typedef Array<double, UMFPACK_INFO, 1> Eigen::UmfPackLU< MatrixType_ >::UmfpackInfo |
Definition at line 315 of file UmfPackSupport.h.
typedef Ref<const UmfpackMatrixType, StandardCompressedFormat> Eigen::UmfPackLU< MatrixType_ >::UmfpackMatrixRef |
Definition at line 306 of file UmfPackSupport.h.
typedef SparseMatrix<Scalar,ColMajor,StorageIndex> Eigen::UmfPackLU< MatrixType_ >::UmfpackMatrixType |
Definition at line 305 of file UmfPackSupport.h.
typedef Matrix<Scalar,Dynamic,1> Eigen::UmfPackLU< MatrixType_ >::Vector |
Definition at line 301 of file UmfPackSupport.h.
anonymous enum |
|
inline |
Definition at line 317 of file UmfPackSupport.h.
|
inlineexplicit |
Definition at line 324 of file UmfPackSupport.h.
|
inline |
Definition at line 331 of file UmfPackSupport.h.
|
inlineprivate |
Definition at line 569 of file UmfPackSupport.h.
bool Eigen::UmfPackLU< MatrixType >::_solve_impl | ( | const MatrixBase< BDerived > & | b, |
MatrixBase< XDerived > & | x | ||
) | const |
Definition at line 611 of file UmfPackSupport.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 396 of file UmfPackSupport.h.
|
inlineprotected |
Definition at line 506 of file UmfPackSupport.h.
|
inline |
Definition at line 338 of file UmfPackSupport.h.
|
inline |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.
Definition at line 380 of file UmfPackSupport.h.
UmfPackLU< MatrixType >::Scalar Eigen::UmfPackLU< MatrixType >::determinant |
Definition at line 602 of file UmfPackSupport.h.
void Eigen::UmfPackLU< MatrixType >::extractData |
Definition at line 574 of file UmfPackSupport.h.
|
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.
Definition at line 446 of file UmfPackSupport.h.
|
inlineprotected |
Definition at line 520 of file UmfPackSupport.h.
|
inlineprotected |
Definition at line 532 of file UmfPackSupport.h.
|
inlineprotected |
Definition at line 538 of file UmfPackSupport.h.
|
inline |
Reports whether previous computation was successful.
Success
if computation was successful, NumericalIssue
if the matrix.appears to be negative. Definition at line 345 of file UmfPackSupport.h.
|
inlineprotected |
Definition at line 495 of file UmfPackSupport.h.
|
inline |
Definition at line 351 of file UmfPackSupport.h.
|
inline |
Definition at line 357 of file UmfPackSupport.h.
|
inline |
Definition at line 363 of file UmfPackSupport.h.
|
inline |
Definition at line 369 of file UmfPackSupport.h.
|
inline |
Prints the current UmfPack control settings.
Definition at line 461 of file UmfPackSupport.h.
|
inline |
Prints statistics collected by UmfPack.
Definition at line 470 of file UmfPackSupport.h.
|
inline |
Prints the status of the previous factorization operation performed by UmfPack (symbolic or numerical factorization).
Definition at line 480 of file UmfPackSupport.h.
|
inline |
Definition at line 337 of file UmfPackSupport.h.
|
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.
Definition at line 434 of file UmfPackSupport.h.
|
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.
Definition at line 423 of file UmfPackSupport.h.
|
inline |
Provides the return status code returned by UmfPack during the numeric factorization.
Definition at line 411 of file UmfPackSupport.h.
|
protected |
Definition at line 565 of file UmfPackSupport.h.
|
protected |
Definition at line 550 of file UmfPackSupport.h.
|
protected |
Definition at line 557 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 566 of file UmfPackSupport.h.
|
protected |
Definition at line 549 of file UmfPackSupport.h.
|
protected |
Definition at line 564 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 563 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 548 of file UmfPackSupport.h.
|
protected |
Definition at line 560 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 554 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 555 of file UmfPackSupport.h.
|
protected |
Definition at line 561 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 553 of file UmfPackSupport.h.
|
mutableprotected |
Definition at line 551 of file UmfPackSupport.h.
|
protected |
Definition at line 558 of file UmfPackSupport.h.