Loading web-font TeX/Math/Italic

Dune Core Modules (2.8.0)

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 >

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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Mar 31, 22:53, 2025)