Loading...
Searching...
No Matches
Dune::AssembledLinearOperator< M, X, Y > Class Template Referenceabstract
Iterative Solvers Template Library (ISTL) » Iterative Solvers » Operator concept

A linear operator exporting itself in matrix form. More...

`#include <dune/istl/operators.hh>`

Inheritance diagram for Dune::AssembledLinearOperator< M, X, Y >:

## Public Types

typedef M | matrix_type
| export types, usually they come from the derived class
typedef X | domain_type
typedef Y | range_type
typedef X::field_type | field_type

## Public Member Functions

virtual const M & | getmat () const =0
| get reference to matrix
virtual void | apply (const X &x, Y &y) const =0
| apply operator to 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:
virtual SolverCategory::Category | category () const =0
| Category of the linear operator (see SolverCategory::Category).

## Detailed Description

template<class M, class X, class Y>
class Dune::AssembledLinearOperator< M, X, Y >

A linear operator exporting itself in matrix form.

Linear Operator that exports the operator in matrix form. This is needed for certain solvers, such as LU decomposition, ILU preconditioners or BiCG-Stab (because of multiplication with A^T).

## Member Typedef Documentation

## domain_type

template<class M, class X, class Y>

typedef X Dune::AssembledLinearOperator< M, X, Y >::domain_type

## field_type

template<class M, class X, class Y>

typedef X::field_type Dune::AssembledLinearOperator< M, X, Y >::field_type

## matrix_type

template<class M, class X, class Y>

typedef M Dune::AssembledLinearOperator< M, X, Y >::matrix_type

export types, usually they come from the derived class

## range_type

template<class M, class X, class Y>

typedef Y Dune::AssembledLinearOperator< M, X, Y >::range_type

## Member Function Documentation

## apply()

template<class X, class Y>

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

pure virtual inherited

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 >, Dune::NonoverlappingSchwarzOperator< M, X, Y, C >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.

## applyscaleadd()

template<class X, class Y>

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

pure virtual inherited

apply operator to x, scale and add:

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

## category()

template<class X, class Y>

virtual SolverCategory::Category Dune::LinearOperator< X, Y >::category | ( |  | ) | const

pure virtual inherited

Category of the linear operator (see SolverCategory::Category).

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

## getmat()

template<class M, class X, class Y>

virtual const M & Dune::AssembledLinearOperator< M, X, Y >::getmat | ( |  | ) | const

pure virtual

get reference to matrix

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

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

- operators.hh