10#ifndef THYRA_SCALAR_PROD_VECTOR_SPACE_BASE_DECL_HPP
11#define THYRA_SCALAR_PROD_VECTOR_SPACE_BASE_DECL_HPP
13#include "Thyra_OperatorVectorAdapterSupportTypes.hpp"
14#include "Thyra_VectorSpaceDefaultBase.hpp"
143template<
class Scalar>
150 return Teuchos::rcp_dynamic_cast<const ScalarProdVectorSpaceBase<Scalar> >(
151 vs->smallVecSpcFcty()->createVecSpc(
dim),
true);
Interface for a collection of column vectors called a multi-vector.
Abstract interface for scalar products.
bool isEuclidean() const
Returns getScalarProd()->isEuclidean().
RCP< const ScalarProdVectorSpaceBase< Scalar > > createSmallScalarProdVectorSpaceBase(const RCP< const VectorSpaceBase< Scalar > > &vs, const Ordinal dim)
Create a small vector space casted to ScalarProdVectorSpaceBase.
Scalar scalarProd(const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) const
Returns getScalarProd()->scalarProd(x,y).
ScalarProdVectorSpaceBase()
Construct to use dot product as the default.
void scalarProdsImpl(const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds_out) const
Calls getScalarProd()->scalarProds(X,Y,scalar_prods).
RCP< const ScalarProdBase< Scalar > > getScalarProd() const
Return the current scalar product.
virtual void setScalarProd(const RCP< const ScalarProdBase< Scalar > > &scalarProd)
Set a different scalar product.
Abstract interface for finite-dimensional dense vectors.
Abstract interface for objects that represent a space for vectors.
virtual Ordinal dim() const =0
Return the dimension of the vector space.
Node VectorSpaceBase subclass that provides default implementations for many functions using a defaul...