Belos Version of the Day
Loading...
Searching...
No Matches
Belos::OperatorTraits< Scalar, MV, InnerSolver< Scalar, MV, OP > > Class Template Reference

Partial specialization of OperatorTraits for InnerSolver. More...

#include <BelosInnerSolver.hpp>

Inheritance diagram for Belos::OperatorTraits< Scalar, MV, InnerSolver< Scalar, MV, OP > >:

Static Public Member Functions

static void Apply (const InnerSolver< Scalar, MV, OP > &Op, const MV &x, MV &y, ETrans trans=NOTRANS)
static bool HasApplyTranspose (const OP &Op)
 Whether this operator implements applying the transpose.

Detailed Description

template<class Scalar, class MV, class OP>
class Belos::OperatorTraits< Scalar, MV, InnerSolver< Scalar, MV, OP > >

Partial specialization of OperatorTraits for InnerSolver.

This partial specialization lets you use InnerSolver (or any of its implementations) as an operator ("OP") in any of the Belos iterative methods. Remember that in Belos, the preconditioner and the matrix operators must have the same type. Thus, using InnerSolver as the OP template argument in Belos solvers would be best with unpreconditioned iterative methods.

Definition at line 233 of file BelosInnerSolver.hpp.

Member Function Documentation

◆ Apply()

template<class Scalar, class MV, class OP>
void Belos::OperatorTraits< Scalar, MV, InnerSolver< Scalar, MV, OP > >::Apply ( const InnerSolver< Scalar, MV, OP > & Op,
const MV & x,
MV & y,
ETrans trans = NOTRANS )
inlinestatic

Definition at line 236 of file BelosInnerSolver.hpp.

◆ HasApplyTranspose()

bool Belos::OperatorTraits< Scalar, MV, OP >::HasApplyTranspose ( const OP & Op)
inlinestatic

Whether this operator implements applying the transpose.

The instance of OP which is the first argument of Apply() is not required to support applying the transpose (or Hermitian transpose, if applicable). If it does support applying the transpose, this method should return true. Otherwise, it should return false.

If the operator is complex, "can apply its transpose" means that it can apply both its transpose and its Hermitian transpose.

We provide a default implementation of this method that conservatively returns false. If you want the specialization of OperatorTraits for OP to advertise that operators of type OP may implement applying the transpose, override the default implementation in the specialization.

Definition at line 119 of file BelosOperatorTraits.hpp.


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

Generated on for Belos by doxygen 1.15.0