Public Types | Public Member Functions | Protected Member Functions | Private Member Functions
Eigen::SuperLU< _MatrixType > Class Template Reference

A sparse direct LU factorization and solver based on the SuperLU library. More...

#include <SuperLUSupport.h>

Inheritance diagram for Eigen::SuperLU< _MatrixType >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef SuperLUBase
< _MatrixType, SuperLU
Base
typedef Base::Index Index
typedef Base::IntColVectorType IntColVectorType
typedef Base::IntRowVectorType IntRowVectorType
typedef TriangularView
< LUMatrixType, Lower|UnitDiag
LMatrixType
typedef Base::LUMatrixType LUMatrixType
typedef _MatrixType MatrixType
typedef Base::RealScalar RealScalar
typedef Base::Scalar Scalar
typedef TriangularView
< LUMatrixType, Upper
UMatrixType

Public Member Functions

template<typename Rhs , typename Dest >
void _solve (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
void analyzePattern (const MatrixType &matrix)
Scalar determinant () const
void factorize (const MatrixType &matrix)
const LMatrixTypematrixL () const
const UMatrixTypematrixU () const
const IntColVectorTypepermutationP () const
const IntRowVectorTypepermutationQ () const
 SuperLU ()
 SuperLU (const MatrixType &matrix)
 ~SuperLU ()

Protected Member Functions

void init ()

Private Member Functions

 SuperLU (SuperLU &)

Detailed Description

template<typename _MatrixType>
class Eigen::SuperLU< _MatrixType >

A sparse direct LU factorization and solver based on the SuperLU library.

This class allows to solve for A.X = B sparse linear problems via a direct LU factorization using the SuperLU library. The sparse matrix A must be squared and invertible. 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<>
See also:
TutorialSparseDirectSolvers

Definition at line 479 of file SuperLUSupport.h.


Member Typedef Documentation

template<typename _MatrixType>
typedef SuperLUBase<_MatrixType,SuperLU> Eigen::SuperLU< _MatrixType >::Base

Definition at line 482 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::Index Eigen::SuperLU< _MatrixType >::Index

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 486 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::IntColVectorType Eigen::SuperLU< _MatrixType >::IntColVectorType

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 488 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::IntRowVectorType Eigen::SuperLU< _MatrixType >::IntRowVectorType

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 487 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef TriangularView<LUMatrixType, Lower|UnitDiag> Eigen::SuperLU< _MatrixType >::LMatrixType

Definition at line 490 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::LUMatrixType Eigen::SuperLU< _MatrixType >::LUMatrixType

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 489 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef _MatrixType Eigen::SuperLU< _MatrixType >::MatrixType

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 483 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::RealScalar Eigen::SuperLU< _MatrixType >::RealScalar

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 485 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef Base::Scalar Eigen::SuperLU< _MatrixType >::Scalar

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 484 of file SuperLUSupport.h.

template<typename _MatrixType>
typedef TriangularView<LUMatrixType, Upper> Eigen::SuperLU< _MatrixType >::UMatrixType

Definition at line 491 of file SuperLUSupport.h.


Constructor & Destructor Documentation

template<typename _MatrixType>
Eigen::SuperLU< _MatrixType >::SuperLU ( ) [inline]

Definition at line 495 of file SuperLUSupport.h.

template<typename _MatrixType>
Eigen::SuperLU< _MatrixType >::SuperLU ( const MatrixType matrix) [inline]

Definition at line 497 of file SuperLUSupport.h.

template<typename _MatrixType>
Eigen::SuperLU< _MatrixType >::~SuperLU ( ) [inline]

Definition at line 503 of file SuperLUSupport.h.

template<typename _MatrixType>
Eigen::SuperLU< _MatrixType >::SuperLU ( SuperLU< _MatrixType > &  ) [inline, private]

Definition at line 600 of file SuperLUSupport.h.


Member Function Documentation

template<typename MatrixType >
template<typename Rhs , typename Dest >
void Eigen::SuperLU< MatrixType >::_solve ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  dest 
) const

Definition at line 640 of file SuperLUSupport.h.

template<typename _MatrixType>
void Eigen::SuperLU< _MatrixType >::analyzePattern ( const MatrixType matrix) [inline]

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also:
factorize()

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 513 of file SuperLUSupport.h.

template<typename MatrixType >
SuperLU< MatrixType >::Scalar Eigen::SuperLU< MatrixType >::determinant ( ) const

Definition at line 776 of file SuperLUSupport.h.

template<typename MatrixType >
void Eigen::SuperLU< MatrixType >::factorize ( const MatrixType matrix)

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.

See also:
analyzePattern()

Definition at line 604 of file SuperLUSupport.h.

template<typename _MatrixType>
void Eigen::SuperLU< _MatrixType >::init ( ) [inline, protected]

Reimplemented from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >.

Definition at line 587 of file SuperLUSupport.h.

template<typename _MatrixType>
const LMatrixType& Eigen::SuperLU< _MatrixType >::matrixL ( ) const [inline]

Definition at line 534 of file SuperLUSupport.h.

template<typename _MatrixType>
const UMatrixType& Eigen::SuperLU< _MatrixType >::matrixU ( ) const [inline]

Definition at line 540 of file SuperLUSupport.h.

template<typename _MatrixType>
const IntColVectorType& Eigen::SuperLU< _MatrixType >::permutationP ( ) const [inline]

Definition at line 546 of file SuperLUSupport.h.

template<typename _MatrixType>
const IntRowVectorType& Eigen::SuperLU< _MatrixType >::permutationQ ( ) const [inline]

Definition at line 552 of file SuperLUSupport.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:54