42 #ifndef THYRA_VECTOR_DEFAULT_BASE_DECL_HPP 43 #define THYRA_VECTOR_DEFAULT_BASE_DECL_HPP 45 #include "Thyra_VectorBase.hpp" 46 #include "Thyra_MultiVectorDefaultBase_decl.hpp" 72 template<
class Scalar>
108 Teuchos::FancyOStream &out
109 ,
const Teuchos::EVerbosityLevel verbLevel
118 virtual RCP< const VectorSpaceBase<Scalar> >
range()
const;
122 virtual RCP< const VectorSpaceBase<Scalar> >
domain()
const;
130 RCP<MultiVectorBase<Scalar> >
clone_mv()
const;
140 RCP<VectorBase<Scalar> >
clone_v()
const;
152 virtual RCP<const MultiVectorBase<Scalar> >
155 virtual RCP<MultiVectorBase<Scalar> >
158 virtual RCP<const MultiVectorBase<Scalar> >
161 virtual RCP<MultiVectorBase<Scalar> >
281 mutable RCP<const VectorSpaceBase<Scalar> > domain_;
287 void validateColRng(
const Range1D &rowRng )
const;
288 void validateColIndexes(
const ArrayView<const int> &cols )
const;
296 #endif // THYRA_VECTOR_DEFAULT_BASE_DECL_HPP virtual RCP< const MultiVectorBase< Scalar > > contigSubViewImpl(const Range1D &col_rng) const
Returns Teuchos::rcp(this,false).
RCP< MultiVectorBase< Scalar > > clone_mv() const
Returns this->clone_v().
virtual RCP< MultiVectorBase< Scalar > > nonconstContigSubViewImpl(const Range1D &col_rng)
Returns Teuchos::rcp(this,false).
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
. Applies vector or its adjoint (transpose) as a linear operator.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Generates a default outputting for all vectors.
virtual void releaseDetachedMultiVectorViewImpl(RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
Implemented in terms of this->releaseDetachedView().
Node subclass that uses a default MultiVectorBase implementation to provide default implementations f...
virtual void acquireNonconstDetachedMultiVectorViewImpl(const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
Implemented in terms of this->acquireDetachedView().
virtual void releaseDetachedVectorViewImpl(RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
Convenient node subclass for concrete VectorBase subclasses that relies on a default MultiVectorBase ...
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
Interface for a collection of column vectors called a multi-vector.
virtual RCP< VectorBase< Scalar > > nonconstColImpl(Ordinal j)
Returns Teuchos::rcp(this,false).
Abstract interface for finite-dimensional dense vectors.
virtual void acquireDetachedVectorViewImpl(const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
virtual std::string description() const
Default description that gives the label, type, and dimenstion .
virtual RCP< const VectorSpaceBase< Scalar > > range() const
Returns this->space().
RCP< VectorBase< Scalar > > clone_v() const
Simply creates a new vector and copies the contents from *this.
virtual void acquireDetachedMultiVectorViewImpl(const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
Implemented in terms of this->acquireDetachedView().
virtual void setSubVectorImpl(const RTOpPack::SparseSubVectorT< Scalar > &sub_vec)
virtual RCP< const MultiVectorBase< Scalar > > nonContigSubViewImpl(const ArrayView< const int > &cols) const
Returns Teuchos::rcp(this,false).
virtual void commitNonconstDetachedMultiVectorViewImpl(RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
Implemented in terms of this->commitDetachedView().
virtual void acquireNonconstDetachedVectorViewImpl(const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec)
bool opSupportedImpl(EOpTransp M_trans) const
For complex Scalar types returns true for NOTRANS and CONJTRANS and for real types returns true for a...
virtual RCP< MultiVectorBase< Scalar > > nonconstNonContigSubViewImpl(const ArrayView< const int > &cols)
Returns Teuchos::rcp(this,false).
virtual RCP< const VectorSpaceBase< Scalar > > domain() const
Returns a DefaultSerialVectorSpace object with dimension 1.
virtual void commitNonconstDetachedVectorViewImpl(RTOpPack::SubVectorView< Scalar > *sub_vec)