![]() |
|
A sparse direct Cholesky (LLT) factorization and solver based on the PARDISO library. More...
#include <PardisoSupport.h>
Inheritance diagram for Eigen::PardisoLLT< MatrixType, UpLo_ >:Public Types | |
| enum | { UpLo = UpLo_ } |
| typedef Base::Scalar | Scalar |
| typedef Base::RealScalar | RealScalar |
| typedef Base::StorageIndex | StorageIndex |
Public Types inherited from Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > | |
| enum | |
| typedef Traits::MatrixType | MatrixType |
| typedef Traits::Scalar | Scalar |
| typedef Traits::RealScalar | RealScalar |
| typedef Traits::StorageIndex | StorageIndex |
| typedef SparseMatrix< Scalar, RowMajor, StorageIndex > | SparseMatrixType |
| 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 | |
| PardisoLLT () | |
| PardisoLLT (const MatrixType &matrix) | |
Public Member Functions inherited from Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > | |
| PardisoImpl () | |
| ~PardisoImpl () | |
| Index | cols () const |
| Index | rows () const |
| ComputationInfo | info () const |
| Reports whether previous computation was successful. More... | |
| ParameterType & | pardisoParameterArray () |
| PardisoLLT< MatrixType, UpLo_ > & | analyzePattern (const MatrixType &matrix) |
| PardisoLLT< MatrixType, UpLo_ > & | factorize (const MatrixType &matrix) |
| PardisoLLT< MatrixType, UpLo_ > & | 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 (SparseSolverBase &&other) | |
| ~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< PardisoLLT< MatrixType, UpLo_ > > | Base |
Protected Types inherited from Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > | |
| typedef SparseSolverBase< PardisoLLT< MatrixType, UpLo_ > > | Base |
| typedef internal::pardiso_traits< PardisoLLT< MatrixType, UpLo_ > > | Traits |
Protected Member Functions | |
| void | getMatrix (const MatrixType &matrix) |
Protected Member Functions inherited from Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > | |
| void | pardisoRelease () |
| void | pardisoInit (int type) |
| void | manageErrorCode (Index error) const |
| PardisoLLT< MatrixType, UpLo_ > & | derived () |
| const PardisoLLT< MatrixType, UpLo_ > & | derived () const |
Friends | |
| class | PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > |
Additional Inherited Members | |
Protected Attributes inherited from Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > > | |
| 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 |
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.
By default, it runs in in-core mode. To enable PARDISO's out-of-core feature, set:
| MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
| UpLo | can 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. |
\implsparsesolverconcept
|
protected |
| typedef Base::RealScalar Eigen::PardisoLLT< MatrixType, UpLo_ >::RealScalar |
| typedef Base::Scalar Eigen::PardisoLLT< MatrixType, UpLo_ >::Scalar |
| typedef Base::StorageIndex Eigen::PardisoLLT< MatrixType, UpLo_ >::StorageIndex |
|
inline |
References Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::pardisoInit(), and Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::ScalarIsComplex.
|
inlineexplicit |
References Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::compute(), matrix(), Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::pardisoInit(), and Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::ScalarIsComplex.
|
inlineprotected |
References Eigen::PardisoImpl< PardisoLLT< MatrixType, UpLo_ > >::m_matrix, Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::makeCompressed(), matrix(), and Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::resize().
|
friend |