Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
Eigen::PardisoLDLT Class Reference

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::RealScalar RealScalar
 
typedef Base::Scalar Scalar
 
typedef Base::StorageIndex StorageIndex
 

Public Member Functions

Derived & compute (const MatrixType &matrix)
 
void getMatrix (const MatrixType &matrix)
 
 PardisoLDLT ()
 
 PardisoLDLT (const MatrixType &matrix)
 

Protected Types

typedef PardisoImpl< PardisoLDLT< MatrixType, Options > > Base
 

Protected Member Functions

void pardisoInit (int type)
 

Protected Attributes

SparseMatrixType m_matrix
 

Friends

class PardisoImpl< PardisoLDLT< MatrixType, Options > >
 

Detailed Description

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.

\implsparsesolverconcept

See also
Sparse solver concept, class SimplicialLDLT

Definition at line 39 of file PardisoSupport.h.

Member Typedef Documentation

◆ Base

Definition at line 507 of file PardisoSupport.h.

◆ RealScalar

Definition at line 515 of file PardisoSupport.h.

◆ Scalar

Definition at line 514 of file PardisoSupport.h.

◆ StorageIndex

Definition at line 516 of file PardisoSupport.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
UpLo 

Definition at line 518 of file PardisoSupport.h.

Constructor & Destructor Documentation

◆ PardisoLDLT() [1/2]

Eigen::PardisoLDLT::PardisoLDLT ( )
inline

Definition at line 520 of file PardisoSupport.h.

◆ PardisoLDLT() [2/2]

Eigen::PardisoLDLT::PardisoLDLT ( const MatrixType matrix)
inlineexplicit

Definition at line 526 of file PardisoSupport.h.

Member Function Documentation

◆ compute()

Derived & Eigen::PardisoImpl< Derived >::compute

Definition at line 260 of file PardisoSupport.h.

◆ getMatrix()

void Eigen::PardisoLDLT::getMatrix ( const MatrixType matrix)
inline

Definition at line 533 of file PardisoSupport.h.

◆ pardisoInit()

void Eigen::PardisoImpl< Derived >::pardisoInit
inlineprotected

Definition at line 193 of file PardisoSupport.h.

Friends And Related Function Documentation

◆ PardisoImpl< PardisoLDLT< MatrixType, Options > >

friend class PardisoImpl< PardisoLDLT< MatrixType, Options > >
friend

Definition at line 510 of file PardisoSupport.h.

Member Data Documentation

◆ m_matrix

SparseMatrixType Eigen::PardisoImpl< Derived >::m_matrix
mutableprotected

Definition at line 248 of file PardisoSupport.h.


The documentation for this class was generated from the following file:
solver
BiCGSTAB< SparseMatrix< double > > solver
Definition: BiCGSTAB_simple.cpp:5


gtsam
Author(s):
autogenerated on Wed May 15 2024 15:28:42