dune-istl  2.5-git
Public Types | Public Member Functions | Protected Attributes | List of all members
Dune::ScalingLinearOperator< X, Y > Class Template Reference

A linear operator scaling vectors by a scalar value. The scalar value can be changed as it is given in a form decomposed into an immutable and a mutable part. More...

#include <dune/istl/eigenvalue/poweriteration.hh>

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

Public Types

enum  { category = Dune::SolverCategory::sequential }
 
typedef X domain_type
 
typedef Y range_type
 
typedef X::field_type field_type
 

Public Member Functions

 ScalingLinearOperator (field_type immutable_scaling, const field_type &mutable_scaling)
 
virtual void apply (const X &x, Y &y) const
 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
 apply operator to x, scale and add: $ y = y + \alpha A(x) $ More...
 

Protected Attributes

const field_type immutable_scaling_
 
const field_typemutable_scaling_
 

Detailed Description

template<class X, class Y = X>
class Dune::ScalingLinearOperator< X, Y >

A linear operator scaling vectors by a scalar value. The scalar value can be changed as it is given in a form decomposed into an immutable and a mutable part.

Author
Sebastian Westerheide.

Member Typedef Documentation

§ domain_type

template<class X , class Y = X>
typedef X Dune::ScalingLinearOperator< X, Y >::domain_type

§ field_type

template<class X , class Y = X>
typedef X::field_type Dune::ScalingLinearOperator< X, Y >::field_type

§ range_type

template<class X , class Y = X>
typedef Y Dune::ScalingLinearOperator< X, Y >::range_type

Member Enumeration Documentation

§ anonymous enum

template<class X , class Y = X>
anonymous enum
Enumerator
category 

Constructor & Destructor Documentation

§ ScalingLinearOperator()

template<class X , class Y = X>
Dune::ScalingLinearOperator< X, Y >::ScalingLinearOperator ( field_type  immutable_scaling,
const field_type mutable_scaling 
)
inline

Member Function Documentation

§ apply()

template<class X , class Y = X>
virtual void Dune::ScalingLinearOperator< X, Y >::apply ( const X &  x,
Y &  y 
) const
inlinevirtual

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

Implements Dune::LinearOperator< X, Y >.

§ applyscaleadd()

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

apply operator to x, scale and add: $ y = y + \alpha A(x) $

Implements Dune::LinearOperator< X, Y >.

Member Data Documentation

§ immutable_scaling_

template<class X , class Y = X>
const field_type Dune::ScalingLinearOperator< X, Y >::immutable_scaling_
protected

§ mutable_scaling_

template<class X , class Y = X>
const field_type& Dune::ScalingLinearOperator< X, Y >::mutable_scaling_
protected

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