![]() |
Eigen
3.2.0
|
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<> |
Inherits noncopyable.
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
void | compute (const MatrixType &matrix) |
void | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
template<typename Rhs > | |
const internal::solve_retval < UmfPackLU, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Rhs > | |
const internal::sparse_solve_retval < UmfPackLU, Rhs > | solve (const SparseMatrixBase< Rhs > &b) 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.
References Eigen::InvalidInput, and Eigen::Success.
Referenced by UmfPackLU< _MatrixType >::compute().
|
inline |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.
References UmfPackLU< _MatrixType >::analyzePattern(), and UmfPackLU< _MatrixType >::factorize().
|
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.
References Eigen::NumericalIssue, and Eigen::Success.
Referenced by UmfPackLU< _MatrixType >::compute().
|
inline |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative.
|
inline |
|
inline |
References EigenBase< Derived >::derived(), and SparseMatrixBase< Derived >::rows().