|
TR-mbed 1.0
|
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, StorageIndex > | UmfpackMatrixType |
| typedef Ref< const UmfpackMatrixType, StandardCompressedFormat > | UmfpackMatrixRef |
| typedef Array< double, UMFPACK_CONTROL, 1 > | UmfpackControl |
| typedef Array< double, UMFPACK_INFO, 1 > | UmfpackInfo |
Public Member Functions | |
| UmfPackLU () | |
| template<typename InputMatrixType > | |
| UmfPackLU (const InputMatrixType &matrix) | |
| ~UmfPackLU () | |
| Index | rows () const |
| Index | cols () const |
| ComputationInfo | info () const |
| Reports whether previous computation was successful. | |
| const LUMatrixType & | matrixL () const |
| const LUMatrixType & | matrixU () const |
| const IntColVectorType & | permutationP () const |
| const IntRowVectorType & | permutationQ () const |
| template<typename InputMatrixType > | |
| void | compute (const InputMatrixType &matrix) |
| template<typename InputMatrixType > | |
| void | analyzePattern (const InputMatrixType &matrix) |
| int | umfpackFactorizeReturncode () const |
| const UmfpackControl & | umfpackControl () const |
| UmfpackControl & | umfpackControl () |
| template<typename InputMatrixType > | |
| void | factorize (const InputMatrixType &matrix) |
| void | printUmfpackControl () |
| void | printUmfpackInfo () |
| void | printUmfpackStatus () |
| template<typename BDerived , typename XDerived > | |
| bool | _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const |
| Scalar | determinant () const |
| void | extractData () const |
Public Member Functions inherited from Eigen::SparseSolverBase< UmfPackLU< _MatrixType > > | |
| SparseSolverBase () | |
| ~SparseSolverBase () | |
| 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 |
| StorageIndex | m_fact_errorCode |
| UmfpackControl | m_control |
| UmfpackInfo | m_umfpackInfo |
| 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 |
Protected Attributes inherited from Eigen::SparseSolverBase< UmfPackLU< _MatrixType > > | |
| 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<> |
\implsparsesolverconcept
|
protected |
| typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::UmfPackLU< _MatrixType >::IntColVectorType |
| typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::UmfPackLU< _MatrixType >::IntRowVectorType |
| typedef SparseMatrix<Scalar> Eigen::UmfPackLU< _MatrixType >::LUMatrixType |
| typedef _MatrixType Eigen::UmfPackLU< _MatrixType >::MatrixType |
| typedef MatrixType::RealScalar Eigen::UmfPackLU< _MatrixType >::RealScalar |
| typedef MatrixType::Scalar Eigen::UmfPackLU< _MatrixType >::Scalar |
| typedef MatrixType::StorageIndex Eigen::UmfPackLU< _MatrixType >::StorageIndex |
| typedef Array<double, UMFPACK_CONTROL, 1> Eigen::UmfPackLU< _MatrixType >::UmfpackControl |
| typedef Array<double, UMFPACK_INFO, 1> Eigen::UmfPackLU< _MatrixType >::UmfpackInfo |
| typedef Ref<const UmfpackMatrixType, StandardCompressedFormat> Eigen::UmfPackLU< _MatrixType >::UmfpackMatrixRef |
| typedef SparseMatrix<Scalar,ColMajor,StorageIndex> Eigen::UmfPackLU< _MatrixType >::UmfpackMatrixType |
| typedef Matrix<Scalar,Dynamic,1> Eigen::UmfPackLU< _MatrixType >::Vector |
|
inline |
|
inlineexplicit |
|
inline |
| bool Eigen::UmfPackLU< MatrixType >::_solve_impl | ( | const MatrixBase< BDerived > & | b, |
| MatrixBase< XDerived > & | x | ||
| ) | const |
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
|
inlineprotected |
|
inline |
|
inline |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.
| UmfPackLU< MatrixType >::Scalar Eigen::UmfPackLU< MatrixType >::determinant | ( | ) | const |
| void Eigen::UmfPackLU< MatrixType >::extractData | ( | ) | const |
|
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.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
Reports whether previous computation was successful.
Success if computation was successful, NumericalIssue if the matrix.appears to be negative.
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Prints the current UmfPack control settings.
|
inline |
Prints statistics collected by UmfPack.
|
inline |
Prints the status of the previous factorization operation performed by UmfPack (symbolic or numerical factorization).
|
inline |
|
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.
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |