10#ifndef THYRA_LISTED_MULTI_VECTOR_RANDOMIZER_HPP 
   11#define THYRA_LISTED_MULTI_VECTOR_RANDOMIZER_HPP 
   13#include "Thyra_MultiVectorRandomizerBase.hpp" 
   14#include "Thyra_MultiVectorStdOps.hpp" 
   36    ,
const int                                                    numMultiVecs
 
   42    ,
const int                                                    numMultiVecs
 
   65  typedef std::vector<Teuchos::RCP<const MultiVectorBase<Scalar> > > multiVecs_t;
 
   66  multiVecs_t  multiVecs_;
 
 
   79  ,
const int                                                    numMultiVecs
 
   82  initialize(multiVecs,numMultiVecs);
 
 
   89  ,
const int                                                    numMultiVecs
 
   92  multiVecs_.resize(numMultiVecs);
 
   93  std::copy( multiVecs, multiVecs + numMultiVecs, multiVecs_.begin() );
 
 
  101template<
class Scalar>
 
  104  return multiVecs_[curr_mv_i_]->range()->isCompatible(space);
 
 
  111template<
class Scalar>
 
  120  THYRA_ASSERT_VEC_SPACES(
"ListedMultiVectorRandomizer<Scalar>::randomize(mv)", *currMV->range(), *mv->range() );
 
  121  THYRA_ASSERT_VEC_SPACES(
"ListedMultiVectorRandomizer<Scalar>::randomize(mv)", *currMV->domain(), *mv->domain() );
 
  123  Thyra::assign( mv, *currMV );
 
  124  if( curr_mv_i_ == 
static_cast<int>(multiVecs_.size()) - 1 )
 
MultiVectorRandomizerBase subclass that returns a revolving list of preset MultiVectorBase objects.
 
bool isCompatible(const VectorSpaceBase< Scalar > &space) const
 
ListedMultiVectorRandomizer(const Teuchos::RCP< const MultiVectorBase< Scalar > > multiVecs[], const int numMultiVecs)
Calls this->initialize().
 
void initialize(const Teuchos::RCP< const MultiVectorBase< Scalar > > multiVecs[], const int numMultiVecs)
 
Interface for a collection of column vectors called a multi-vector.
 
Base interface for a strategy object for randomizing a multi-vector.
 
Abstract interface for objects that represent a space for vectors.
 
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
 
#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.