A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library. More...
#include <PardisoSupport.h>
Public Types | |
enum | { UpLo = Options&(Upper|Lower) } |
Public Types inherited from Eigen::PardisoImpl< Derived > | |
enum | { ScalarIsComplex = NumTraits<Scalar>::IsComplex } |
typedef Traits::Index | Index |
typedef Matrix< Index, MatrixType::RowsAtCompileTime, 1 > | IntColVectorType |
typedef Matrix< Index, 1, MatrixType::ColsAtCompileTime > | IntRowVectorType |
typedef Traits::MatrixType | MatrixType |
typedef Array< Index, 64, 1, DontAlign > | ParameterType |
typedef Traits::RealScalar | RealScalar |
typedef Traits::Scalar | Scalar |
typedef SparseMatrix< Scalar, RowMajor, Index > | SparseMatrixType |
typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
Public Member Functions | |
void | getMatrix (const MatrixType &matrix) |
PardisoLDLT () | |
PardisoLDLT (const MatrixType &matrix) | |
Public Member Functions inherited from Eigen::PardisoImpl< Derived > | |
template<typename BDerived , typename XDerived > | |
bool | _solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) 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. More... | |
PardisoImpl () | |
ParameterType & | 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 |
~PardisoImpl () | |
Protected Types | |
typedef PardisoImpl< PardisoLDLT< MatrixType, Options > > | Base |
typedef Base::Index | Index |
typedef Base::RealScalar | RealScalar |
typedef Base::Scalar | Scalar |
Private Member Functions | |
PardisoLDLT (PardisoLDLT &) | |
Friends | |
class | PardisoImpl< PardisoLDLT< MatrixType, Options > > |
Additional Inherited Members | |
Protected Member Functions inherited from Eigen::PardisoImpl< Derived > | |
void | manageErrorCode (Index error) |
void | pardisoInit (int type) |
void | pardisoRelease () |
Protected Attributes inherited from Eigen::PardisoImpl< Derived > | |
bool | m_analysisIsOk |
bool | m_factorizationIsOk |
ComputationInfo | m_info |
bool | m_initialized |
ParameterType | m_iparm |
SparseMatrixType | m_matrix |
Index | m_msglvl |
IntColVectorType | m_perm |
void * | m_pt [64] |
Index | m_size |
Index | m_type |
A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library.
This class allows to solve for A.X = B sparse linear problems via a LDL^T Cholesky factorization using the Intel MKL PARDISO library. The sparse matrix A is assumed to be selfajoint and positive definite. For complex matrices, A can also be symmetric only, see the Options template parameter. The vectors or matrices X and B can be either dense or sparse.
MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
Options | can be any bitwise combination of Upper, Lower, and Symmetric. The default is Upper, meaning only the upper triangular part has to be used. Symmetric can be used for symmetric, non-selfadjoint complex matrices, the default being to assume a selfadjoint matrix. Upper|Lower can be used to tell both triangular parts can be used as input. |
Definition at line 39 of file PardisoSupport.h.
|
protected |
Definition at line 521 of file PardisoSupport.h.
|
protected |
Definition at line 523 of file PardisoSupport.h.
|
protected |
Definition at line 524 of file PardisoSupport.h.
|
protected |
Definition at line 522 of file PardisoSupport.h.
anonymous enum |
Enumerator | |
---|---|
UpLo |
Definition at line 533 of file PardisoSupport.h.
|
inline |
Definition at line 535 of file PardisoSupport.h.
|
inline |
Definition at line 541 of file PardisoSupport.h.
|
inlineprivate |
Definition at line 557 of file PardisoSupport.h.
|
inline |
Definition at line 548 of file PardisoSupport.h.
|
friend |
Definition at line 527 of file PardisoSupport.h.