Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_vector
adapter_support
Thyra_ScalarProdVectorSpaceBase_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_SCALAR_PROD_VECTOR_SPACE_BASE_DECL_HPP
11
#define THYRA_SCALAR_PROD_VECTOR_SPACE_BASE_DECL_HPP
12
13
#include "Thyra_OperatorVectorAdapterSupportTypes.hpp"
14
#include "Thyra_VectorSpaceDefaultBase.hpp"
15
16
17
namespace
Thyra {
18
19
52
template
<
class
Scalar>
53
class
ScalarProdVectorSpaceBase
:
virtual
public
VectorSpaceDefaultBase
<Scalar> {
54
public
:
55
58
68
ScalarProdVectorSpaceBase
();
69
85
ScalarProdVectorSpaceBase
(
86
const
RCP
<
const
ScalarProdBase<Scalar>
> &
scalarProd
);
87
108
virtual
void
setScalarProd
(
109
const
RCP
<
const
ScalarProdBase<Scalar>
> &
scalarProd
);
110
113
RCP<const ScalarProdBase<Scalar>
>
getScalarProd
()
const
;
114
116
119
121
bool
isEuclidean
()
const
;
123
Scalar
scalarProd
(
124
const
VectorBase<Scalar>
& x,
const
VectorBase<Scalar>
& y )
const
;
126
void
scalarProdsImpl
(
127
const
MultiVectorBase<Scalar>
& X,
const
MultiVectorBase<Scalar>
& Y,
128
const
ArrayView<Scalar>
&scalarProds_out )
const
;
129
131
132
private
:
133
134
RCP<const ScalarProdBase<Scalar>
> scalarProd_;
135
136
};
137
138
143
template
<
class
Scalar>
144
RCP<const ScalarProdVectorSpaceBase<Scalar>
>
145
createSmallScalarProdVectorSpaceBase
(
146
const
RCP
<
const
VectorSpaceBase<Scalar>
> &vs,
147
const
Ordinal
dim
148
)
149
{
150
return
Teuchos::rcp_dynamic_cast<const ScalarProdVectorSpaceBase<Scalar> >(
151
vs->smallVecSpcFcty()->createVecSpc(
dim
),
true
);
152
}
153
154
155
}
// end namespace Thyra
156
157
158
#endif
// THYRA_SCALAR_PROD_VECTOR_SPACE_BASE_DECL_HPP
Teuchos::ArrayView
Teuchos::RCP
Thyra::MultiVectorBase
Interface for a collection of column vectors called a multi-vector.
Definition
Thyra_MultiVectorBase_decl.hpp:464
Thyra::ScalarProdBase
Abstract interface for scalar products.
Definition
Thyra_ScalarProdBase_decl.hpp:58
Thyra::ScalarProdVectorSpaceBase::isEuclidean
bool isEuclidean() const
Returns getScalarProd()->isEuclidean().
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:60
Thyra::ScalarProdVectorSpaceBase::createSmallScalarProdVectorSpaceBase
RCP< const ScalarProdVectorSpaceBase< Scalar > > createSmallScalarProdVectorSpaceBase(const RCP< const VectorSpaceBase< Scalar > > &vs, const Ordinal dim)
Create a small vector space casted to ScalarProdVectorSpaceBase.
Definition
Thyra_ScalarProdVectorSpaceBase_decl.hpp:145
Thyra::ScalarProdVectorSpaceBase::scalarProd
Scalar scalarProd(const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) const
Returns getScalarProd()->scalarProd(x,y).
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:67
Thyra::ScalarProdVectorSpaceBase::ScalarProdVectorSpaceBase
ScalarProdVectorSpaceBase()
Construct to use dot product as the default.
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:26
Thyra::ScalarProdVectorSpaceBase::scalarProdsImpl
void scalarProdsImpl(const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds_out) const
Calls getScalarProd()->scalarProds(X,Y,scalar_prods).
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:81
Thyra::ScalarProdVectorSpaceBase::getScalarProd
RCP< const ScalarProdBase< Scalar > > getScalarProd() const
Return the current scalar product.
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:50
Thyra::ScalarProdVectorSpaceBase::setScalarProd
virtual void setScalarProd(const RCP< const ScalarProdBase< Scalar > > &scalarProd)
Set a different scalar product.
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:40
Thyra::VectorBase
Abstract interface for finite-dimensional dense vectors.
Definition
Thyra_VectorBase.hpp:115
Thyra::VectorSpaceBase
Abstract interface for objects that represent a space for vectors.
Definition
Thyra_VectorSpaceBase_decl.hpp:267
Thyra::VectorSpaceBase::dim
virtual Ordinal dim() const =0
Return the dimension of the vector space.
Thyra::VectorSpaceDefaultBase
Node VectorSpaceBase subclass that provides default implementations for many functions using a defaul...
Definition
Thyra_VectorSpaceDefaultBase_decl.hpp:41
Generated by
1.17.0