|
dune-istl 2.12-git
|
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
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
Member Typedef Documentation
◆ domain_type
| typedef X Dune::LinearOperator< X, Y >::domain_type |
The type of the domain of the operator.
◆ field_type
| typedef X::field_type Dune::LinearOperator< X, Y >::field_type |
The field type of the operator.
◆ range_type
| typedef Y Dune::LinearOperator< X, Y >::range_type |
The type of the range of the operator.
Constructor & Destructor Documentation
◆ ~LinearOperator()
|
inlinevirtual |
every abstract base class has a virtual destructor
Member Function Documentation
◆ apply()
|
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::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
◆ applyscaleadd()
|
pure virtual |
apply operator to x, scale and add: \( y = y + \alpha A(x) \)
Implemented in Dune::NonoverlappingSchwarzOperator< M, X, Y, C >, Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
◆ category()
|
pure virtual |
Category of the linear operator (see SolverCategory::Category)
Implemented in Dune::NonoverlappingSchwarzOperator< M, X, Y, C >, Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8