| 
    Tpetra parallel linear algebra Version of the Day
    
   | 
 
A class for wrapping an Operator of one Scalar type into an Operator of another Scalar type. More...
#include <Tpetra_MixedScalarMultiplyOp.hpp>

Public Types | |
| using | op_type = Operator< OpScalar, LocalOrdinal, GlobalOrdinal, Node > | 
| The specialization of CrsMatrix which this class wraps.   | |
| using | map_type = Map< LocalOrdinal, GlobalOrdinal, Node > | 
| The specialization of Map which this class uses.   | |
Typedefs that give access to the template parameters.  | |
| typedef Scalar | scalar_type | 
| The type of the entries of the input and output multivectors.   | |
| typedef LocalOrdinal | local_ordinal_type | 
| The local index type.   | |
| typedef GlobalOrdinal | global_ordinal_type | 
| The global index type.   | |
| typedef Node | node_type | 
| The Kokkos Node type.   | |
Public Member Functions | |
Constructor and destructor  | |
| MixedScalarMultiplyOp (const Teuchos::RCP< const op_type > &A) | |
| Constructor.   | |
| ~MixedScalarMultiplyOp () override=default | |
| Destructor (virtual for memory safety of derived classes).   | |
Pure virtual functions to be overridden by subclasses.  | |
| virtual bool | hasDiagonal () const | 
| Whether this operator can return its diagonal.   | |
| virtual void | getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const | 
| Get the diagonal of the operator.   | |
Related Symbols | |
(Note that these are not member symbols.)  | |
| template<class Scalar , class OpScalar , class LocalOrdinal , class GlobalOrdinal , class Node > | |
| Teuchos::RCP< MixedScalarMultiplyOp< Scalar, OpScalar, LocalOrdinal, GlobalOrdinal, Node > > | createMixedScalarMultiplyOp (const Teuchos::RCP< const Operator< OpScalar, LocalOrdinal, GlobalOrdinal, Node > > &A) | 
| Non-member function to create a MixedScalarMultiplyOp.   | |
Methods implementing Operator | |
| const Teuchos::RCP< const op_type > | op_ | 
| The underlying CrsMatrix object.   | |
| void | apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const override | 
Compute Y = beta*Y + alpha*Op(A)*X, where Op(A) is either A,  | |
| bool | hasTransposeApply () const override | 
| Whether this Operator's apply() method can apply the transpose or conjugate transpose.   | |
| Teuchos::RCP< const map_type > | getDomainMap () const override | 
| The domain Map of this Operator.   | |
| Teuchos::RCP< const map_type > | getRangeMap () const override | 
| The range Map of this Operator.   | |
A class for wrapping an Operator of one Scalar type into an Operator of another Scalar type.
| Scalar | The type of the entries of the input and output MultiVector (see apply()). Same as the first template parameter of Operator. | 
| OpScalar | The type of the entries of the wrapped Operator. | 
| LocalOrdinal | The second template parameter of Operator. | 
| GlobalOrdinal | The third template parameter of Operator. | 
| Node | The fourth template parameter of Operator. | 
Definition at line 44 of file Tpetra_MixedScalarMultiplyOp.hpp.
| using Tpetra::MixedScalarMultiplyOp< Scalar, OpScalar, LocalOrdinal, GlobalOrdinal, Node >::op_type = Operator<OpScalar, LocalOrdinal, GlobalOrdinal, Node> | 
The specialization of CrsMatrix which this class wraps.
Definition at line 47 of file Tpetra_MixedScalarMultiplyOp.hpp.
| using Tpetra::MixedScalarMultiplyOp< Scalar, OpScalar, LocalOrdinal, GlobalOrdinal, Node >::map_type = Map<LocalOrdinal, GlobalOrdinal, Node> | 
The specialization of Map which this class uses.
Definition at line 50 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  inherited | 
The type of the entries of the input and output multivectors.
Definition at line 61 of file Tpetra_Operator.hpp.
      
  | 
  inherited | 
The local index type.
Definition at line 64 of file Tpetra_Operator.hpp.
      
  | 
  inherited | 
The global index type.
Definition at line 67 of file Tpetra_Operator.hpp.
      
  | 
  inherited | 
The Kokkos Node type.
Definition at line 70 of file Tpetra_Operator.hpp.
      
  | 
  inline | 
Constructor.
| A | [in] The Operator to wrap as an Operator<Scalar, ...>.  | 
Definition at line 60 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  overridedefault | 
Destructor (virtual for memory safety of derived classes).
      
  | 
  inlineoverridevirtual | 
Compute Y = beta*Y + alpha*Op(A)*X, where Op(A) is either A, 

Implements Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 75 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  inlineoverridevirtual | 
Whether this Operator's apply() method can apply the transpose or conjugate transpose.
This is always true, since it is true for the CrsMatrix that this object wraps.
Reimplemented from Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 97 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  inlineoverridevirtual | 
The domain Map of this Operator.
Implements Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 102 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  inlineoverridevirtual | 
The range Map of this Operator.
Implements Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 107 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  virtualinherited | 
Whether this operator can return its diagonal.
By default, this returns false. Subclasses must override this method if they can supply a diagonal.
Definition at line 124 of file Tpetra_Operator.hpp.
      
  | 
  virtualinherited | 
Get the diagonal of the operator.
By default, this throws. Subclasses must override this method if they can supply a diagonal.
Reimplemented in Tpetra::CrsMatrix< ::Tpetra::Details::DefaultTypes::scalar_type, ::Tpetra::Details::DefaultTypes::local_ordinal_type, ::Tpetra::Details::DefaultTypes::global_ordinal_type, ::Tpetra::Details::DefaultTypes::node_type >, Tpetra::CrsMatrix< SC, LO, GO, NT >, Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 129 of file Tpetra_Operator.hpp.
      
  | 
  related | 
Non-member function to create a MixedScalarMultiplyOp.
The function has the same template parameters of MixedScalarMultiplyOp.
| A | [in] The Operator instance to wrap in an MixedScalarMultiplyOp. | 
Definition at line 141 of file Tpetra_MixedScalarMultiplyOp.hpp.
      
  | 
  protected | 
The underlying CrsMatrix object.
Definition at line 117 of file Tpetra_MixedScalarMultiplyOp.hpp.