NDDEM
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Eigen::PardisoImpl< Derived > Class Template Reference

#include <PardisoSupport.h>

+ Inheritance diagram for Eigen::PardisoImpl< Derived >:

Public Types

enum  { ScalarIsComplex = NumTraits<Scalar>::IsComplex , ColsAtCompileTime = Dynamic , MaxColsAtCompileTime = Dynamic }
 
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, DontAlignParameterType
 

Public Member Functions

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

Protected Member Functions

void pardisoRelease ()
 
void pardisoInit (int type)
 
void manageErrorCode (Index error) const
 
Derived & derived ()
 
const Derived & derived () const
 

Protected Attributes

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
 

Member Typedef Documentation

◆ Base

template<class Derived >
typedef SparseSolverBase<Derived> Eigen::PardisoImpl< Derived >::Base
protected

◆ IntColVectorType

template<class Derived >
typedef Matrix<StorageIndex, MatrixType::RowsAtCompileTime, 1> Eigen::PardisoImpl< Derived >::IntColVectorType

◆ IntRowVectorType

template<class Derived >
typedef Matrix<StorageIndex, 1, MatrixType::ColsAtCompileTime> Eigen::PardisoImpl< Derived >::IntRowVectorType

◆ MatrixType

template<class Derived >
typedef Traits::MatrixType Eigen::PardisoImpl< Derived >::MatrixType

◆ ParameterType

template<class Derived >
typedef Array<StorageIndex,64,1,DontAlign> Eigen::PardisoImpl< Derived >::ParameterType

◆ RealScalar

template<class Derived >
typedef Traits::RealScalar Eigen::PardisoImpl< Derived >::RealScalar

◆ Scalar

template<class Derived >
typedef Traits::Scalar Eigen::PardisoImpl< Derived >::Scalar

◆ SparseMatrixType

template<class Derived >
typedef SparseMatrix<Scalar,RowMajor,StorageIndex> Eigen::PardisoImpl< Derived >::SparseMatrixType

◆ StorageIndex

template<class Derived >
typedef Traits::StorageIndex Eigen::PardisoImpl< Derived >::StorageIndex

◆ Traits

template<class Derived >
typedef internal::pardiso_traits<Derived> Eigen::PardisoImpl< Derived >::Traits
protected

◆ VectorType

template<class Derived >
typedef Matrix<Scalar,Dynamic,1> Eigen::PardisoImpl< Derived >::VectorType

Member Enumeration Documentation

◆ anonymous enum

template<class Derived >
anonymous enum
Enumerator
ScalarIsComplex 
ColsAtCompileTime 
MaxColsAtCompileTime 

Constructor & Destructor Documentation

◆ PardisoImpl()

template<class Derived >
Eigen::PardisoImpl< Derived >::PardisoImpl ( )
inline

◆ ~PardisoImpl()

template<class Derived >
Eigen::PardisoImpl< Derived >::~PardisoImpl ( )
inline

Member Function Documentation

◆ _solve_impl() [1/3]

template<class Derived >
template<typename BDerived , typename XDerived >
void Eigen::PardisoImpl< Derived >::_solve_impl ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > &  x 
) const

◆ _solve_impl() [2/3]

template<class Derived >
template<typename Rhs , typename Dest >
void Eigen::PardisoImpl< Derived >::_solve_impl ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  dest 
) const

◆ _solve_impl() [3/3]

template<class Derived >
template<typename Rhs , typename Dest >
void Eigen::SparseSolverBase< Derived >::_solve_impl ( typename Rhs  ,
typename Dest   
)
inline

◆ analyzePattern()

template<class Derived >
Derived & Eigen::PardisoImpl< Derived >::analyzePattern ( const MatrixType matrix)

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also
factorize()

◆ cols()

template<class Derived >
Index Eigen::PardisoImpl< Derived >::cols ( void  ) const
inline

◆ compute()

template<class Derived >
Derived & Eigen::PardisoImpl< Derived >::compute ( const MatrixType matrix)

◆ derived() [1/2]

template<class Derived >
Derived& Eigen::SparseSolverBase< Derived >::derived
inlineprotected

◆ derived() [2/2]

template<class Derived >
const Derived& Eigen::SparseSolverBase< Derived >::derived
inlineprotected

◆ factorize()

template<class Derived >
Derived & Eigen::PardisoImpl< Derived >::factorize ( const MatrixType matrix)

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.

See also
analyzePattern()

◆ info()

template<class Derived >
ComputationInfo Eigen::PardisoImpl< Derived >::info ( ) const
inline

Reports whether previous computation was successful.

Returns
Success if computation was successful, NumericalIssue if the matrix appears to be negative.

◆ manageErrorCode()

template<class Derived >
void Eigen::PardisoImpl< Derived >::manageErrorCode ( Index  error) const
inlineprotected

◆ pardisoInit()

template<class Derived >
void Eigen::PardisoImpl< Derived >::pardisoInit ( int  type)
inlineprotected

◆ pardisoParameterArray()

template<class Derived >
ParameterType& Eigen::PardisoImpl< Derived >::pardisoParameterArray ( )
inline
Warning
for advanced usage only.
Returns
a reference to the parameter array controlling PARDISO. See the PARDISO manual to know how to use it.

◆ pardisoRelease()

template<class Derived >
void Eigen::PardisoImpl< Derived >::pardisoRelease ( )
inlineprotected

◆ rows()

template<class Derived >
Index Eigen::PardisoImpl< Derived >::rows ( void  ) const
inline

Member Data Documentation

◆ m_analysisIsOk

template<class Derived >
bool Eigen::PardisoImpl< Derived >::m_analysisIsOk
protected

◆ m_factorizationIsOk

template<class Derived >
bool Eigen::PardisoImpl< Derived >::m_factorizationIsOk
protected

◆ m_info

template<class Derived >
ComputationInfo Eigen::PardisoImpl< Derived >::m_info
mutableprotected

◆ m_iparm

template<class Derived >
ParameterType Eigen::PardisoImpl< Derived >::m_iparm
mutableprotected

◆ m_isInitialized

template<class Derived >
bool Eigen::SparseSolverBase< Derived >::m_isInitialized
mutableprotected

◆ m_matrix

template<class Derived >
SparseMatrixType Eigen::PardisoImpl< Derived >::m_matrix
mutableprotected

◆ m_msglvl

template<class Derived >
StorageIndex Eigen::PardisoImpl< Derived >::m_msglvl
protected

◆ m_perm

template<class Derived >
IntColVectorType Eigen::PardisoImpl< Derived >::m_perm
mutableprotected

◆ m_pt

template<class Derived >
void* Eigen::PardisoImpl< Derived >::m_pt[64]
mutableprotected

◆ m_size

template<class Derived >
Index Eigen::PardisoImpl< Derived >::m_size
protected

◆ m_type

template<class Derived >
StorageIndex Eigen::PardisoImpl< Derived >::m_type
protected

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