Stratimikos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > > Class Template Reference

Specialization of OperatorTraits for Thyra objects. More...

#include <BelosThyraAdapter.hpp>

Static Public Member Functions

static void Apply (const TLOB &Op, const TMVB &x, TMVB &y, ETrans trans=NOTRANS)
 Apply Op to x, storing the result in y.
static bool HasApplyTranspose (const TLOB &Op)
 Whether the operator implements applying the transpose.

Private Types

typedef Thyra::MultiVectorBase< ScalarType > TMVB
typedef Thyra::LinearOpBase< ScalarType > TLOB

Detailed Description

template<class ScalarType>
class Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > >

Specialization of OperatorTraits for Thyra objects.

This is a partial specialization of the Belos::OperatorTraits traits class with Thyra::LinearOpBase as the operator type, and Thyra::MultiVectorBase class as the multivector type. This interface will ensure that any LinearOpBase and MultiVectorBase implementations will be accepted by the Belos templated solvers.

Definition at line 564 of file BelosThyraAdapter.hpp.

Member Typedef Documentation

◆ TMVB

template<class ScalarType>
typedef Thyra::MultiVectorBase<ScalarType> Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > >::TMVB
private

Definition at line 569 of file BelosThyraAdapter.hpp.

◆ TLOB

template<class ScalarType>
typedef Thyra::LinearOpBase<ScalarType> Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > >::TLOB
private

Definition at line 570 of file BelosThyraAdapter.hpp.

Member Function Documentation

◆ Apply()

template<class ScalarType>
void Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > >::Apply ( const TLOB & Op,
const TMVB & x,
TMVB & y,
ETrans trans = NOTRANS )
inlinestatic

Apply Op to x, storing the result in y.

This method takes the MultiVectorBase x and applies the LinearOpBase Op to it, resulting in the MultiVectorBase y.

If x is not in the domain of the operator or y is not in the range of the operator, then the operator will throw a Thyra::Exceptions::IncompatibleVectorSpaces exception.

We don't check here whether the operator implements the requested trans operation. Call HasApplyTranspose() to check, for the cases trans=TRANS or CONJTRANS. If the operation is not supported, the operator will throw a Thyra::Exceptions::OpNotSupported exception.

Definition at line 589 of file BelosThyraAdapter.hpp.

◆ HasApplyTranspose()

template<class ScalarType>
bool Belos::OperatorTraits< ScalarType, Thyra::MultiVectorBase< ScalarType >, Thyra::LinearOpBase< ScalarType > >::HasApplyTranspose ( const TLOB & Op)
inlinestatic

Whether the operator implements applying the transpose.

Definition at line 617 of file BelosThyraAdapter.hpp.


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