A sparse direct LU factorization and solver based on the PARDISO library. More...
#include <PardisoSupport.h>
Public Types | |
enum | |
typedef Traits::Index | Index |
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 | |
bool | _solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const |
void | _solve_sparse (const Rhs &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const |
PardisoLU< MatrixType > & | analyzePattern (const MatrixType &matrix) |
Index | cols () const |
PardisoLU< MatrixType > & | compute (const MatrixType &matrix) |
PardisoLU< MatrixType > & | derived () |
const PardisoLU< MatrixType > & | derived () const |
PardisoLU< MatrixType > & | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
PardisoLU () | |
PardisoLU (const MatrixType &matrix) | |
Array< Index, 64, 1 > & | pardisoParameterArray () |
Index | rows () const |
const internal::solve_retval < PardisoImpl, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const internal::sparse_solve_retval < PardisoImpl, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
Protected Types | |
typedef PardisoImpl< PardisoLU < MatrixType > > | Base |
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 |
A sparse direct LU factorization and solver based on the PARDISO library.
This class allows to solve for A.X = B sparse linear problems via a direct LU factorization using the Intel MKL PARDISO library. The sparse matrix A must be squared and invertible. 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<> |
|
protected |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protected |
Reimplemented from PardisoImpl< PardisoLU< MatrixType > >.
|
protected |
Reimplemented from PardisoImpl< PardisoLU< MatrixType > >.
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inline |
|
inherited |
|
inlineinherited |
|
inherited |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
|
inlineinherited |
References PardisoImpl< Derived >::m_size.
|
inherited |
Referenced by PardisoLU< MatrixType >::PardisoLU().
|
inlineinherited |
|
inlineinherited |
|
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.
|
inlineprotected |
References PardisoImpl< PardisoLU< MatrixType > >::m_matrix.
|
inlineinherited |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the matrix appears to be negative. References eigen_assert, PardisoImpl< Derived >::m_info, and PardisoImpl< Derived >::m_initialized.
|
inlineprotectedinherited |
References Eigen::InvalidInput, PardisoImpl< Derived >::m_info, Eigen::NumericalIssue, and Eigen::Success.
|
inlineprotectedinherited |
References abs(), PardisoImpl< Derived >::m_iparm, and PardisoImpl< Derived >::m_type.
Referenced by PardisoLU< MatrixType >::PardisoLU().
References PardisoImpl< Derived >::m_iparm.
|
inlineprotectedinherited |
|
inlineinherited |
References PardisoImpl< Derived >::m_size.
|
inlineinherited |
References eigen_assert, PardisoImpl< Derived >::m_initialized, and PardisoImpl< Derived >::rows().
|
inlineinherited |
References EigenBase< Derived >::derived(), eigen_assert, PardisoImpl< Derived >::m_initialized, PardisoImpl< Derived >::rows(), and SparseMatrixBase< Derived >::rows().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
Referenced by PardisoLU< MatrixType >::getMatrix().
|
protectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |