$treeview $search $mathjax
Eigen
3.2.5
$projectbrief
|
$projectbrief
|
$searchbox |
A supernodal Cholesky (LLT) factorization and solver based on Cholmod. More...
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
cholmod_common & | cholmod () |
CholmodSupernodalLLT < _MatrixType, _UpLo > & | compute (const MatrixType &matrix) |
void | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
CholmodSupernodalLLT < _MatrixType, _UpLo > & | setShift (const RealScalar &offset) |
const internal::sparse_solve_retval < CholmodBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
const internal::solve_retval < CholmodBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
A supernodal Cholesky (LLT) factorization and solver based on Cholmod.
This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization using the Cholmod library. This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM. The sparse matrix A must be selfadjoint and positive definite. 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<> | |
_UpLo | the triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower. |
This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
void analyzePattern | ( | const MatrixType & | matrix | ) | [inline, inherited] |
Performs a symbolic decomposition on the sparsity pattern of matrix.
This function is particularly useful when solving for several problems having the same structure.
cholmod_common& cholmod | ( | ) | [inline, inherited] |
Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations. See the Cholmod user guide for details.
CholmodSupernodalLLT< _MatrixType, _UpLo > & compute | ( | const MatrixType & | matrix | ) | [inline, inherited] |
Computes the sparse Cholesky decomposition of matrix
void factorize | ( | const MatrixType & | matrix | ) | [inline, inherited] |
Performs a numeric decomposition of matrix
The given matrix must have the same sparsity pattern as the matrix on which the symbolic decomposition has been performed.
ComputationInfo info | ( | ) | const [inline, inherited] |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix.appears to be negative. CholmodSupernodalLLT< _MatrixType, _UpLo > & setShift | ( | const RealScalar & | offset | ) | [inline, inherited] |
Sets the shift parameter that will be used to adjust the diagonal coefficients during the numerical factorization.
During the numerical factorization, an offset term is added to the diagonal coefficients:
d_ii
= offset + d_ii
The default is offset=0.
*this
. const internal::sparse_solve_retval<CholmodBase, Rhs> solve | ( | const SparseMatrixBase< Rhs > & | b | ) | const [inline, inherited] |
const internal::solve_retval<CholmodBase, Rhs> solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline, inherited] |