Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Eigen::SparseLU< MatrixType, SuperLU > Class Template Reference

Detailed Description

template<typename MatrixType>
class Eigen::SparseLU< MatrixType, SuperLU >

Definition at line 300 of file SuperLUSupport.

Inheritance diagram for Eigen::SparseLU< MatrixType, SuperLU >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef MatrixType MatrixType

Public Member Functions

 SparseLU (int flags=NaturalOrdering)
 Creates a dummy LU factorization object with flags flags.
 SparseLU (const MatrixType &matrix, int flags=NaturalOrdering)
 Creates a LU object and compute the respective factorization of matrix using flags flags.
 ~SparseLU ()
const LMatrixTypematrixL () const
const UMatrixTypematrixU () const
const IntColVectorTypepermutationP () const
const IntRowVectorTypepermutationQ () const
Scalar determinant () const
template<typename BDerived , typename XDerived >
bool solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x, const int transposed=SvNoTrans) const
void compute (const MatrixType &matrix)
 Computes/re-computes the LU factorization.
void setPrecision (RealScalar v)
 Sets the relative threshold value used to prune zero coefficients during the decomposition.
RealScalar precision () const
void setFlags (int f)
 Sets the flags.
int flags () const
void setOrderingMethod (int m)
int orderingMethod () const
bool succeeded (void) const

Protected Types

typedef SparseLU< MatrixTypeBase
typedef Base::Scalar Scalar
typedef Base::RealScalar RealScalar
typedef Matrix< Scalar,
Dynamic, 1 > 
Vector
typedef Matrix< int,
1, MatrixType::ColsAtCompileTime > 
IntRowVectorType
typedef Matrix< int,
MatrixType::RowsAtCompileTime, 1 > 
IntColVectorType
typedef SparseMatrix< Scalar,
Lower|UnitDiag > 
LMatrixType
typedef SparseMatrix< Scalar,
Upper > 
UMatrixType
enum  
typedef SparseMatrix< ScalarLUMatrixType

Protected Member Functions

void extractData () const

Protected Attributes

LMatrixType m_l
UMatrixType m_u
IntColVectorType m_p
IntRowVectorType m_q
SparseMatrix< Scalarm_matrix
SluMatrix m_sluA
SuperMatrix m_sluL
SuperMatrix m_sluU
SluMatrix m_sluB
SluMatrix m_sluX
SuperLUStat_t m_sluStat
superlu_options_t m_sluOptions
std::vector< int > m_sluEtree
std::vector< RealScalarm_sluRscale
std::vector< RealScalarm_sluCscale
std::vector< RealScalarm_sluFerr
std::vector< RealScalarm_sluBerr
char m_sluEqued
bool m_extractedDataAreDirty
RealScalar m_precision
int m_flags
int m_status
bool m_succeeded

Member Typedef Documentation

template<typename MatrixType >
typedef SparseLU<MatrixType> Eigen::SparseLU< MatrixType, SuperLU >::Base [protected]

Definition at line 303 of file SuperLUSupport.

template<typename MatrixType >
typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::SparseLU< MatrixType, SuperLU >::IntColVectorType [protected]

Definition at line 308 of file SuperLUSupport.

template<typename MatrixType >
typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::SparseLU< MatrixType, SuperLU >::IntRowVectorType [protected]

Definition at line 307 of file SuperLUSupport.

template<typename MatrixType >
typedef SparseMatrix<Scalar,Lower|UnitDiag> Eigen::SparseLU< MatrixType, SuperLU >::LMatrixType [protected]

Definition at line 309 of file SuperLUSupport.

Definition at line 51 of file SparseExtra.

Definition at line 58 of file SparseExtra.

template<typename MatrixType >
typedef Base::RealScalar Eigen::SparseLU< MatrixType, SuperLU >::RealScalar [protected]

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 305 of file SuperLUSupport.

template<typename MatrixType >
typedef Base::Scalar Eigen::SparseLU< MatrixType, SuperLU >::Scalar [protected]

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 304 of file SuperLUSupport.

template<typename MatrixType >
typedef SparseMatrix<Scalar,Upper> Eigen::SparseLU< MatrixType, SuperLU >::UMatrixType [protected]

