10 #ifndef THYRA_DIAGONAL_SCALAR_PROD_DECL_HPP
11 #define THYRA_DIAGONAL_SCALAR_PROD_DECL_HPP
14 #include "Thyra_ScalarProdBase.hpp"
26 template<
class Scalar>
70 template<
class Scalar>
76 scalarProd->initialize(s_diag);
85 #endif // THYRA_DIAGONAL_SCALAR_PROD_DECL_HPP
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
virtual bool isEuclideanImpl() const
Returns false.
RCP< const LinearOpBase< Scalar > > getLinearOpImpl() const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Interface for a collection of column vectors called a multi-vector.
Abstract interface for finite-dimensional dense vectors.
RCP< DiagonalScalarProd< Scalar > > diagonalScalarProd(const RCP< const VectorBase< Scalar > > &s_diag)
Nonmember constructor.
void initialize(const RCP< const VectorBase< Scalar > > &s_diag)
Abstract interface for scalar products.