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: ![]() | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const =0 |
apply operator to x, scale and add: ![]() | |
virtual | ~LinearOperator () |
every abstract base class has a virtual destructor |
A linear operator.
Abstract base class defining a linear operator , i.e.
and
hold. The simplest solvers just need the application
of the operator.
typedef X Dune::LinearOperator< X, Y >::domain_type |
The type of the domain of the operator.
Reimplemented in Dune::AssembledLinearOperator< M, X, Y >, Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
typedef X::field_type Dune::LinearOperator< X, Y >::field_type |
The field type of the operator.
Reimplemented in Dune::AssembledLinearOperator< M, X, Y >, Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
typedef Y Dune::LinearOperator< X, Y >::range_type |
The type of the range of the operator.
Reimplemented in Dune::AssembledLinearOperator< M, X, Y >, Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
virtual Dune::LinearOperator< X, Y >::~LinearOperator | ( | ) | [inline, virtual] |
every abstract base class has a virtual destructor
virtual void Dune::LinearOperator< X, Y >::apply | ( | const X & | x, | |
Y & | y | |||
) | const [pure virtual] |
apply operator to x: The input vector is consistent and the output must also be consistent on the interior+border partition.
Implemented in Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
Referenced by Dune::RestartedGMResSolver< X, Y, F >::apply(), Dune::MINRESSolver< X >::apply(), Dune::BiCGSTABSolver< X >::apply(), Dune::CGSolver< X >::apply(), and Dune::GradientSolver< X >::apply().
virtual void Dune::LinearOperator< X, Y >::applyscaleadd | ( | field_type | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [pure virtual] |
apply operator to x, scale and add:
Implemented in Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
Referenced by Dune::RestartedGMResSolver< X, Y, F >::apply(), Dune::MINRESSolver< X >::apply(), Dune::BiCGSTABSolver< X >::apply(), Dune::CGSolver< X >::apply(), Dune::GradientSolver< X >::apply(), and Dune::LoopSolver< X >::apply().