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

Detailed Description

template<typename _MatrixType, typename Backend = DefaultBackend>
class Eigen::SparseLU< _MatrixType, Backend >

LU decomposition of a sparse matrix and associated features.

Parameters:
_MatrixTypethe type of the matrix of which we are computing the LU factorization
See also:
class FullPivLU, class SparseLLT

Definition at line 46 of file SparseExtra.

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

List of all members.

Public Types

typedef _MatrixType MatrixType

Public Member Functions

 SparseLU (int flags=0)
 Creates a dummy LU factorization object with flags flags.
 SparseLU (const _MatrixType &matrix, int flags=0)
 Creates a LU object and compute the respective factorization of matrix using flags flags.
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
void compute (const _MatrixType &matrix)
 Computes/re-computes the LU factorization.
template<typename BDerived , typename XDerived >
bool solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x, const int transposed=SvNoTrans) const
 Computes *x = U^-1 L^-1 b.
bool succeeded (void) const
template<typename BDerived , typename XDerived >
bool solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x) const

Protected Types

enum  { MatrixLUIsDirty = 0x10000 }
typedef _MatrixType::Scalar Scalar
typedef NumTraits< typename
_MatrixType::Scalar >::Real 
RealScalar
typedef SparseMatrix< ScalarLUMatrixType

Protected Attributes

RealScalar m_precision
int m_flags
int m_status
bool m_succeeded

Member Typedef Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef SparseMatrix<Scalar> Eigen::SparseLU< _MatrixType, Backend >::LUMatrixType [protected]

Definition at line 51 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType Eigen::SparseLU< _MatrixType, Backend >::MatrixType

Reimplemented in Eigen::SparseLU< _MatrixType, UmfPack >.

Definition at line 58 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef NumTraits<typename _MatrixType::Scalar>::Real Eigen::SparseLU< _MatrixType, Backend >::RealScalar [protected]
template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType::Scalar Eigen::SparseLU< _MatrixType, Backend >::Scalar [protected]

Member Enumeration Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
anonymous enum [protected]
Enumerator:
MatrixLUIsDirty 

Definition at line 53 of file SparseExtra.


Constructor & Destructor Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
Eigen::SparseLU< _MatrixType, Backend >::SparseLU ( int  flags = 0) [inline]

Creates a dummy LU factorization object with flags flags.

Reimplemented in Eigen::SparseLU< MatrixType, SuperLU >, and Eigen::SparseLU< _MatrixType, UmfPack >.

Definition at line 61 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
Eigen::SparseLU< _MatrixType, Backend >::SparseLU ( const _MatrixType &  matrix,
int  flags = 0 
) [inline]

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

Reimplemented in Eigen::SparseLU< MatrixType, SuperLU >, and Eigen::SparseLU< _MatrixType, UmfPack >.

Definition at line 69 of file SparseExtra.


Member Function Documentation

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

Computes/re-computes the LU factorization.

Computes / recomputes the LU decomposition of matrix a using the default algorithm.

Reimplemented in Eigen::SparseLU< MatrixType, SuperLU >, and Eigen::SparseLU< _MatrixType, UmfPack >.

Definition at line 143 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
int Eigen::SparseLU< _MatrixType, Backend >::flags ( ) const [inline]
Returns:
the current flags

Definition at line 103 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
int Eigen::SparseLU< _MatrixType, Backend >::orderingMethod ( ) const [inline]

Definition at line 111 of file SparseExtra.

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

Definition at line 91 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
void Eigen::SparseLU< _MatrixType, Backend >::setFlags ( int  f) [inline]

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.

template<typename _MatrixType, typename Backend = DefaultBackend>
void Eigen::SparseLU< _MatrixType, Backend >::setOrderingMethod ( int  m) [inline]

Definition at line 105 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
void Eigen::SparseLU< _MatrixType, Backend >::setPrecision ( RealScalar  v) [inline]

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 , typename Backend >
template<typename BDerived , typename XDerived >
bool Eigen::SparseLU< _MatrixType, Backend >::solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x,
const int  transposed = SvNoTrans 
) const

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.

Reimplemented in Eigen::SparseLU< MatrixType, SuperLU >.

Definition at line 158 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
template<typename BDerived , typename XDerived >
bool Eigen::SparseLU< _MatrixType, Backend >::solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x 
) const

Definition at line 327 of file UmfPackSupport.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool Eigen::SparseLU< _MatrixType, Backend >::succeeded ( void  ) const [inline]
Returns:
true if the factorization succeeded

Definition at line 130 of file SparseExtra.


Member Data Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
int Eigen::SparseLU< _MatrixType, Backend >::m_flags [protected]

Definition at line 134 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
RealScalar Eigen::SparseLU< _MatrixType, Backend >::m_precision [protected]

Definition at line 133 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
int Eigen::SparseLU< _MatrixType, Backend >::m_status [mutable, protected]

Definition at line 135 of file SparseExtra.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool Eigen::SparseLU< _MatrixType, Backend >::m_succeeded [protected]

Definition at line 136 of file SparseExtra.




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