Eigen  3.2.7
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
UmfPackLU< _MatrixType > Class Template Reference

Detailed Description

template<typename _MatrixType>
class Eigen::UmfPackLU< _MatrixType >

A sparse LU factorization and solver based on UmfPack.

This class allows to solve for A.X = B sparse linear problems via a LU factorization using the UmfPack library. The sparse matrix A must be squared and full rank. The vectors or matrices X and B can be either dense or sparse.

Warning
The input matrix A should be in a compressed and column-major form. Otherwise an expensive copy will be made. You can call the inexpensive makeCompressed() to get a compressed matrix.
Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
See Also
Sparse solvers

Inherits noncopyable.

Public Member Functions

template<typename InputMatrixType >
void analyzePattern (const InputMatrixType &matrix)
 
template<typename InputMatrixType >
void compute (const InputMatrixType &matrix)
 
template<typename InputMatrixType >
void factorize (const InputMatrixType &matrix)
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
template<typename Rhs >
const internal::solve_retval
< UmfPackLU, Rhs > 
solve (const MatrixBase< Rhs > &b) const
 
template<typename Rhs >
const
internal::sparse_solve_retval
< UmfPackLU, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
 

Member Function Documentation

void analyzePattern ( const InputMatrixType &  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(), compute()
void compute ( const InputMatrixType &  matrix)
inline

Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.

See Also
SparseMatrix::makeCompressed().
void factorize ( const InputMatrixType &  matrix)
inline

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the pattern anylysis has been performed.

See Also
analyzePattern(), compute()
ComputationInfo info ( ) const
inline

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
const internal::solve_retval<UmfPackLU, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()
const internal::sparse_solve_retval<UmfPackLU, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()

References EigenBase< Derived >::derived(), and SparseMatrixBase< Derived >::rows().


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