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 [inline, inherited]
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()
Index cols ( void  ) const [inline, inherited]
Derived & compute ( const MatrixType matrix) [inherited]
Derived& derived ( ) [inline, inherited]
const Derived& derived ( ) const [inline, inherited]
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()
void getMatrix ( const MatrixType matrix) [inline, protected]
ComputationInfo info ( ) const [inline, inherited]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix appears to be negative.
void manageErrorCode ( Index  error) [inline, protected, inherited]
void pardisoInit ( int  type) [inline, protected, inherited]
Array<Index,64,1>& pardisoParameterArray ( ) [inline, inherited]
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 ( ) [inline, protected, inherited]
Index rows ( void  ) const [inline, inherited]
const internal::solve_retval<PardisoImpl, Rhs> solve ( const MatrixBase< Rhs > &  b) const [inline, inherited]
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 [inline, inherited]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Member Data Documentation

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

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