CholmodSupernodalLLT< _MatrixType, _UpLo > Class Template Reference

A supernodal Cholesky (LLT) factorization and solver based on Cholmod. More...

#include <CholmodSupport.h>

+ Inheritance diagram for CholmodSupernodalLLT< _MatrixType, _UpLo >:

Public Member Functions

void analyzePattern (const MatrixType &matrix)
 
cholmod_common & cholmod ()
 
CholmodSupernodalLLT< _MatrixType, Lower > & compute (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
ComputationInfo info () const
 Reports whether previous computation was successful.
 
const internal::solve_retval< CholmodBase, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const internal::sparse_solve_retval< CholmodBase, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 

Detailed Description

template<typename _MatrixType, int _UpLo = Lower>
class Eigen::CholmodSupernodalLLT< _MatrixType, _UpLo >

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 selfajoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
_UpLothe 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.

See also
Solving linear problems

Member Function Documentation

◆ analyzePattern()

void analyzePattern ( const MatrixType & matrix)
inlineinherited

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also
factorize()

◆ cholmod()

cholmod_common & cholmod ( )
inlineinherited

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.

◆ compute()

CholmodSupernodalLLT< _MatrixType, Lower > & compute ( const MatrixType & matrix)
inlineinherited

Computes the sparse Cholesky decomposition of matrix

◆ factorize()

void factorize ( const MatrixType & matrix)
inlineinherited

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.

See also
analyzePattern()

◆ info()

ComputationInfo info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.

◆ solve() [1/2]

const internal::solve_retval< CholmodBase, Rhs > solve ( const MatrixBase< Rhs > & b) const
inlineinherited
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()

◆ solve() [2/2]

const internal::sparse_solve_retval< CholmodBase, Rhs > solve ( const SparseMatrixBase< Rhs > & b) const
inlineinherited
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()

The documentation for this class was generated from the following file: