Path Tracer
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>

Public Types

enum  { UpLo = _UpLo }
 
typedef _MatrixType MatrixType
 
typedef PastixBase< PastixLLT< MatrixType, _UpLo > > Base
 
typedef Base::ColSpMatrix ColSpMatrix
 

Public Member Functions

 PastixLLT (const MatrixType &matrix)
 
void compute (const MatrixType &matrix)
 
void analyzePattern (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 

Protected Member Functions

void init ()
 
void grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 

Protected Attributes

Array< int, IPARM_SIZE, 1 > m_iparm
 

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

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