Definition at line 310 of file SuperLUSupport.

template<typename MatrixType >
typedef Matrix<Scalar,Dynamic,1> Eigen::SparseLU< MatrixType, SuperLU >::Vector [protected]

Definition at line 306 of file SuperLUSupport.


Member Enumeration Documentation

anonymous enum [protected, inherited]

Definition at line 53 of file SparseExtra.


Constructor & Destructor Documentation

template<typename MatrixType >
Eigen::SparseLU< MatrixType, SuperLU >::SparseLU ( int  flags = NaturalOrdering) [inline]

Creates a dummy LU factorization object with flags flags.

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 316 of file SuperLUSupport.

template<typename MatrixType >
Eigen::SparseLU< MatrixType, SuperLU >::SparseLU ( const MatrixType matrix,
int  flags = NaturalOrdering 
) [inline]

Creates a LU object and compute the respective factorization of matrix using flags flags.

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 321 of file SuperLUSupport.

template<typename MatrixType >
Eigen::SparseLU< MatrixType, SuperLU >::~SparseLU ( ) [inline]

Definition at line 327 of file SuperLUSupport.


Member Function Documentation

template<typename MatrixType >
void Eigen::SparseLU< MatrixType, SuperLU >::compute ( const MatrixType matrix)

Computes/re-computes the LU factorization.

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 389 of file SuperLUSupport.

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

Definition at line 643 of file SuperLUSupport.

template<typename MatrixType >
void Eigen::SparseLU< MatrixType, SuperLU >::extractData ( ) const [protected]

Definition at line 558 of file SuperLUSupport.

int Eigen::SparseLU< MatrixType , DefaultBackend >::flags ( ) const [inline, inherited]
Returns:
the current flags

Definition at line 103 of file SparseExtra.

template<typename MatrixType >
const LMatrixType& Eigen::SparseLU< MatrixType, SuperLU >::matrixL ( void  ) const [inline]

Definition at line 333 of file SuperLUSupport.

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

Definition at line 339 of file SuperLUSupport.

int Eigen::SparseLU< MatrixType , DefaultBackend >::orderingMethod ( ) const [inline, inherited]

Definition at line 111 of file SparseExtra.

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

Definition at line 345 of file SuperLUSupport.

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

Definition at line 351 of file SuperLUSupport.

RealScalar Eigen::SparseLU< MatrixType , DefaultBackend >::precision ( ) const [inline, inherited]
Returns:
the current precision.
See also:
setPrecision()

Definition at line 91 of file SparseExtra.

void Eigen::SparseLU< MatrixType , DefaultBackend >::setFlags ( int  f) [inline, inherited]

Sets the flags.

Possible values are:

  • CompleteFactorization
  • IncompleteFactorization
  • MemoryEfficient
  • one of the ordering methods
  • etc...
See also:
Flags

Definition at line 101 of file SparseExtra.

void Eigen::SparseLU< MatrixType , DefaultBackend >::setOrderingMethod ( int  m) [inline, inherited]

Definition at line 105 of file SparseExtra.

void Eigen::SparseLU< MatrixType , DefaultBackend >::setPrecision ( RealScalar  v) [inline, inherited]

Sets the relative threshold value used to prune zero coefficients during the decomposition.

Setting a value greater than zero speeds up computation, and yields to an imcomplete factorization with fewer non zero coefficients. Such approximate factors are especially useful to initialize an iterative solver.

Note that the exact meaning of this parameter might depends on the actual backend. Moreover, not all backends support this feature.

See also:
precision()

Definition at line 86 of file SparseExtra.

template<typename MatrixType >
template<typename BDerived , typename XDerived >
bool Eigen::SparseLU< MatrixType, SuperLU >::solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x,
const int  transposed = SvNoTrans 
) const
Returns:
the lower triangular matrix L
the upper triangular matrix U

Reimplemented from Eigen::SparseLU< MatrixType >.

Definition at line 485 of file SuperLUSupport.

bool Eigen::SparseLU< MatrixType , DefaultBackend >::succeeded ( void  ) const [inline, inherited]
Returns:
true if the factorization succeeded

Definition at line 130 of file SparseExtra.


Member Data Documentation

