42#ifndef THYRA_DEFAULT_COLUMNWISE_MULTI_VECTOR_DECL_HPP
43#define THYRA_DEFAULT_COLUMNWISE_MULTI_VECTOR_DECL_HPP
45#include "Thyra_MultiVectorDefaultBase_decl.hpp"
46#include "Thyra_VectorSpaceBase_decl.hpp"
47#include "Thyra_VectorBase.hpp"
Default subclass for MultiVectorBase implemented using columns of separate abstract vectors.
virtual void scaleImpl(Scalar alpha)
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
This function is implemented in terms of the multi-vector applyOp() function.
virtual void assignMultiVecImpl(const MultiVectorBase< Scalar > &mv)
RCP< MultiVectorBase< Scalar > > nonconstContigSubViewImpl(const Range1D &col_rng)
virtual void linearCombinationImpl(const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &mv, const Scalar &beta)
virtual void updateImpl(Scalar alpha, const MultiVectorBase< Scalar > &mv)
void uninitialize()
Set uninitialized.
virtual void dotsImpl(const MultiVectorBase< Scalar > &mv, const ArrayView< Scalar > &prods) const
virtual void norms2Impl(const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
virtual void normsInfImpl(const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
virtual void norms1Impl(const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
RCP< const VectorSpaceBase< Scalar > > domain() const
void initialize(const RCP< VectorBase< Scalar > > &col_vec)
Initialize given a single vector object.
virtual void assignImpl(Scalar alpha)
RCP< const VectorSpaceBase< Scalar > > range() const
DefaultColumnwiseMultiVector()
Construct to initialized.
RCP< VectorBase< Scalar > > nonconstColImpl(Ordinal j)
bool opSupportedImpl(EOpTransp M_trans) const
For complex Scalar types returns true for NOTRANS and CONJTRANS and for real types returns true for a...
Interface for a collection of column vectors called a multi-vector.
void norms(const MultiVectorBase< Scalar > &V, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms)
Column-wise multi-vector natural norm.
Node subclass that uses a default MultiVectorBase implementation to provide default implementations f...
Abstract interface for finite-dimensional dense vectors.
Abstract interface for objects that represent a space for vectors.
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.