KASKADE 7 development version
|
Abstract base class for matrix factorizations. More...
#include <factorization.hh>
Abstract base class for matrix factorizations.
Scalar | the underlying field type of the matrix elements. |
Definition at line 42 of file factorization.hh.
Classes | |
struct | Info |
The Info struct provides output information of direct solvers. More... | |
Public Types | |
typedef Scalar | field_type |
The type of matrix elements (a field type). More... | |
using | Options = FactorizationOptions |
Public Member Functions | |
Factorization ()=default | |
Factorization (Options options_) | |
virtual | ~Factorization () |
void | setVerbose (int verbose_) |
int | getVerbose () const |
Info const & | info () const |
virtual size_t | size () const =0 |
reports the dimension of the system More... | |
System solution | |
virtual void | solve (std::vector< field_type > &b) const |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
virtual void | solve (field_type *b) const =0 |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
virtual void | solve (std::vector< Scalar > const &b, std::vector< Scalar > &x, bool transposed=false) const |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
virtual void | solve (Scalar const *b, Scalar *x, bool transposed=false) const =0 |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
Protected Attributes | |
Options | options |
Info | info_ |
typedef Scalar Kaskade::Factorization< Scalar >::field_type |
The type of matrix elements (a field type).
Definition at line 48 of file factorization.hh.
using Kaskade::Factorization< Scalar >::Options = FactorizationOptions |
Definition at line 50 of file factorization.hh.
|
default |
|
inline |
Definition at line 112 of file factorization.hh.
|
inlinevirtual |
Definition at line 113 of file factorization.hh.
|
inline |
Definition at line 115 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization(), and Kaskade::SUPERLUFactorization< Scalar >::SUPERLUFactorization().
|
inline |
Definition at line 117 of file factorization.hh.
|
inline |
Definition at line 114 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization().
|
pure virtual |
reports the dimension of the system
Implemented in Kaskade::MUMPSFactorization< Scalar >, Kaskade::SUPERLUFactorization< Scalar >, and Kaskade::UMFFactorization< Scalar, UMFPackIndex >.
Referenced by Kaskade::Factorization< Scalar >::solve().
|
pure virtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in,out] | b | right hand side, is overwritten with the solution \( x \). This must point to a memory region of length of system dimension. |
Implemented in Kaskade::MUMPSFactorization< Scalar >, Kaskade::SUPERLUFactorization< Scalar >, and Kaskade::UMFFactorization< Scalar, UMFPackIndex >.
|
pure virtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in] | b | the right hand side |
[out] | x | the solution. x must point to a memory region of length of system dimension. |
Implemented in Kaskade::MUMPSFactorization< Scalar >, Kaskade::SUPERLUFactorization< Scalar >, and Kaskade::UMFFactorization< Scalar, UMFPackIndex >.
|
inlinevirtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in,out] | b | right hand side, is overwritten with the solution \( x \). |
Reimplemented in Kaskade::MUMPSFactorization< Scalar >, Kaskade::MUMPSFactorization< Scalar >, Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >, Kaskade::SUPERLUFactorization< Scalar >, and Kaskade::UMFFactorization< Scalar, UMFPackIndex >.
Definition at line 76 of file factorization.hh.
Referenced by Kaskade::Factorization< Scalar >::solve().
|
inlinevirtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in] | b | the right hand side |
[out] | x | the solution. x is resized if needed. |
Reimplemented in Kaskade::MUMPSFactorization< Scalar >, Kaskade::MUMPSFactorization< Scalar >, Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >, Kaskade::SUPERLUFactorization< Scalar >, and Kaskade::UMFFactorization< Scalar, UMFPackIndex >.
Definition at line 94 of file factorization.hh.
|
protected |
Definition at line 126 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::factorize(), and Kaskade::Factorization< Scalar >::info().
|
protected |
Definition at line 125 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::analyze(), Kaskade::MUMPSFactorization< Scalar >::factorize(), Kaskade::Factorization< Scalar >::getVerbose(), Kaskade::MUMPSFactorization< Scalar >::init(), and Kaskade::Factorization< Scalar >::setVerbose().