Dune Core Modules (unstable)
Dune::LinearOperator< X, Y > Class Template Referenceabstract
A linear operator. More...
#include <dune/istl/operators.hh>
Public Types | |
typedef X | domain_type |
The type of the domain of the operator. | |
typedef Y | range_type |
The type of the range of the operator. | |
typedef X::field_type | field_type |
The field type of the operator. | |
Public Member Functions | |
virtual void | apply (const X &x, Y &y) const =0 |
apply operator to x: \( y = A(x) \) The input vector is consistent and the output must also be consistent on the interior+border partition. | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const =0 |
apply operator to x, scale and add: \( y = y + \alpha A(x) \) | |
virtual | ~LinearOperator () |
every abstract base class has a virtual destructor | |
virtual SolverCategory::Category | category () const =0 |
Category of the linear operator (see SolverCategory::Category) | |
Detailed Description
template<class X, class Y>
class Dune::LinearOperator< X, Y >
class Dune::LinearOperator< X, Y >
A linear operator.
Abstract base class defining a linear operator \( A : X\to Y\), i.e. \( A(\alpha x) = \alpha A(x) \) and \( A(x+y) = A(x)+A(y)\) hold. The simplest solvers just need the application \( A(x)\) of the operator.
- enables on the fly computation through operator concept. If explicit representation of the operator is required use AssembledLinearOperator
- Some inverters may need an explicit formation of the operator as a matrix, e.g. BiCGStab, ILU, AMG, etc. In that case use the derived class
The documentation for this class was generated from the following file:
- dune/istl/operators.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 21, 23:30, 2024)