dune-istl 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::LinearOperator< X, Y > Class Template Referenceabstract

A linear operator. More...

#include <dune/istl/operators.hh>

Inheritance diagram for Dune::LinearOperator< X, Y >:
Inheritance graph

Public Types

typedef X domain_type
 The type of the domain of the operator. More...
 
typedef Y range_type
 The type of the range of the operator. More...
 
typedef X::field_type field_type
 The field type of the operator. More...
 

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. More...
 
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) $ More...
 
virtual ~LinearOperator ()
 every abstract base class has a virtual destructor More...
 
virtual SolverCategory::Category category () const =0
 Category of the linear operator (see SolverCategory::Category) More...
 

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.

Member Typedef Documentation

◆ domain_type

template<class X , class Y >
typedef X Dune::LinearOperator< X, Y >::domain_type

The type of the domain of the operator.

◆ field_type

template<class X , class Y >
typedef X::field_type Dune::LinearOperator< X, Y >::field_type

The field type of the operator.

◆ range_type

template<class X , class Y >
typedef Y Dune::LinearOperator< X, Y >::range_type

The type of the range of the operator.

Constructor & Destructor Documentation

◆ ~LinearOperator()

template<class X , class Y >
virtual Dune::LinearOperator< X, Y >::~LinearOperator ( )
inlinevirtual

every abstract base class has a virtual destructor

Member Function Documentation

◆ apply()

template<class X , class Y >
virtual void Dune::LinearOperator< X, Y >::apply ( const X &  x,
Y &  y 
) const
pure virtual

apply operator to x: $ y = A(x) $ The input vector is consistent and the output must also be consistent on the interior+border partition.

Implemented in Dune::NonoverlappingSchwarzOperator< M, X, Y, C >, Dune::OverlappingSchwarzOperator< M, X, Y, C >, and Dune::MatrixAdapter< M, X, Y >.

◆ applyscaleadd()

template<class X , class Y >
virtual void Dune::LinearOperator< X, Y >::applyscaleadd ( field_type  alpha,
const X &  x,
Y &  y 
) const
pure virtual

◆ category()

template<class X , class Y >
virtual SolverCategory::Category Dune::LinearOperator< X, Y >::category ( ) const
pure virtual

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