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.