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

A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library. More...

#include <PaStiXSupport.h>

+ Inheritance diagram for Eigen::PastixLLT< _MatrixType, _UpLo >:

Public Types

enum  { UpLo = _UpLo }
 
typedef _MatrixType MatrixType
 
typedef PastixBase< PastixLLT< MatrixType, _UpLo > > Base
 
typedef Base::ColSpMatrix ColSpMatrix
 
- Public Types inherited from Eigen::PastixBase< PastixLLT< _MatrixType, _UpLo > >
enum  
 
typedef internal::pastix_traits< PastixLLT< _MatrixType, _UpLo > >::MatrixType _MatrixType
 
typedef _MatrixType MatrixType
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::StorageIndex StorageIndex
 
typedef Matrix< Scalar, Dynamic, 1 > Vector
 
typedef SparseMatrix< Scalar, ColMajor > ColSpMatrix
 

Public Member Functions

 PastixLLT ()
 
 PastixLLT (const MatrixType &matrix)
 
void compute (const MatrixType &matrix)
 
void analyzePattern (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
- Public Member Functions inherited from Eigen::PastixBase< PastixLLT< _MatrixType, _UpLo > >
 PastixBase ()
 
 ~PastixBase ()
 
bool _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
Array< StorageIndex, IPARM_SIZE, 1 > & iparm ()
 
int & iparm (int idxparam)
 
Array< double, DPARM_SIZE, 1 > & dparm ()
 
double & dparm (int idxparam)
 
Index cols () const
 
Index rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
- 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 Member Functions

void init ()
 
void grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
- Protected Member Functions inherited from Eigen::PastixBase< PastixLLT< _MatrixType, _UpLo > >
void init ()
 
void analyzePattern (ColSpMatrix &mat)
 
void factorize (ColSpMatrix &mat)
 
void clean ()
 
void compute (ColSpMatrix &mat)
 
PastixLLT< _MatrixType, _UpLo > & derived ()
 
const PastixLLT< _MatrixType, _UpLo > & derived () const
 

Protected Attributes

Array< int, IPARM_SIZE, 1 > m_iparm
 
- Protected Attributes inherited from Eigen::PastixBase< PastixLLT< _MatrixType, _UpLo > >
int m_initisOk
 
int m_analysisIsOk
 
int m_factorizationIsOk
 
ComputationInfo m_info
 
pastix_data_t * m_pastixdata
 
int m_comm
 
Array< int, IPARM_SIZE, 1 > m_iparm
 
Array< double, DPARM_SIZE, 1 > m_dparm
 
Matrix< StorageIndex, Dynamic, 1 > m_perm
 
Matrix< StorageIndex, Dynamic, 1 > m_invp
 
int m_size
 
bool m_isInitialized
 
- Protected Attributes inherited from Eigen::SparseSolverBase< Derived >
bool m_isInitialized
 

Additional Inherited Members

- Protected Types inherited from Eigen::PastixBase< PastixLLT< _MatrixType, _UpLo > >
typedef SparseSolverBase< PastixLLT< _MatrixType, _UpLo > > Base
 

Detailed Description

template<typename _MatrixType, int _UpLo>
class Eigen::PastixLLT< _MatrixType, _UpLo >

A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library.

This class is used to solve the linear systems A.X = B via a LL^T supernodal Cholesky factorization available in the PaStiX library. The matrix A should be symmetric and positive definite WARNING Selfadjoint complex matrices are not supported in the current version of PaStiX 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 part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX

\implsparsesolverconcept

See also
TutorialSparseSolverConcept, class SimplicialLLT

Member Typedef Documentation

◆ Base

template<typename _MatrixType , int _UpLo>
typedef PastixBase<PastixLLT<MatrixType, _UpLo> > Eigen::PastixLLT< _MatrixType, _UpLo >::Base

◆ ColSpMatrix

template<typename _MatrixType , int _UpLo>
typedef Base::ColSpMatrix Eigen::PastixLLT< _MatrixType, _UpLo >::ColSpMatrix

◆ MatrixType

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

Member Enumeration Documentation

◆ anonymous enum

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

Constructor & Destructor Documentation

◆ PastixLLT() [1/2]

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

◆ PastixLLT() [2/2]

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

Member Function Documentation

◆ analyzePattern()

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

Compute the LL^T symbolic factorization of matrix using its sparsity pattern The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()

◆ compute()

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::compute ( const MatrixType matrix)
inline

Compute the L factor of the LL^T supernodal factorization of matrix

See also
analyzePattern() factorize()

◆ factorize()

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

Compute the LL^T supernodal numerical factorization of matrix

See also
analyzePattern()

◆ grabMatrix()

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected

◆ init()

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::init ( )
inlineprotected

Member Data Documentation

◆ m_iparm

template<typename _MatrixType , int _UpLo>
Array<int,IPARM_SIZE,1> Eigen::PastixBase< Derived >::m_iparm
mutableprotected

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