Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
SparseLU< _MatrixType, Backend > Class Template Reference

LU decomposition of a sparse matrix and associated features. More...

Public Types

typedef _MatrixType MatrixType
 

Public Member Functions

void compute (const _MatrixType &matrix)
 
int flags () const
 
int orderingMethod () const
 
RealScalar precision () const
 
void setFlags (int f)
 
void setOrderingMethod (int m)
 
void setPrecision (RealScalar v)
 
template<typename BDerived , typename XDerived >
bool solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x, const int transposed=SvNoTrans) const
 
template<typename BDerived , typename XDerived >
bool solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x) const
 
 SparseLU (int flags=0)
 
 SparseLU (const _MatrixType &matrix, int flags=0)
 
bool succeeded (void) const
 

Protected Types

enum  { MatrixLUIsDirty }
 
typedef SparseMatrix< Scalar > LUMatrixType
 
typedef NumTraits< typename
_MatrixType::Scalar >::Real 
RealScalar
 
typedef _MatrixType::Scalar Scalar
 

Protected Attributes

int m_flags
 
RealScalar m_precision
 
int m_status
 
bool m_succeeded
 

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

Constructor & Destructor Documentation

SparseLU ( int  flags = 0)
inline

Creates a dummy LU factorization object with flags flags.

SparseLU ( const _MatrixType &  matrix,
int  flags = 0 
)
inline

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

Member Function Documentation

void compute ( const MatrixType &  matrix)

Computes/re-computes the LU factorization

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

int flags ( ) const
inline
Returns
the current flags
RealScalar precision ( ) const
inline
Returns
the current precision.
See Also
setPrecision()
void setFlags ( int  f)
inline

Sets the flags. Possible values are:

  • CompleteFactorization
  • IncompleteFactorization
  • MemoryEfficient
  • one of the ordering methods
  • etc...
See Also
flags()
void 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()
bool solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > *  x,
const int  transposed = SvNoTrans 
) const
Returns
the lower triangular matrix L
the upper triangular matrix U

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

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.

bool succeeded ( void  ) const
inline
Returns
true if the factorization succeeded

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