|
Tpetra Matrix/Vector Services
Version of the Day
|
Tpetra::Operator wrapping a Kokkos kernel using the Tpetra Reduction/Transformation Interface. More...
#include <Tpetra_RTIOp.hpp>

Public Types | |
Typedefs that give access to the template parameters. | |
| typedef S | scalar_type |
| typedef LO | local_ordinal_type |
| typedef GO | global_ordinal_type |
| typedef Node | node_type |
Public Member Functions | |
| const RCP< const Map< LO, GO, Node > > & | getDomainMap () const |
| Returns the Map associated with the domain of this operator, which must be compatible with X.getMap(). | |
| const RCP< const Map< LO, GO, Node > > & | getRangeMap () const |
| Returns the Map associated with the range of this operator, which must be compatible with Y.getMap(). | |
| void | apply (const MultiVector< S, LO, GO, Node > &X, MultiVector< S, LO, GO, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, S alpha=Teuchos::ScalarTraits< S >::one(), S beta=Teuchos::ScalarTraits< S >::zero()) const |
| Computes the operator-multivector application. | |
Pure virtual functions to be overridden by subclasses. | |
| virtual bool | hasTransposeApply () const |
| Indicates whether this operator supports applying the adjoint operator. | |
Tpetra::Operator wrapping a Kokkos kernel using the Tpetra Reduction/Transformation Interface.
Definition at line 54 of file Tpetra_RTIOp.hpp.
| const RCP<const Map<LO,GO,Node> >& Tpetra::RTI::KernelOp< S, LO, GO, Node, Kernel >::getDomainMap | ( | ) | const [inline, virtual] |
Returns the Map associated with the domain of this operator, which must be compatible with X.getMap().
Implements Tpetra::Operator< S, LO, GO, Node >.
Definition at line 89 of file Tpetra_RTIOp.hpp.
| const RCP<const Map<LO,GO,Node> >& Tpetra::RTI::KernelOp< S, LO, GO, Node, Kernel >::getRangeMap | ( | ) | const [inline, virtual] |
Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().
Implements Tpetra::Operator< S, LO, GO, Node >.
Definition at line 91 of file Tpetra_RTIOp.hpp.
| void Tpetra::RTI::KernelOp< S, LO, GO, Node, Kernel >::apply | ( | const MultiVector< S, LO, GO, Node > & | X, |
| MultiVector< S, LO, GO, Node > & | Y, | ||
| Teuchos::ETransp | mode = Teuchos::NO_TRANS, |
||
| S | alpha = Teuchos::ScalarTraits<S>::one(), |
||
| S | beta = Teuchos::ScalarTraits<S>::zero() |
||
| ) | const [inline, virtual] |
Computes the operator-multivector application.
Loosely, performs
. However, the details of operation vary according to the values of alpha and beta. Specifically
beta == 0, apply() must overwrite Y, so that any values in Y (including NaNs) are ignored.alpha == 0, apply() may short-circuit the operator, so that any values in X (including NaNs) are ignored. Implements Tpetra::Operator< S, LO, GO, Node >.
Definition at line 93 of file Tpetra_RTIOp.hpp.
| virtual bool Tpetra::Operator< S , LO , GO , Node >::hasTransposeApply | ( | ) | const [virtual, inherited] |
Indicates whether this operator supports applying the adjoint operator.
1.7.6.1