Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_EuclideanScalarProd_decl.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Thyra: Interfaces and Support for Abstract Numerical Algorithms
4 //
5 // Copyright 2004 NTESS and the Thyra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef THYRA_EUCLIDEAN_SCALAR_PROD_DECL_HPP
11 #define THYRA_EUCLIDEAN_SCALAR_PROD_DECL_HPP
12 
13 
14 #include "Thyra_ScalarProdBase_decl.hpp"
15 
16 
17 namespace Thyra {
18 
28 template<class Scalar>
29 class EuclideanScalarProd : public ScalarProdBase<Scalar> {
30 protected:
31 
34 
36  virtual bool isEuclideanImpl() const;
37 
39  virtual void scalarProdsImpl(
42  ) const;
43 
45 
46 };
47 
48 
49 } // end namespace Thyra
50 
51 
52 #endif // THYRA_EUCLIDEAN_SCALAR_PROD_DECL_HPP
virtual bool isEuclideanImpl() const
Returns true.
virtual void scalarProdsImpl(const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds) const
Simply calls dots(X,Y,scalar_prods).
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.
Interface for a collection of column vectors called a multi-vector.
Concrete implementation of a scalar product for a Euclidean vector space (i.e. using the dot product)...
Abstract interface for scalar products.