compbio
Public Types | Public Member Functions | Protected Types | Friends | List of all members
Eigen::PardisoLDLT< MatrixType, Options > Class Template Reference

A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library. More...

#include <PardisoSupport.h>

Inheritance diagram for Eigen::PardisoLDLT< MatrixType, Options >:
Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > > Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > > Eigen::internal::noncopyable

Public Types

enum  { UpLo = Options&(Upper|Lower) }
 
typedef Base::StorageIndex StorageIndex
 
- Public Types inherited from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >
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

 PardisoLDLT (const MatrixType &matrix)
 
void getMatrix (const MatrixType &matrix)
 
- Public Member Functions inherited from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >
Index cols () const
 
Index rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
ParameterTypepardisoParameterArray ()
 
PardisoLDLT< MatrixType, Options > & analyzePattern (const MatrixType &matrix)
 Performs a symbolic decomposition on the sparcity of matrix. More...
 
PardisoLDLT< MatrixType, Options > & factorize (const MatrixType &matrix)
 Performs a numeric decomposition of matrix. More...
 
PardisoLDLT< MatrixType, Options > & 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
 
- Public Member Functions inherited from Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >
 SparseSolverBase ()
 Default constructor.
 
PardisoLDLT< MatrixType, Options > & derived ()
 
const PardisoLDLT< MatrixType, Options > & derived () const
 
const Solve< PardisoLDLT< MatrixType, Options >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const Solve< PardisoLDLT< MatrixType, Options >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 

Protected Types

typedef PardisoImpl< PardisoLDLT< MatrixType, Options > > Base
 
typedef Base::Scalar Scalar
 
typedef Base::RealScalar RealScalar
 
- Protected Types inherited from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >
typedef SparseSolverBase< PardisoLDLT< MatrixType, Options > > Base
 
typedef internal::pardiso_traits< PardisoLDLT< MatrixType, Options > > Traits
 

Friends

class PardisoImpl< PardisoLDLT< MatrixType, Options > >
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >
void pardisoRelease ()
 
void pardisoInit (int type)
 
void manageErrorCode (Index error) const
 
- Protected Attributes inherited from Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >
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
 
- Protected Attributes inherited from Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >
bool m_isInitialized
 

Detailed Description

template<typename MatrixType, int Options>
class Eigen::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.

By default, it runs in in-core mode. To enable PARDISO's out-of-core feature, set:

solver.pardisoParameterArray()[59] = 1;
Template Parameters
MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
Optionscan 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.
See also
Sparse solver concept, class SimplicialLDLT

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