 Eigen  3.3.7 Eigen::PastixLU< _MatrixType, IsStrSym > Class Template Reference

## Detailed Description

### template<typename _MatrixType, bool IsStrSym> class Eigen::PastixLU< _MatrixType, IsStrSym >

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.

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
 _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> IsStrSym Indicates 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

This class follows the sparse solver concept .

Sparse solver concept, class SparseLU

Inherits Eigen::PastixBase< Derived >.

## Public Member Functions

void analyzePattern (const MatrixType &matrix)

void compute (const MatrixType &matrix)

void factorize (const MatrixType &matrix)

## ◆ analyzePattern()

template<typename _MatrixType , bool IsStrSym>
 void Eigen::PastixLU< _MatrixType, IsStrSym >::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`

factorize()

## ◆ compute()

template<typename _MatrixType , bool IsStrSym>
 void Eigen::PastixLU< _MatrixType, IsStrSym >::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

analyzePattern() factorize()

## ◆ factorize()

template<typename _MatrixType , bool IsStrSym>
 void Eigen::PastixLU< _MatrixType, IsStrSym >::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.