Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
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]

Public Types

typedef SuperLUBase< _MatrixType, SuperLUBase
 
typedef Base::Index Index
 
typedef Base::IntColVectorType IntColVectorType
 
typedef Base::IntRowVectorType IntRowVectorType
 
typedef TriangularView< LUMatrixType, Lower|UnitDiagLMatrixType
 
typedef Base::LUMatrixType LUMatrixType
 
typedef _MatrixType MatrixType
 
typedef Base::RealScalar RealScalar
 
typedef Base::Scalar Scalar
 
typedef TriangularView< LUMatrixType, UpperUMatrixType
 
- Public Types inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >
typedef MatrixType::Index Index
 
typedef Matrix< int, MatrixType::RowsAtCompileTime, 1 > IntColVectorType
 
typedef Matrix< int, 1, MatrixType::ColsAtCompileTime > IntRowVectorType
 
typedef SparseMatrix< ScalarLUMatrixType
 
typedef _MatrixType MatrixType
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::Scalar Scalar
 
typedef Matrix< Scalar, Dynamic, 1 > Vector
 

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 ()
 
- Public Member Functions inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >
void analyzePattern (const MatrixType &)
 
Index cols () const
 
void compute (const MatrixType &matrix)
 
SuperLU< _MatrixType > & derived ()
 
const SuperLU< _MatrixType > & derived () const
 
void dumpMemory (Stream &)
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
superlu_options_t & options ()
 
Index rows () const
 
const internal::solve_retval< SuperLUBase, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const internal::sparse_solve_retval< SuperLUBase, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
 SuperLUBase ()
 
 ~SuperLUBase ()
 

Protected Member Functions

void init ()
 
- Protected Member Functions inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >
void clearFactors ()
 
void extractData () const
 
void init ()
 
void initFactorization (const MatrixType &a)
 

Private Member Functions

 SuperLU (SuperLU &)
 

Additional Inherited Members

- Protected Attributes inherited from Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >
int m_analysisIsOk
 
bool m_extractedDataAreDirty
 
int m_factorizationIsOk
 
ComputationInfo m_info
 
bool m_isInitialized
 
LUMatrixType m_l
 
LUMatrixType m_matrix
 
IntColVectorType m_p
 
IntRowVectorType m_q
 
SluMatrix m_sluA
 
SluMatrix m_sluB
 
Matrix< RealScalar, Dynamic, 1 > m_sluBerr
 
Matrix< RealScalar, Dynamic, 1 > m_sluCscale
 
char m_sluEqued
 
std::vector< int > m_sluEtree
 
Matrix< RealScalar, Dynamic, 1 > m_sluFerr
 
SuperMatrix m_sluL
 
superlu_options_t m_sluOptions
 
Matrix< RealScalar, Dynamic, 1 > m_sluRscale
 
SuperLUStat_t m_sluStat
 
SuperMatrix m_sluU
 
SluMatrix m_sluX
 
LUMatrixType m_u
 

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

Definition at line 486 of file SuperLUSupport.h.

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

Definition at line 488 of file SuperLUSupport.h.

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

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

Definition at line 489 of file SuperLUSupport.h.

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

Definition at line 483 of file SuperLUSupport.h.

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

Definition at line 485 of file SuperLUSupport.h.

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

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 > &  )
inlineprivate

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()

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 ( )
inlineprotected

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 Mon Jun 10 2019 12:35:41