template<typename MatrixType >
bool Eigen::SparseLU< MatrixType, SuperLU >::m_extractedDataAreDirty [mutable, protected]

Definition at line 385 of file SuperLUSupport.

int Eigen::SparseLU< MatrixType , DefaultBackend >::m_flags [protected, inherited]

Definition at line 134 of file SparseExtra.

template<typename MatrixType >
LMatrixType Eigen::SparseLU< MatrixType, SuperLU >::m_l [mutable, protected]

Definition at line 370 of file SuperLUSupport.

template<typename MatrixType >
SparseMatrix<Scalar> Eigen::SparseLU< MatrixType, SuperLU >::m_matrix [mutable, protected]

Definition at line 375 of file SuperLUSupport.

template<typename MatrixType >
IntColVectorType Eigen::SparseLU< MatrixType, SuperLU >::m_p [mutable, protected]

Definition at line 372 of file SuperLUSupport.

Definition at line 133 of file SparseExtra.

template<typename MatrixType >
IntRowVectorType Eigen::SparseLU< MatrixType, SuperLU >::m_q [mutable, protected]

Definition at line 373 of file SuperLUSupport.

template<typename MatrixType >
SluMatrix Eigen::SparseLU< MatrixType, SuperLU >::m_sluA [mutable, protected]

Definition at line 376 of file SuperLUSupport.

template<typename MatrixType >
SluMatrix Eigen::SparseLU< MatrixType, SuperLU >::m_sluB [mutable, protected]

Definition at line 378 of file SuperLUSupport.

template<typename MatrixType >
std::vector<RealScalar> Eigen::SparseLU< MatrixType, SuperLU >::m_sluBerr [mutable, protected]

Definition at line 383 of file SuperLUSupport.

template<typename MatrixType >
std::vector<RealScalar> Eigen::SparseLU< MatrixType, SuperLU >::m_sluCscale [mutable, protected]

Definition at line 382 of file SuperLUSupport.

template<typename MatrixType >
char Eigen::SparseLU< MatrixType, SuperLU >::m_sluEqued [mutable, protected]

Definition at line 384 of file SuperLUSupport.

template<typename MatrixType >
std::vector<int> Eigen::SparseLU< MatrixType, SuperLU >::m_sluEtree [mutable, protected]

Definition at line 381 of file SuperLUSupport.

template<typename MatrixType >
std::vector<RealScalar> Eigen::SparseLU< MatrixType, SuperLU >::m_sluFerr [mutable, protected]

Definition at line 383 of file SuperLUSupport.

template<typename MatrixType >
SuperMatrix Eigen::SparseLU< MatrixType, SuperLU >::m_sluL [mutable, protected]

Definition at line 377 of file SuperLUSupport.

template<typename MatrixType >
superlu_options_t Eigen::SparseLU< MatrixType, SuperLU >::m_sluOptions [mutable, protected]

Definition at line 380 of file SuperLUSupport.

template<typename MatrixType >
std::vector<RealScalar> Eigen::SparseLU< MatrixType, SuperLU >::m_sluRscale [mutable, protected]

Definition at line 382 of file SuperLUSupport.

template<typename MatrixType >
SuperLUStat_t Eigen::SparseLU< MatrixType, SuperLU >::m_sluStat [mutable, protected]

Definition at line 379 of file SuperLUSupport.

template<typename MatrixType >
SuperMatrix Eigen::SparseLU< MatrixType, SuperLU >::m_sluU [mutable, protected]

Definition at line 377 of file SuperLUSupport.

template<typename MatrixType >
SluMatrix Eigen::SparseLU< MatrixType, SuperLU >::m_sluX [mutable, protected]

Definition at line 378 of file SuperLUSupport.

int Eigen::SparseLU< MatrixType , DefaultBackend >::m_status [mutable, protected, inherited]

Definition at line 135 of file SparseExtra.

bool Eigen::SparseLU< MatrixType , DefaultBackend >::m_succeeded [protected, inherited]

Definition at line 136 of file SparseExtra.

template<typename MatrixType >
UMatrixType Eigen::SparseLU< MatrixType, SuperLU >::m_u [mutable, protected]

Definition at line 371 of file SuperLUSupport.




Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 Hosted on:
SourceForge.net Logo