dune-istl 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::MatrixAdapter< M, X, Y > Class Template Reference

Adapter to turn a matrix into a linear operator. More...

#include <dune/istl/operators.hh>

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

Public Types

typedef M matrix_type
 export types
 
typedef X domain_type
 
typedef Y range_type
 
typedef X::field_type field_type
 

Public Member Functions

 MatrixAdapter (const M &A)
 constructor: just store a reference to a matrix
 
 MatrixAdapter (std::shared_ptr< const M > A)
 constructor: store an std::shared_ptr to a matrix
 
void apply (const X &x, Y &y) const override
 apply operator to x: $ y = A(x) $
 
void applyscaleadd (field_type alpha, const X &x, Y &y) const override
 apply operator to x, scale and add: $ y = y + \alpha A(x) $
 
const M & getmat () const override
 get matrix via *
 
SolverCategory::Category category () const override
 Category of the solver (see SolverCategory::Category)
 

Detailed Description

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

Adapter to turn a matrix into a linear operator.

Adapts a matrix to the assembled linear operator interface

Member Typedef Documentation

◆ domain_type

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

◆ field_type

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

◆ matrix_type

template<class M , class X , class Y >
typedef M Dune::MatrixAdapter< M, X, Y >::matrix_type

export types

◆ range_type

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

Constructor & Destructor Documentation

◆ MatrixAdapter() [1/2]

template<class M , class X , class Y >
Dune::MatrixAdapter< M, X, Y >::MatrixAdapter ( const M &  A)
inlineexplicit

constructor: just store a reference to a matrix

◆ MatrixAdapter() [2/2]

template<class M , class X , class Y >
Dune::MatrixAdapter< M, X, Y >::MatrixAdapter ( std::shared_ptr< const M >  A)
inlineexplicit

constructor: store an std::shared_ptr to a matrix

Member Function Documentation

◆ apply()

template<class M , class X , class Y >
void Dune::MatrixAdapter< M, X, Y >::apply ( const X &  x,
Y &  y 
) const
inlineoverridevirtual

apply operator to x: $ y = A(x) $

Implements Dune::LinearOperator< X, Y >.

◆ applyscaleadd()

template<class M , class X , class Y >
void Dune::MatrixAdapter< M, X, Y >::applyscaleadd ( field_type  alpha,
const X &  x,
Y &  y 
) const
inlineoverridevirtual

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

Implements Dune::LinearOperator< X, Y >.

◆ category()

template<class M , class X , class Y >
SolverCategory::Category Dune::MatrixAdapter< M, X, Y >::category ( ) const
inlineoverridevirtual

Category of the solver (see SolverCategory::Category)

Implements Dune::LinearOperator< X, Y >.

◆ getmat()

template<class M , class X , class Y >
const M & Dune::MatrixAdapter< M, X, Y >::getmat ( ) const
inlineoverridevirtual

get matrix via *

Implements Dune::AssembledLinearOperator< M, X, Y >.


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