Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra::TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Extends concrete implementation of a Euclidean scalar product for specifically Tpetra vectors/multivectors. More...

#include <Thyra_TpetraEuclideanScalarProd_decl.hpp>

Inheritance diagram for Thyra::TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node >:

(Note that these are not member symbols.)

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraEuclideanScalarProd ()
 Nonmember constructor for TpetraEuclideanScalarProd.

Overridden from EuclideanScalarProd

virtual void scalarProdsImpl (const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds) const
 If X and Y are both Tpetra wrappers, computes the pair-wise scalar products directly with Tpetra calls. Otherwise, this defers to the base class implementaiton, which computes the result with an RTOp.

Additional Inherited Members

bool isEuclidean () const
 Return if this is a Euclidean (identity) scalar product is the same as the dot product.
Scalar scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) const
 Return the scalar product of two vectors in the vector space.
void scalarProds (const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds_out) const
 Return the scalar product of each column in two multi-vectors in the vector space.
RCP< const LinearOpBase< Scalar > > getLinearOp () const
 Return a linear operator representing the scalar product Q.
virtual bool isEuclideanImpl () const
 Returns true.
virtual Scalar scalarProdImpl (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) const
 Default implementation calls scalarProdsImpl().
virtual RCP< const LinearOpBase< Scalar > > getLinearOpImpl () const

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class Thyra::TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Extends concrete implementation of a Euclidean scalar product for specifically Tpetra vectors/multivectors.

Definition at line 26 of file Thyra_TpetraEuclideanScalarProd_decl.hpp.

Member Function Documentation

◆ scalarProdsImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalarProdsImpl ( const MultiVectorBase< Scalar > & X,
const MultiVectorBase< Scalar > & Y,
const ArrayView< Scalar > & scalarProds ) const
protectedvirtual

If X and Y are both Tpetra wrappers, computes the pair-wise scalar products directly with Tpetra calls. Otherwise, this defers to the base class implementaiton, which computes the result with an RTOp.

Reimplemented from Thyra::EuclideanScalarProd< Scalar >.

Definition at line 22 of file Thyra_TpetraEuclideanScalarProd_def.hpp.

◆ tpetraEuclideanScalarProd()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const TpetraEuclideanScalarProd< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraEuclideanScalarProd ( )
related

Nonmember constructor for TpetraEuclideanScalarProd.

Definition at line 60 of file Thyra_TpetraEuclideanScalarProd_decl.hpp.


The documentation for this class was generated from the following files: