|
Xpetra
Version of the Day
|
Wraps an existing halfer precision Xpetra::Operator as a Xpetra::Operator. More...
#include <Xpetra_TpetraHalfPrecisionOperator.hpp>
Public Types | |
| typedef Teuchos::ScalarTraits < Scalar >::halfPrecision | HalfScalar |
Public Types inherited from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| typedef Scalar | scalar_type |
| The type of the entries of the input and output multivectors. More... | |
| typedef LocalOrdinal | local_ordinal_type |
| The local index type. More... | |
| typedef GlobalOrdinal | global_ordinal_type |
| The global index type. More... | |
| typedef Node | node_type |
| The Kokkos Node type. More... | |
Public Member Functions | |
| const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const |
| Returns the Tpetra::Map object associated with the domain of this TpetraOperator. More... | |
| const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const |
| Returns the Tpetra::Map object associated with the range of this TpetraOperator. More... | |
| void | apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::one()) const |
| Returns in Y the result of a Xpetra::TpetraOperator applied to a Xpetra::MultiVector X. More... | |
| bool | hasTransposeApply () const |
| Indicates whether this TpetraOperator supports applying the adjoint TpetraOperator. More... | |
| void | residual (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &R) const |
| Compute a residual R = B - (*this) * X. More... | |
Public Member Functions inherited from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| virtual | ~Operator () |
| virtual void | removeEmptyProcessesInPlace (const RCP< const map_type > &) |
Private Attributes | |
| RCP< Xpetra::Operator < HalfScalar, LocalOrdinal, GlobalOrdinal, Node > > | Op_ |
| RCP< Xpetra::MultiVector < HalfScalar, LocalOrdinal, GlobalOrdinal, Node > > | X_ |
| RCP< Xpetra::MultiVector < HalfScalar, LocalOrdinal, GlobalOrdinal, Node > > | Y_ |
Constructor/Destructor | |
| TpetraHalfPrecisionOperator (const RCP< Xpetra::Operator< HalfScalar, LocalOrdinal, GlobalOrdinal, Node >> &op) | |
| Constructor. More... | |
| void | Allocate (int numVecs) |
| virtual | ~TpetraHalfPrecisionOperator () |
| Destructor. More... | |
Xpetra specific | |
| RCP< Xpetra::Operator < HalfScalar, LocalOrdinal, GlobalOrdinal, Node > > | GetHalfPrecisionOperator () const |
| Direct access to the underlying TpetraOperator. More... | |
| void | SetHalfPrecisionOperator (const RCP< Xpetra::Operator< HalfScalar, LocalOrdinal, GlobalOrdinal, Node >> &op) |
Wraps an existing halfer precision Xpetra::Operator as a Xpetra::Operator.
Definition at line 70 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
| typedef Teuchos::ScalarTraits<Scalar>::halfPrecision Xpetra::TpetraHalfPrecisionOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::HalfScalar |
Definition at line 72 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inline |
Constructor.
Definition at line 78 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Destructor.
Definition at line 89 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inline |
Definition at line 83 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Returns the Tpetra::Map object associated with the domain of this TpetraOperator.
Implements Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 94 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Returns the Tpetra::Map object associated with the range of this TpetraOperator.
Implements Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 99 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Returns in Y the result of a Xpetra::TpetraOperator applied to a Xpetra::MultiVector X.
| [in] | X | - Xpetra::MultiVector of dimension NumVectors to multiply with matrix. |
| [out] | Y | - Xpetra::MultiVector of dimension NumVectors containing result. |
Implements Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 108 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Indicates whether this TpetraOperator supports applying the adjoint TpetraOperator.
Reimplemented from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 122 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inlinevirtual |
Compute a residual R = B - (*this) * X.
Implements Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 125 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inline |
Direct access to the underlying TpetraOperator.
Definition at line 137 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
inline |
Definition at line 139 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
private |
Definition at line 139 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
private |
Definition at line 145 of file Xpetra_TpetraHalfPrecisionOperator.hpp.
|
private |
Definition at line 145 of file Xpetra_TpetraHalfPrecisionOperator.hpp.