Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::PastixLU Class Reference

Interface to the PaStix solver. More...

#include <PaStiXSupport.h>

Public Types

typedef PastixBase< PastixLU< MatrixType > > Base
 
typedef Base::ColSpMatrix ColSpMatrix
 
typedef _MatrixType MatrixType
 
typedef MatrixType::StorageIndex StorageIndex
 

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

Array< double, DPARM_SIZE, 1 > m_dparm
 
Array< int, IPARM_SIZE, 1 > m_iparm
 
bool m_structureIsUptodate
 
ColSpMatrix m_transposedStructure
 

Detailed Description

Interface to the PaStix solver.

Sparse direct LU solver based on PaStiX library.

This class is used to solve the linear systems A.X = B via the PaStix library. The matrix can be either real or complex, symmetric or not.

See also
TutorialSparseDirectSolvers

This class is used to solve the linear systems A.X = B with a supernodal LU factorization in the PaStiX library. The matrix A should be squared and nonsingular PaStiX requires that the matrix A has a symmetric structural pattern. This interface can symmetrize the input matrix otherwise. 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<>
IsStrSymIndicates if the input matrix has a symmetric pattern, default is false NOTE : Note that if the analysis and factorization phase are called separately, the input matrix will be symmetrized at each call, hence it is advised to symmetrize the matrix in a end-user program and set IsStrSym to true

\implsparsesolverconcept

See also
Sparse solver concept, class SparseLU

Definition at line 31 of file PaStiXSupport.h.

Member Typedef Documentation

◆ Base

Definition at line 416 of file PaStiXSupport.h.

◆ ColSpMatrix

Definition at line 417 of file PaStiXSupport.h.

◆ MatrixType

typedef _MatrixType Eigen::PastixLU::MatrixType

Definition at line 415 of file PaStiXSupport.h.

◆ StorageIndex

typedef MatrixType::StorageIndex Eigen::PastixLU::StorageIndex

Definition at line 418 of file PaStiXSupport.h.

Constructor & Destructor Documentation

◆ PastixLU() [1/2]

Eigen::PastixLU::PastixLU ( )
inline

Definition at line 421 of file PaStiXSupport.h.

◆ PastixLU() [2/2]

Eigen::PastixLU::PastixLU ( const MatrixType matrix)
inlineexplicit

Definition at line 426 of file PaStiXSupport.h.

Member Function Documentation

◆ analyzePattern()

void Eigen::PastixLU::analyzePattern ( const MatrixType matrix)
inline

Compute the LU symbolic factorization of matrix using its sparsity pattern. Several ordering methods can be used at this step. See the PaStiX user's manual. The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()

Definition at line 448 of file PaStiXSupport.h.

◆ compute()

void Eigen::PastixLU::compute ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix. iparm and dparm can be used to tune the PaStiX parameters. see the PaStiX user's manual

See also
analyzePattern() factorize()

Definition at line 436 of file PaStiXSupport.h.

◆ factorize()

void Eigen::PastixLU::factorize ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix WARNING The matrix matrix should have the same structural pattern as the same used in the analysis phase.

See also
analyzePattern()

Definition at line 461 of file PaStiXSupport.h.

◆ grabMatrix()

void Eigen::PastixLU::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected

Definition at line 476 of file PaStiXSupport.h.

◆ init()

void Eigen::PastixLU::init ( )
inlineprotected

Definition at line 469 of file PaStiXSupport.h.

Member Data Documentation

◆ m_dparm

Array<double,DPARM_SIZE,1> Eigen::PastixBase< Derived >::m_dparm
mutableprotected

Definition at line 248 of file PaStiXSupport.h.

◆ m_iparm

Array<int,IPARM_SIZE,1> Eigen::PastixBase< Derived >::m_iparm
mutableprotected

Definition at line 247 of file PaStiXSupport.h.

◆ m_structureIsUptodate

bool Eigen::PastixLU::m_structureIsUptodate
protected

Definition at line 504 of file PaStiXSupport.h.

◆ m_transposedStructure

ColSpMatrix Eigen::PastixLU::m_transposedStructure
protected

Definition at line 503 of file PaStiXSupport.h.


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


gtsam
Author(s):
autogenerated on Wed May 15 2024 15:28:53