Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
PardisoLLT< MatrixType, _UpLo > Class Template Reference

A sparse direct Cholesky (LLT) factorization and solver based on the PARDISO library. More...

#include <PardisoSupport.h>

+ Inheritance diagram for PardisoLLT< MatrixType, _UpLo >:

List of all members.

Public Types

enum  { ScalarIsComplex }
enum  { UpLo }
typedef Matrix< Index,
MatrixType::RowsAtCompileTime, 1 > 
IntColVectorType
typedef Matrix< Index,
1, MatrixType::ColsAtCompileTime > 
IntRowVectorType
typedef Traits::MatrixType MatrixType
typedef SparseMatrix< Scalar,
RowMajor, Index
SparseMatrixType
typedef Matrix< Scalar,
Dynamic, 1 > 
VectorType

Public Member Functions

template<typename BDerived , typename XDerived >
bool _solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const
template<typename Rhs , typename DestScalar , int DestOptions, typename DestIndex >
void _solve_sparse (const Rhs &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const
Derived & analyzePattern (const MatrixType &matrix)
Index cols () const
Derived & compute (const MatrixType &matrix)
Derived & derived ()
const Derived & derived () const
Derived & factorize (const MatrixType &matrix)
ComputationInfo info () const
 Reports whether previous computation was successful.
 PardisoLLT ()
 PardisoLLT (const MatrixType &matrix)
Array< Index, 64, 1 > & pardisoParameterArray ()
Index rows () const
template<typename Rhs >
const internal::solve_retval
< PardisoImpl, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Rhs >
const
internal::sparse_solve_retval
< PardisoImpl, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const

Protected Types

typedef PardisoImpl
< PardisoLLT< MatrixType,
_UpLo > > 
Base
typedef Base::Index Index
typedef Base::RealScalar RealScalar
typedef Base::Scalar Scalar

Protected Member Functions

void getMatrix (const MatrixType &matrix)
void manageErrorCode (Index error)
void pardisoInit (int type)
void pardisoRelease ()

Protected Attributes

bool m_analysisIsOk
bool m_factorizationIsOk
ComputationInfo m_info
bool m_initialized
Array< Index, 64, 1 > m_iparm
SparseMatrixType m_matrix
Index m_msglvl
IntColVectorType m_perm
void * m_pt [64]
Index m_size
Index m_type

Detailed Description

template<typename MatrixType, int _UpLo>
class Eigen::PardisoLLT< MatrixType, _UpLo >

A sparse direct Cholesky (LLT) factorization and solver based on the PARDISO library.

This class allows to solve for A.X = B sparse linear problems via a LL^T Cholesky factorization using the Intel MKL PARDISO library. The sparse matrix A must be selfajoint and positive definite. 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<>
UpLocan be any bitwise combination of Upper, Lower. The default is Upper, meaning only the upper triangular part has to be used. Upper|Lower can be used to tell both triangular parts can be used as input.
See also:
Solving linear problems

Member Typedef Documentation

typedef PardisoImpl< PardisoLLT<MatrixType,_UpLo> > Base
protected
typedef Base::Index Index
protected

Reimplemented from PardisoImpl< Derived >.

typedef Matrix<Index, MatrixType::RowsAtCompileTime, 1> IntColVectorType
inherited
typedef Matrix<Index, 1, MatrixType::ColsAtCompileTime> IntRowVectorType
inherited
typedef Traits::MatrixType MatrixType
inherited
typedef Base::RealScalar RealScalar
protected

Reimplemented from PardisoImpl< Derived >.

typedef Base::Scalar Scalar
protected

Reimplemented from PardisoImpl< Derived >.

typedef Matrix<Scalar,Dynamic,1> VectorType
inherited

Member Enumeration Documentation

anonymous enum
inherited
Enumerator:
ScalarIsComplex 
anonymous enum
Enumerator:
UpLo 

Constructor & Destructor Documentation

PardisoLLT ( )
inline
PardisoLLT ( const MatrixType matrix)
inline

Member Function Documentation

bool _solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > &  x 
) const
inherited
void _solve_sparse ( const Rhs &  b,
SparseMatrix< DestScalar, DestOptions, DestIndex > &  dest 
) const
inlineinherited
Derived & analyzePattern ( const MatrixType matrix)
inherited

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

References eigen_assert.

Index cols ( void  ) const
inlineinherited
Derived & compute ( const MatrixType matrix)
inherited
Derived& derived ( )
inlineinherited
const Derived& derived ( ) const
inlineinherited
Derived & factorize ( const MatrixType matrix)
inherited

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

References eigen_assert.

void getMatrix ( const MatrixType matrix)
inlineprotected
ComputationInfo info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix appears to be negative.
void manageErrorCode ( Index  error)
inlineprotectedinherited
void pardisoInit ( int  type)
inlineprotectedinherited
Array<Index,64,1>& pardisoParameterArray ( )
inlineinherited
Warning:
for advanced usage only.
Returns:
a reference to the parameter array controlling PARDISO. See the PARDISO manual to know how to use it.
void pardisoRelease ( )
inlineprotectedinherited
Index rows ( void  ) const
inlineinherited
const internal::solve_retval<PardisoImpl, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inlineinherited
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()
const internal::sparse_solve_retval<PardisoImpl, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const
inlineinherited
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Member Data Documentation

bool m_analysisIsOk
protectedinherited
bool m_factorizationIsOk
protectedinherited
ComputationInfo m_info
protectedinherited
bool m_initialized
protectedinherited
Array<Index,64,1> m_iparm
mutableprotectedinherited
SparseMatrixType m_matrix
mutableprotectedinherited
Index m_msglvl
protectedinherited
IntColVectorType m_perm
mutableprotectedinherited
void* m_pt[64]
mutableprotectedinherited
Index m_size
protectedinherited
Index m_type
protectedinherited

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