MOAB
4.9.3pre
|
A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library. More...
#include <PardisoSupport.h>
Public Types | |
enum | { UpLo = Options&(Upper|Lower) } |
typedef Base::StorageIndex | StorageIndex |
Public Member Functions | |
PardisoLDLT () | |
PardisoLDLT (const MatrixType &matrix) | |
void | getMatrix (const MatrixType &matrix) |
Protected Types | |
typedef PardisoImpl < PardisoLDLT< MatrixType, Options > > | Base |
typedef Base::Scalar | Scalar |
typedef Base::RealScalar | RealScalar |
Friends | |
class | PardisoImpl< PardisoLDLT< MatrixType, Options > > |
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 493 of file PardisoSupport.h.
typedef PardisoImpl< PardisoLDLT<MatrixType,Options> > Eigen::PardisoLDLT< MatrixType, Options >::Base [protected] |
Reimplemented from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >.
Definition at line 496 of file PardisoSupport.h.
typedef Base::RealScalar Eigen::PardisoLDLT< MatrixType, Options >::RealScalar [protected] |
Reimplemented from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >.
Definition at line 498 of file PardisoSupport.h.
typedef Base::Scalar Eigen::PardisoLDLT< MatrixType, Options >::Scalar [protected] |
Reimplemented from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >.
Definition at line 497 of file PardisoSupport.h.
typedef Base::StorageIndex Eigen::PardisoLDLT< MatrixType, Options >::StorageIndex |
Reimplemented from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >.
Definition at line 505 of file PardisoSupport.h.
anonymous enum |
Eigen::PardisoLDLT< MatrixType, Options >::PardisoLDLT | ( | ) | [inline] |
Definition at line 509 of file PardisoSupport.h.
: Base() { pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2); }
Eigen::PardisoLDLT< MatrixType, Options >::PardisoLDLT | ( | const MatrixType & | matrix | ) | [inline, explicit] |
Definition at line 515 of file PardisoSupport.h.
: Base() { pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2); compute(matrix); }
void Eigen::PardisoLDLT< MatrixType, Options >::getMatrix | ( | const MatrixType & | matrix | ) | [inline] |
Definition at line 522 of file PardisoSupport.h.
friend class PardisoImpl< PardisoLDLT< MatrixType, Options > > [friend] |
Definition at line 501 of file PardisoSupport.h.