NDDEM
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
Eigen::PardisoLU< MatrixType > Class Template Reference

A sparse direct LU factorization and solver based on the PARDISO library. More...

#include <PardisoSupport.h>

+ Inheritance diagram for Eigen::PardisoLU< MatrixType >:

Public Types

typedef Base::Scalar Scalar
 
typedef Base::RealScalar RealScalar
 
- Public Types inherited from Eigen::PardisoImpl< PardisoLU< MatrixType > >
enum  
 
typedef Traits::MatrixType MatrixType
 
typedef Traits::Scalar Scalar
 
typedef Traits::RealScalar RealScalar
 
typedef Traits::StorageIndex StorageIndex
 
typedef SparseMatrix< Scalar, RowMajor, StorageIndexSparseMatrixType
 
typedef Matrix< Scalar, Dynamic, 1 > VectorType
 
typedef Matrix< StorageIndex, 1, MatrixType::ColsAtCompileTime > IntRowVectorType
 
typedef Matrix< StorageIndex, MatrixType::RowsAtCompileTime, 1 > IntColVectorType
 
typedef Array< StorageIndex, 64, 1, DontAlign > ParameterType
 

Public Member Functions

 PardisoLU ()
 
 PardisoLU (const MatrixType &matrix)
 
Derived & compute (const MatrixType &matrix)
 
- Public Member Functions inherited from Eigen::PardisoImpl< PardisoLU< MatrixType > >
 PardisoImpl ()
 
 ~PardisoImpl ()
 
Index cols () const
 
Index rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
ParameterTypepardisoParameterArray ()
 
PardisoLU< MatrixType > & analyzePattern (const MatrixType &matrix)
 
PardisoLU< MatrixType > & factorize (const MatrixType &matrix)
 
PardisoLU< MatrixType > & compute (const MatrixType &matrix)
 
void _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
 
void _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
- 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 PardisoImpl< PardisoLUBase
 
- Protected Types inherited from Eigen::PardisoImpl< PardisoLU< MatrixType > >
typedef SparseSolverBase< PardisoLU< MatrixType > > Base
 
typedef internal::pardiso_traits< PardisoLU< MatrixType > > Traits
 

Protected Member Functions

void getMatrix (const MatrixType &matrix)
 
void pardisoInit (int type)
 
- Protected Member Functions inherited from Eigen::PardisoImpl< PardisoLU< MatrixType > >
void pardisoRelease ()
 
void pardisoInit (int type)
 
void manageErrorCode (Index error) const
 
PardisoLU< MatrixType > & derived ()
 
const PardisoLU< MatrixType > & derived () const
 

Protected Attributes

SparseMatrixType m_matrix
 
- Protected Attributes inherited from Eigen::PardisoImpl< PardisoLU< MatrixType > >
SparseMatrixType m_matrix
 
ComputationInfo m_info
 
bool m_analysisIsOk
 
bool m_factorizationIsOk
 
StorageIndex m_type
 
StorageIndex m_msglvl
 
void * m_pt [64]
 
ParameterType m_iparm
 
IntColVectorType m_perm
 
Index m_size
 
bool m_isInitialized
 
- Protected Attributes inherited from Eigen::SparseSolverBase< Derived >
bool m_isInitialized
 

Friends

class PardisoImpl< PardisoLU< MatrixType > >
 

Detailed Description

template<typename MatrixType>
class Eigen::PardisoLU< MatrixType >

A sparse direct LU factorization and solver based on the PARDISO library.

This class allows to solve for A.X = B sparse linear problems via a direct LU factorization using the Intel MKL PARDISO library. The sparse matrix A must be squared and invertible. The vectors or matrices X and B can be either dense or sparse.

By default, it runs in in-core mode. To enable PARDISO's out-of-core feature, set:

solver.pardisoParameterArray()[59] = 1;
Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>

\implsparsesolverconcept

See also
TutorialSparseSolverConcept, class SparseLU

Member Typedef Documentation

◆ Base

template<typename MatrixType >
typedef PardisoImpl<PardisoLU> Eigen::PardisoLU< MatrixType >::Base
protected

◆ RealScalar

template<typename MatrixType >
typedef Base::RealScalar Eigen::PardisoLU< MatrixType >::RealScalar

◆ Scalar

template<typename MatrixType >
typedef Base::Scalar Eigen::PardisoLU< MatrixType >::Scalar

Constructor & Destructor Documentation

◆ PardisoLU() [1/2]

template<typename MatrixType >
Eigen::PardisoLU< MatrixType >::PardisoLU ( )
inline

◆ PardisoLU() [2/2]

template<typename MatrixType >
Eigen::PardisoLU< MatrixType >::PardisoLU ( const MatrixType matrix)
inlineexplicit

Member Function Documentation

◆ compute()

template<typename MatrixType >
Derived & Eigen::PardisoImpl< Derived >::compute

◆ getMatrix()

template<typename MatrixType >
void Eigen::PardisoLU< MatrixType >::getMatrix ( const MatrixType matrix)
inlineprotected

◆ pardisoInit()

template<typename MatrixType >
void Eigen::PardisoImpl< Derived >::pardisoInit
inlineprotected

Friends And Related Function Documentation

◆ PardisoImpl< PardisoLU< MatrixType > >

template<typename MatrixType >
friend class PardisoImpl< PardisoLU< MatrixType > >
friend

Member Data Documentation

◆ m_matrix

template<typename MatrixType >
SparseMatrixType Eigen::PardisoImpl< Derived >::m_matrix
mutableprotected

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