45#ifndef THYRA_DIAGONAL_SCALAR_PROD_DECL_HPP
46#define THYRA_DIAGONAL_SCALAR_PROD_DECL_HPP
49#include "Thyra_ScalarProdBase.hpp"
105template<
class Scalar>
111 scalarProd->initialize(s_diag);
Concrete implementation of a scalar product using a diagonal vector.
virtual void scalarProdsImpl(const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds_out) const
RCP< DiagonalScalarProd< Scalar > > diagonalScalarProd(const RCP< const VectorBase< Scalar > > &s_diag)
Nonmember constructor.
virtual bool isEuclideanImpl() const
Returns false.
void initialize(const RCP< const VectorBase< Scalar > > &s_diag)
RCP< const LinearOpBase< Scalar > > getLinearOpImpl() const
Interface for a collection of column vectors called a multi-vector.
Abstract interface for scalar products.
Abstract interface for finite-dimensional dense vectors.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)