Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_EuclideanScalarProd_def.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_DEF_HPP
11 #define THYRA_EUCLIDEAN_SCALAR_PROD_DEF_HPP
12 
13 #include "Thyra_EuclideanScalarProd_decl.hpp"
14 #include "Thyra_ScalarProdBase.hpp"
15 #include "Thyra_MultiVectorStdOps.hpp"
16 
17 
18 namespace Thyra {
19 
20 
21 template<class Scalar>
23 {
24  return true;
25 }
26 
27 
28 template<class Scalar>
31  const ArrayView<Scalar> &scalarProds_out
32  ) const
33 {
34  dots(X, Y, scalarProds_out);
35 }
36 
37 
38 } // end namespace Thyra
39 
40 
41 #endif // THYRA_EUCLIDEAN_SCALAR_PROD_DEF_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).
Interface for a collection of column vectors called a multi-vector.