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

Detailed Description

template<typename _MatrixType>
class Eigen::SparseLU< _MatrixType, UmfPack >

Definition at line 126 of file UmfPackSupport.

Inheritance diagram for Eigen::SparseLU< _MatrixType, UmfPack >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef _MatrixType MatrixType
typedef MatrixType::Index Index

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
template<typename Rhs >
const internal::solve_retval
< SparseLU< MatrixType,
UmfPack >, Rhs > 
solve (const MatrixBase< Rhs > &b) const
void compute (const MatrixType &matrix)
 Computes/re-computes the LU factorization.
Index cols () const
Index rows () const
const MatrixTypematrixLU () const
const void * numeric () const
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 solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x, const int transposed=SvNoTrans) const
bool succeeded (void) const

Protected Types

typedef SparseLU< _MatrixType > Base
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

void * m_numeric
const MatrixTypem_matrixRef
LMatrixType m_l
UMatrixType m_u
IntColVectorType m_p
IntRowVectorType m_q
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, UmfPack >::Base [protected]

Definition at line 129 of file UmfPackSupport.

template<typename _MatrixType >
typedef MatrixType::Index Eigen::SparseLU< _MatrixType, UmfPack >::Index

Definition at line 142 of file UmfPackSupport.

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

Definition at line 134 of file UmfPackSupport.

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

Definition at line 133 of file UmfPackSupport.

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

Definition at line 135 of file UmfPackSupport.

typedef SparseMatrix<Scalar> Eigen::SparseLU< _MatrixType, DefaultBackend >::LUMatrixType [protected, inherited]

Definition at line 51 of file SparseExtra.

template<typename _MatrixType >
typedef _MatrixType Eigen::SparseLU< _MatrixType, UmfPack >::MatrixType

Reimplemented from Eigen::SparseLU< _MatrixType >.

Definition at line 141 of file UmfPackSupport.

template<typename _MatrixType >
typedef Base::RealScalar Eigen::SparseLU< _MatrixType, UmfPack >::RealScalar [protected]

Reimplemented from Eigen::SparseLU< _MatrixType >.

Definition at line 131 of file UmfPackSupport.

template<typename _MatrixType >
typedef Base::Scalar Eigen::SparseLU< _MatrixType, UmfPack >::Scalar [protected]

Reimplemented from Eigen::SparseLU< _MatrixType >.

Definition at line 130 of file UmfPackSupport.

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

Definition at line 136 of file UmfPackSupport.

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

Definition at line 132 of file UmfPackSupport.


Member Enumeration Documentation

anonymous enum [protected, inherited]

Definition at line 53 of file SparseExtra.


Constructor & Destructor Documentation

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

Creates a dummy LU factorization object with flags flags.

Reimplemented from Eigen::SparseLU< _MatrixType >.

Definition at line 144 of file UmfPackSupport.

template<typename _MatrixType >
Eigen::SparseLU< _MatrixType, UmfPack >::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 149 of file UmfPackSupport.

template<typename _MatrixType >
Eigen::SparseLU< _MatrixType, UmfPack >::~SparseLU ( ) [inline]

Definition at line 155 of file UmfPackSupport.


Member Function Documentation

template<typename _MatrixType >
Index Eigen::SparseLU< _MatrixType, UmfPack >::cols ( void  ) const [inline]

Definition at line 200 of file UmfPackSupport.

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

Computes/re-computes the LU factorization.

Reimplemented from Eigen::SparseLU< _MatrixType >.

template<typename _MatrixType >
Scalar Eigen::SparseLU< _MatrixType, UmfPack >::determinant ( ) const
template<typename _MatrixType >
void Eigen::SparseLU< _MatrixType, UmfPack >::extractData ( ) const [protected]
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, UmfPack >::matrixL ( void  ) const [inline]

Definition at line 161 of file UmfPackSupport.

template<typename _MatrixType >
const MatrixType& Eigen::SparseLU< _MatrixType, UmfPack >::matrixLU ( ) const [inline]

Definition at line 203 of file UmfPackSupport.

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

Definition at line 167 of file UmfPackSupport.

template<typename _MatrixType >
const void* Eigen::SparseLU< _MatrixType, UmfPack >::numeric ( ) const [inline]

Definition at line 209 of file UmfPackSupport.

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

Definition at line 111 of file SparseExtra.

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

Definition at line 173 of file UmfPackSupport.

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

Definition at line 179 of file UmfPackSupport.

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

Definition at line 91 of file SparseExtra.

template<typename _MatrixType >
Index Eigen::SparseLU< _MatrixType, UmfPack >::rows ( void  ) const [inline]

Definition at line 201 of file UmfPackSupport.

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.

bool Eigen::SparseLU< _MatrixType, DefaultBackend >::solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x,
const int  transposed = SvNoTrans 
) const [inherited]

Computes *x = U^-1 L^-1 b.

Returns:
the lower triangular matrix L
the upper triangular matrix U

If transpose is set to SvTranspose or SvAdjoint, the solution of the transposed/adjoint system is computed instead.

Not all backends implement the solution of the transposed or adjoint system.

template<typename _MatrixType >
template<typename BDerived , typename XDerived >
bool Eigen::SparseLU< _MatrixType, UmfPack >::solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x 
) const
template<typename _MatrixType >
template<typename Rhs >
const internal::solve_retval<SparseLU<MatrixType, UmfPack>, Rhs> Eigen::SparseLU< _MatrixType, UmfPack >::solve ( const MatrixBase< Rhs > &  b) const [inline]

Definition at line 192 of file UmfPackSupport.

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, UmfPack >::m_extractedDataAreDirty [mutable, protected]

Definition at line 226 of file UmfPackSupport.

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

Definition at line 134 of file SparseExtra.

template<typename _MatrixType >
LMatrixType Eigen::SparseLU< _MatrixType, UmfPack >::m_l [mutable, protected]

Definition at line 222 of file UmfPackSupport.

template<typename _MatrixType >
const MatrixType* Eigen::SparseLU< _MatrixType, UmfPack >::m_matrixRef [protected]

Definition at line 221 of file UmfPackSupport.

template<typename _MatrixType >
void* Eigen::SparseLU< _MatrixType, UmfPack >::m_numeric [protected]

Definition at line 220 of file UmfPackSupport.

template<typename _MatrixType >
IntColVectorType Eigen::SparseLU< _MatrixType, UmfPack >::m_p [mutable, protected]

Definition at line 224 of file UmfPackSupport.

RealScalar Eigen::SparseLU< _MatrixType, DefaultBackend >::m_precision [protected, inherited]

Definition at line 133 of file SparseExtra.

template<typename _MatrixType >
IntRowVectorType Eigen::SparseLU< _MatrixType, UmfPack >::m_q [mutable, protected]

Definition at line 225 of file UmfPackSupport.

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, UmfPack >::m_u [mutable, protected]

Definition at line 223 of file UmfPackSupport.




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