|
Belos Version of the Day
|
Specialization of OperatorTraits for Operator and MultiVec. More...
#include <BelosOperator.hpp>

Static Public Member Functions | |
| static void | Apply (const Operator< ScalarType > &Op, const MultiVec< ScalarType > &x, MultiVec< ScalarType > &y, ETrans trans=NOTRANS) |
| Specialization of Apply() for Operator and MultiVec objects. | |
| static bool | HasApplyTranspose (const Operator< ScalarType > &Op) |
| Specialization of HasApplyTranspose() for Operator objects. | |
| static void | Apply (const Operator< ScalarType > &Op, const MultiVec< ScalarType > &x, MultiVec< ScalarType > &y, ETrans trans=NOTRANS) |
| Apply Op to x, putting the result into y. | |
| static bool | HasApplyTranspose (const Operator< ScalarType > &Op) |
| Whether this operator implements applying the transpose. | |
Specialization of OperatorTraits for Operator and MultiVec.
This is a partial template specialization of Belos::OperatorTraits class using the Belos::Operator and Belos::MultiVec abstract interfaces. Any class that inherits from Belos::Operator will be accepted by the Belos templated solvers, due to this specialization of Belos::OperatorTraits.
Definition at line 162 of file BelosOperator.hpp.
|
inlinestatic |
Specialization of Apply() for Operator and MultiVec objects.
Definition at line 167 of file BelosOperator.hpp.
|
inlinestatic |
Specialization of HasApplyTranspose() for Operator objects.
Definition at line 177 of file BelosOperator.hpp.
|
inlinestatic |
Apply Op to x, putting the result into y.
If Op, x, and y are real-valued, then applying the conjugate transpose (trans = CONJTRANS) means the same thing as applying the transpose (trans = TRANS).
If Op does not support applying the transpose and you use trans != NOTRANS, or if there is some other error in applying the operator, this method throws a subclass of std::exception.
Definition at line 123 of file BelosOperatorTraits.hpp.
|
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 151 of file BelosOperatorTraits.hpp.
1.13.2