template<typename _MatrixType>
UmfPackLU class
A sparse LU factorization and solver based on UmfPack.
Template parameters | |
---|---|
_MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
Contents
- Reference
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.
This class follows the sparse solver concept.
Base classes
-
template<typename Derived>class SparseSolverBase
- A base class for sparse solvers.
Public functions
-
template<typename InputMatrixType>void analyzePattern(const InputMatrixType& matrix)
-
template<typename InputMatrixType>void compute(const InputMatrixType& matrix)
-
template<typename InputMatrixType>void factorize(const InputMatrixType& matrix)
- auto info() const -> ComputationInfo
- Reports whether previous computation was successful.
- void printUmfpackControl()
- void printUmfpackInfo()
- void printUmfpackStatus()
- auto umfpackControl() const -> const UmfpackControl&
- auto umfpackControl() -> UmfpackControl&
- auto umfpackFactorizeReturncode() const -> int
Function documentation
template<typename _MatrixType>
template<typename InputMatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: analyzePattern(const InputMatrixType& matrix)
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
template<typename _MatrixType>
template<typename InputMatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: 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.
template<typename _MatrixType>
template<typename InputMatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: factorize(const InputMatrixType& matrix)
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.
template<typename _MatrixType>
ComputationInfo Eigen:: UmfPackLU<_MatrixType>:: info() const
Reports whether previous computation was successful.
Returns | Success if computation was successful, NumericalIssue if the matrix.appears to be negative. |
---|
template<typename _MatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: printUmfpackControl()
Prints the current UmfPack control settings.
template<typename _MatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: printUmfpackInfo()
Prints statistics collected by UmfPack.
template<typename _MatrixType>
void Eigen:: UmfPackLU<_MatrixType>:: printUmfpackStatus()
Prints the status of the previous factorization operation performed by UmfPack (symbolic or numerical factorization).
template<typename _MatrixType>
const UmfpackControl& Eigen:: UmfPackLU<_MatrixType>:: umfpackControl() const
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.
template<typename _MatrixType>
UmfpackControl& Eigen:: UmfPackLU<_MatrixType>:: umfpackControl()
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.
template<typename _MatrixType>
int Eigen:: UmfPackLU<_MatrixType>:: umfpackFactorizeReturncode() const
Provides the return status code returned by UmfPack during the numeric factorization.