Eigen  3.2.91
Eigen::SuperILU< _MatrixType > Class Template Reference

Detailed Description

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

A sparse direct incomplete LU factorization and solver based on the SuperLU library.

This class allows to solve for an approximate solution of A.X = B sparse linear problems via an incomplete LU factorization using the SuperLU library. This class is aimed to be used as a preconditioner of the iterative linear solvers.

Warning
This class requires SuperLU 4 or later.
Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
See also
Sparse solvers, class ConjugateGradient, class BiCGSTAB
+ Inheritance diagram for Eigen::SuperILU< _MatrixType >:

Public Member Functions

void analyzePattern (const MatrixType &matrix)
 
void compute (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
superlu_options_t & options ()
 
const Solve< SuperILU< _MatrixType >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const Solve< SuperILU< _MatrixType >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 

Member Function Documentation

template<typename _MatrixType >
void Eigen::SuperILU< _MatrixType >::analyzePattern ( const MatrixType &  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()

References Eigen::SuperLUBase< _MatrixType, Derived >::analyzePattern().

void Eigen::SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::compute ( const MatrixType &  matrix)
inlineinherited

Computes the sparse Cholesky decomposition of matrix

template<typename MatrixType >
void Eigen::SuperILU< MatrixType >::factorize ( const MatrixType &  matrix)

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.

See also
analyzePattern()

References Eigen::InvalidInput, Eigen::NumericalIssue, and Eigen::Success.

ComputationInfo Eigen::SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
superlu_options_t& Eigen::SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::options ( )
inlineinherited
Returns
a reference to the Super LU option object to configure the Super LU algorithms.
const Solve<SuperILU< _MatrixType > , Rhs> Eigen::SparseSolverBase< SuperILU< _MatrixType > >::solve ( const MatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()
const Solve<SuperILU< _MatrixType > , Rhs> Eigen::SparseSolverBase< SuperILU< _MatrixType > >::solve ( const SparseMatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()

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