Dune::AssembledLinearOperator< M, X, Y > Class Template Reference
[Operator concept]

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

#include <dune/istl/operators.hh>

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

List of all members.

Public Types

typedef M matrix_type
 export types, usually they come from the derived class
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 const M & getmat () const =0
 get matrix via *
virtual ~AssembledLinearOperator ()
 every abstract base class has a virtual destructor
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) $

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

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

The type of the domain of the operator.

Reimplemented from Dune::LinearOperator< X, Y >.

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

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

The field type of the operator.

Reimplemented from Dune::LinearOperator< X, Y >.

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

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

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

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

The type of the range of the operator.

Reimplemented from Dune::LinearOperator< X, Y >.

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


Constructor & Destructor Documentation

template<class M , class X , class Y >
virtual Dune::AssembledLinearOperator< M, X, Y >::~AssembledLinearOperator (  )  [inline, virtual]

every abstract base class has a virtual destructor


Member Function Documentation

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: $ y = A(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().

template<class X, class Y>
virtual void Dune::LinearOperator< X, Y >::applyscaleadd ( field_type  alpha,
const X &  x,
Y &  y 
) const [pure virtual, inherited]
template<class M , class X , class Y >
virtual const M& Dune::AssembledLinearOperator< M, X, Y >::getmat (  )  const [pure virtual]

The documentation for this class was generated from the following file:
Generated on Sat Apr 24 11:13:49 2010 for dune-istl by  doxygen 1.6.3