SuperLU< _MatrixType > Class Template Reference

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

#include <SuperLUSupport.h>

+ Inheritance diagram for SuperLU< _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.
 
superlu_options_t & options ()
 
const internal::solve_retval< SuperLUBase, Rhs > solve (const MatrixBase< Rhs > &b) const
 

Detailed Description

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

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

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

Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
See also
Solving linear problems

Member Function Documentation

◆ analyzePattern()

template<typename _MatrixType>
void 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 SuperLUBase< _MatrixType, SuperLU >::analyzePattern(), and Eigen::InvalidInput.

◆ compute()

void compute ( const MatrixType & matrix)
inlineinherited

Computes the sparse Cholesky decomposition of matrix

◆ factorize()

template<typename MatrixType>
void 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 SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::info(), Eigen::InvalidInput, Eigen::NumericalIssue, and Eigen::Success.

◆ info()

ComputationInfo info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.

Referenced by SuperLU< _MatrixType >::factorize().

◆ options()

superlu_options_t & options ( )
inlineinherited
Returns
a reference to the Super LU option object to configure the Super LU algorithms.

◆ solve()

const internal::solve_retval< SuperLUBase, Rhs > solve ( const MatrixBase< Rhs > & b) const
inlineinherited
Returns
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: