$treeview $search $mathjax
Eigen  3.2.5
$projectbrief
$projectbrief
$searchbox

CholmodSimplicialLLT< _MatrixType, _UpLo > Class Template Reference
[CholmodSupport module]

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

Inheritance diagram for CholmodSimplicialLLT< _MatrixType, _UpLo >:

List of all members.

Public Member Functions

void analyzePattern (const MatrixType &matrix)
cholmod_common & cholmod ()
CholmodSimplicialLLT
< _MatrixType, _UpLo > & 
compute (const MatrixType &matrix)
void factorize (const MatrixType &matrix)
ComputationInfo info () const
 Reports whether previous computation was successful.
CholmodSimplicialLLT
< _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

Detailed Description

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

A simplicial direct Cholesky (LLT) factorization and solver based on Cholmod.

This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization using the Cholmod library. This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Therefore, it has little practical interest. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

Template Parameters:
_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.

See also:
Sparse solvers, class CholmodSupernodalLLT, class SimplicialLLT

Member Function Documentation

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.

See also:
factorize()

References Eigen::Success.

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.

CholmodSimplicialLLT< _MatrixType, _UpLo > & compute ( const MatrixType &  matrix  )  [inline, inherited]
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.

See also:
analyzePattern()

References Eigen::NumericalIssue, and Eigen::Success.

ComputationInfo info (  )  const [inline, inherited]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
CholmodSimplicialLLT< _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.

Returns:
a reference to *this.
const internal::sparse_solve_retval<CholmodBase, Rhs> solve ( const SparseMatrixBase< Rhs > &  b  )  const [inline, inherited]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

References EigenBase< Derived >::derived(), and SparseMatrixBase< Derived >::rows().

const internal::solve_retval<CholmodBase, Rhs> solve ( const MatrixBase< Rhs > &  b  )  const [inline, inherited]
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: