NDDEM
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Eigen::CholmodBase< _MatrixType, _UpLo, Derived > Class Template Reference

The base class for the direct Cholesky factorization of Cholmod. More...

#include <CholmodSupport.h>

+ Inheritance diagram for Eigen::CholmodBase< _MatrixType, _UpLo, Derived >:

Public Types

enum  { UpLo = _UpLo }
 
enum  { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime }
 
typedef _MatrixType MatrixType
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType CholMatrixType
 
typedef MatrixType::StorageIndex StorageIndex
 

Public Member Functions

 CholmodBase ()
 
 CholmodBase (const MatrixType &matrix)
 
 ~CholmodBase ()
 
StorageIndex cols () const
 
StorageIndex rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
Derived & compute (const MatrixType &matrix)
 
void analyzePattern (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
cholmod_common & cholmod ()
 
template<typename Rhs , typename Dest >
void _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
 
template<typename RhsDerived , typename DestDerived >
void _solve_impl (const SparseMatrixBase< RhsDerived > &b, SparseMatrixBase< DestDerived > &dest) const
 
Derived & setShift (const RealScalar &offset)
 
Scalar determinant () const
 
Scalar logDeterminant () const
 
template<typename Stream >
void dumpMemory (Stream &)
 
- Public Member Functions inherited from Eigen::SparseSolverBase< Derived >
 SparseSolverBase ()
 
 ~SparseSolverBase ()
 
Derived & derived ()
 
const Derived & derived () const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const MatrixBase< Rhs > &b) const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
template<typename Rhs , typename Dest >
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 

Protected Types

typedef SparseSolverBase< Derived > Base
 

Protected Member Functions

Derived & derived ()
 
const Derived & derived () const
 

Protected Attributes

cholmod_common m_cholmod
 
cholmod_factor * m_cholmodFactor
 
double m_shiftOffset [2]
 
ComputationInfo m_info
 
int m_factorizationIsOk
 
int m_analysisIsOk
 
bool m_isInitialized
 
- Protected Attributes inherited from Eigen::SparseSolverBase< Derived >
bool m_isInitialized
 

Detailed Description

template<typename _MatrixType, int _UpLo, typename Derived>
class Eigen::CholmodBase< _MatrixType, _UpLo, Derived >

The base class for the direct Cholesky factorization of Cholmod.

See also
class CholmodSupernodalLLT, class CholmodSimplicialLDLT, class CholmodSimplicialLLT

Member Typedef Documentation

◆ Base

template<typename _MatrixType , int _UpLo, typename Derived >
typedef SparseSolverBase<Derived> Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::Base
protected

◆ CholMatrixType

template<typename _MatrixType , int _UpLo, typename Derived >
typedef MatrixType Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::CholMatrixType

◆ MatrixType

template<typename _MatrixType , int _UpLo, typename Derived >
typedef _MatrixType Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::MatrixType

◆ RealScalar

template<typename _MatrixType , int _UpLo, typename Derived >
typedef MatrixType::RealScalar Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::RealScalar

◆ Scalar

template<typename _MatrixType , int _UpLo, typename Derived >
typedef MatrixType::Scalar Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::Scalar

◆ StorageIndex

template<typename _MatrixType , int _UpLo, typename Derived >
typedef MatrixType::StorageIndex Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::StorageIndex

Member Enumeration Documentation

◆ anonymous enum

template<typename _MatrixType , int _UpLo, typename Derived >
anonymous enum
Enumerator
UpLo 

◆ anonymous enum

template<typename _MatrixType , int _UpLo, typename Derived >
anonymous enum
Enumerator
ColsAtCompileTime 
MaxColsAtCompileTime 

Constructor & Destructor Documentation

◆ CholmodBase() [1/2]

template<typename _MatrixType , int _UpLo, typename Derived >
Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::CholmodBase ( )
inline

◆ CholmodBase() [2/2]

template<typename _MatrixType , int _UpLo, typename Derived >
Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::CholmodBase ( const MatrixType matrix)
inlineexplicit

◆ ~CholmodBase()

template<typename _MatrixType , int _UpLo, typename Derived >
Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::~CholmodBase ( )
inline

Member Function Documentation

◆ _solve_impl() [1/2]

template<typename _MatrixType , int _UpLo, typename Derived >
template<typename Rhs , typename Dest >
void Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::_solve_impl ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  dest 
) const
inline

◆ _solve_impl() [2/2]

template<typename _MatrixType , int _UpLo, typename Derived >
template<typename RhsDerived , typename DestDerived >
void Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::_solve_impl ( const SparseMatrixBase< RhsDerived > &  b,
SparseMatrixBase< DestDerived > &  dest 
) const
inline

◆ analyzePattern()

template<typename _MatrixType , int _UpLo, typename Derived >
void Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::analyzePattern ( const MatrixType matrix)
inline

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()

◆ cholmod()

template<typename _MatrixType , int _UpLo, typename Derived >
cholmod_common& Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::cholmod ( )
inline

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.

◆ cols()

template<typename _MatrixType , int _UpLo, typename Derived >
StorageIndex Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::cols ( ) const
inline

◆ compute()

template<typename _MatrixType , int _UpLo, typename Derived >
Derived& Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::compute ( const MatrixType matrix)
inline

Computes the sparse Cholesky decomposition of matrix

◆ derived() [1/2]

template<typename _MatrixType , int _UpLo, typename Derived >
Derived& Eigen::SparseSolverBase< Derived >::derived
inlineprotected

◆ derived() [2/2]

template<typename _MatrixType , int _UpLo, typename Derived >
const Derived& Eigen::SparseSolverBase< Derived >::derived
inlineprotected

◆ determinant()

template<typename _MatrixType , int _UpLo, typename Derived >
Scalar Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::determinant ( ) const
inline
Returns
the determinant of the underlying matrix from the current factorization

◆ dumpMemory()

template<typename _MatrixType , int _UpLo, typename Derived >
template<typename Stream >
void Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::dumpMemory ( Stream )
inline

◆ factorize()

template<typename _MatrixType , int _UpLo, typename Derived >
void Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::factorize ( const MatrixType matrix)
inline

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()

◆ info()

template<typename _MatrixType , int _UpLo, typename Derived >
ComputationInfo Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::info ( ) const
inline

Reports whether previous computation was successful.

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

◆ logDeterminant()

template<typename _MatrixType , int _UpLo, typename Derived >
Scalar Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::logDeterminant ( ) const
inline
Returns
the log determinant of the underlying matrix from the current factorization

◆ rows()

template<typename _MatrixType , int _UpLo, typename Derived >
StorageIndex Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::rows ( ) const
inline

◆ setShift()

template<typename _MatrixType , int _UpLo, typename Derived >
Derived& Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::setShift ( const RealScalar offset)
inline

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.

Member Data Documentation

◆ m_analysisIsOk

template<typename _MatrixType , int _UpLo, typename Derived >
int Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_analysisIsOk
protected

◆ m_cholmod

template<typename _MatrixType , int _UpLo, typename Derived >
cholmod_common Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_cholmod
mutableprotected

◆ m_cholmodFactor

template<typename _MatrixType , int _UpLo, typename Derived >
cholmod_factor* Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_cholmodFactor
protected

◆ m_factorizationIsOk

template<typename _MatrixType , int _UpLo, typename Derived >
int Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_factorizationIsOk
protected

◆ m_info

template<typename _MatrixType , int _UpLo, typename Derived >
ComputationInfo Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_info
mutableprotected

◆ m_isInitialized

template<typename _MatrixType , int _UpLo, typename Derived >
bool Eigen::SparseSolverBase< Derived >::m_isInitialized
mutableprotected

◆ m_shiftOffset

template<typename _MatrixType , int _UpLo, typename Derived >
double Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::m_shiftOffset[2]
protected

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