A sparse LU factorization and solver based on UmfPack. More...
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 column-major, 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<> |
| 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 |
| UmfPackLU | ( | ) | [inline] |
| UmfPackLU | ( | const MatrixType & | matrix | ) | [inline] |
| ~UmfPackLU | ( | ) | [inline] |
| void analyzePattern | ( | const MatrixType & | matrix | ) | [inline] |
using the current decomposition of A.This function is particularly useful when solving for several problems having the same structure.
| Index cols | ( | void | ) | const [inline] |
| void compute | ( | const MatrixType & | matrix | ) | [inline] |
Computes the sparse Cholesky decomposition of matrix
| UmfPackLU< MatrixType >::Scalar determinant | ( | ) | const |
| void extractData | ( | ) | const |
| void factorize | ( | const MatrixType & | matrix | ) | [inline] |
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.
| ComputationInfo info | ( | ) | const [inline] |
Reports whether previous computation was successful.
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative. | void init | ( | ) | [inline, protected] |
| const LUMatrixType& matrixL | ( | ) | const [inline] |
| const LUMatrixType& matrixU | ( | ) | const [inline] |
| const IntColVectorType& permutationP | ( | ) | const [inline] |
| const IntRowVectorType& permutationQ | ( | ) | const [inline] |
| Index rows | ( | void | ) | const [inline] |
| const internal::solve_retval<UmfPackLU, Rhs> solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline] |
using the current decomposition of A.int m_analysisIsOk [protected] |
bool m_extractedDataAreDirty [mutable, protected] |
int m_factorizationIsOk [protected] |
ComputationInfo m_info [mutable, protected] |
bool m_isInitialized [protected] |
LUMatrixType m_l [mutable, protected] |
const MatrixType* m_matrixRef [protected] |
void* m_numeric [protected] |
IntColVectorType m_p [mutable, protected] |
IntRowVectorType m_q [mutable, protected] |
void* m_symbolic [protected] |
LUMatrixType m_u [mutable, protected] |
1.7.5.1