MOAB  4.9.3pre
Eigen::PardisoLLT< MatrixType, _UpLo > Class Template Reference

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

#include <PardisoSupport.h>

Inheritance diagram for Eigen::PardisoLLT< MatrixType, _UpLo >:
Collaboration diagram for Eigen::PardisoLLT< MatrixType, _UpLo >:

List of all members.

Public Types

enum  { UpLo = _UpLo }
typedef Base::StorageIndex StorageIndex

Public Member Functions

 PardisoLLT ()
 PardisoLLT (const MatrixType &matrix)

Protected Types

typedef PardisoImpl
< PardisoLLT< MatrixType,
_UpLo > > 
Base
typedef Base::Scalar Scalar
typedef Base::RealScalar RealScalar

Protected Member Functions

void getMatrix (const MatrixType &matrix)

Friends

class PardisoImpl< PardisoLLT< MatrixType, _UpLo > >

Detailed Description

template<typename MatrixType, int _UpLo>
class Eigen::PardisoLLT< MatrixType, _UpLo >

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.

Template Parameters:
MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
UpLocan 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.
See also:
TutorialSparseSolverConcept, class SimplicialLLT

Definition at line 433 of file PardisoSupport.h.


Member Typedef Documentation

template<typename MatrixType , int _UpLo>
typedef PardisoImpl< PardisoLLT<MatrixType,_UpLo> > Eigen::PardisoLLT< MatrixType, _UpLo >::Base [protected]

Reimplemented from Eigen::PardisoImpl< PardisoLLT< MatrixType, _UpLo > >.

Definition at line 436 of file PardisoSupport.h.

template<typename MatrixType , int _UpLo>
typedef Base::RealScalar Eigen::PardisoLLT< MatrixType, _UpLo >::RealScalar [protected]

Reimplemented from Eigen::PardisoImpl< PardisoLLT< MatrixType, _UpLo > >.

Definition at line 438 of file PardisoSupport.h.

template<typename MatrixType , int _UpLo>
typedef Base::Scalar Eigen::PardisoLLT< MatrixType, _UpLo >::Scalar [protected]

Reimplemented from Eigen::PardisoImpl< PardisoLLT< MatrixType, _UpLo > >.

Definition at line 437 of file PardisoSupport.h.

template<typename MatrixType , int _UpLo>
typedef Base::StorageIndex Eigen::PardisoLLT< MatrixType, _UpLo >::StorageIndex

Reimplemented from Eigen::PardisoImpl< PardisoLLT< MatrixType, _UpLo > >.

Definition at line 445 of file PardisoSupport.h.


Member Enumeration Documentation

template<typename MatrixType , int _UpLo>
anonymous enum
Enumerator:
UpLo 

Definition at line 446 of file PardisoSupport.h.

{ UpLo = _UpLo };

Constructor & Destructor Documentation

template<typename MatrixType , int _UpLo>
Eigen::PardisoLLT< MatrixType, _UpLo >::PardisoLLT ( ) [inline]

Definition at line 449 of file PardisoSupport.h.

template<typename MatrixType , int _UpLo>
Eigen::PardisoLLT< MatrixType, _UpLo >::PardisoLLT ( const MatrixType matrix) [inline, explicit]

Definition at line 455 of file PardisoSupport.h.

      : Base()
    {
      pardisoInit(Base::ScalarIsComplex ? 4 : 2);
      compute(matrix);
    }

Member Function Documentation

template<typename MatrixType , int _UpLo>
void Eigen::PardisoLLT< MatrixType, _UpLo >::getMatrix ( const MatrixType matrix) [inline, protected]

Definition at line 464 of file PardisoSupport.h.

    {
      // PARDISO supports only upper, row-major matrices
      PermutationMatrix<Dynamic,Dynamic,StorageIndex> p_null;
      m_matrix.resize(matrix.rows(), matrix.cols());
      m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
      m_matrix.makeCompressed();
    }

Friends And Related Function Documentation

template<typename MatrixType , int _UpLo>
friend class PardisoImpl< PardisoLLT< MatrixType, _UpLo > > [friend]

Definition at line 441 of file PardisoSupport.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines