42 #include "Thyra_MultiVectorBase.hpp" 
   43 #include "Thyra_AssertOp.hpp" 
   45 #ifndef THYRA_EXPLICIT_MULTI_VECTOR_VIEW_HPP 
   46 #define THYRA_EXPLICIT_MULTI_VECTOR_VIEW_HPP 
   56 template<
class Scalar>
 
   64     : mv_(mv) { mv_->acquireDetachedView(rowRng, colRng, &smv_); }
 
   70     : mv_(rcpFromRef(mv)) { mv_->acquireDetachedView(rowRng, colRng, &smv_); }
 
   84   const Scalar* 
values()
 const { 
return smv_.values().get(); }
 
  107 template<
class Scalar>
 
  115     : mv_(mv) { mv_->acquireDetachedView(rowRng, colRng, &smv_); }
 
  121     : mv_(rcpFromRef(mv)) { mv_->acquireDetachedView(rowRng,colRng,&smv_); }
 
  135   Scalar* 
values()
 const { 
return smv_.values().get(); }
 
  157 template<
class Scalar>
 
  174   const int m = dMvIn.subDim();
 
  175   const int n = dMvIn.numSubCols();
 
  176   for ( 
int j = 0; j < n; ++j ) {
 
  177     for ( 
int i = 0; i < m; ++i ) {
 
  178       dMvTransOut(j,i) = ST::conjugate(dMvIn(i,j));
 
  187 #endif // THYRA_EXPLICIT_MULTI_VECTOR_VIEW_HPP 
const Scalar & operator()(Ordinal i, Ordinal j) const 
 
const Scalar * values() const 
 
#define THYRA_ASSERT_VEC_SPACES(FUNC_NAME, VS1, VS2)
This is a very useful macro that should be used to validate that two vector spaces are compatible...
 
Create an explicit non-mutable (const) view of a MultiVectorBase object. 
 
virtual RCP< const VectorSpaceBase< Scalar > > range() const =0
Return a smart pointer for the range space for this operator. 
 
const RTOpPack::ConstSubMultiVectorView< Scalar > & smv() const 
 
Ordinal colOffset() const 
 
Ordinal numSubCols() const 
 
Create an explicit mutable (non-const) view of a MultiVectorBase object. 
 
Ordinal leadingDim() const 
 
ConstDetachedMultiVectorView(const MultiVectorBase< Scalar > &mv, const Range1D &rowRng=Range1D(), const Range1D &colRng=Range1D())
 
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*. 
 
Interface for a collection of column vectors called a multi-vector. 
 
const RTOpPack::SubMultiVectorView< Scalar > & smv() const 
 
~ConstDetachedMultiVectorView()
 
Ordinal numSubCols() const 
 
void doExplicitMultiVectorAdjoint(const MultiVectorBase< Scalar > &mvIn, MultiVectorBase< Scalar > *mvTransOut)
Do an explicit multi-vector adjoint. 
 
DetachedMultiVectorView(MultiVectorBase< Scalar > &mv, const Range1D &rowRng=Range1D(), const Range1D &colRng=Range1D())
 
ConstDetachedMultiVectorView(const RCP< const MultiVectorBase< Scalar > > &mv, const Range1D &rowRng=Range1D(), const Range1D &colRng=Range1D())
 
Ordinal leadingDim() const 
 
virtual RCP< const VectorSpaceBase< Scalar > > domain() const =0
Return a smart pointer for the domain space for this operator. 
 
Ordinal colOffset() const 
 
~DetachedMultiVectorView()
 
Ordinal globalOffset() const 
 
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
 
Ordinal globalOffset() const 
 
DetachedMultiVectorView(const RCP< MultiVectorBase< Scalar > > &mv, const Range1D &rowRng=Range1D(), const Range1D &colRng=Range1D())
 
Scalar & operator()(Ordinal i, Ordinal j)