Thyra::ProductVectorSpaceBase< Scalar > Class Template Reference

Base interface for product vector spaces. More...

#include <Thyra_ProductVectorSpaceBase.hpp>

Inheritance diagram for Thyra::ProductVectorSpaceBase< Scalar >:

Inheritance graph
List of all members.

Public Member Functions

virtual int numBlocks () const =0
 Returns the number of blocks that make up this product space.
virtual Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
getBlock (const int k) const =0
 Returns a vector space for the kth (zero-based) block.

Detailed Description

template<class Scalar>
class Thyra::ProductVectorSpaceBase< Scalar >

Base interface for product vector spaces.

This class defines an abstract interface for a vector space that is built out of the one or more other vector spaces to form what mathematicians like to call a "product space".

For example, one can think of a product space as the concatenation of one or more vector spaces V[k] where k=0,...,numBlocks-1. A product space Z would then be represented as:

     [ V[0]           ]
 Z = [ V[1]           ]
     [ .              ]
     [ V[numBlocks-1] ]


The total number of constituent vector spaces is returned by the numBlocks() function. Smart pointers to the constituent vector space blocks themselves are returned using the getBlock() function.

The vectors created by this->createMember() (which is inherited from the VectorSpaceBase interface) must support the ProductVectorBase interface (i.e. dynamic_cast<ProductVectorBase<Scalar>*>(&*this->createMember()) != NULL). Likewise, the multi-vectors created by this->createMembers() must support the ProductMultiVectorBase interface (i.e. dynamic_cast<ProductMultiVectorBase<Scalar>*>(&*this->createMember()) != NULL)

This class is only an interface. A standard implementation of this interface that should be sufficient for 99% or so of use cases is provided in the concrete subclass DefaultProductVectorSpace.

Definition at line 78 of file Thyra_ProductVectorSpaceBase.hpp.

Member Function Documentation

template<class Scalar>
virtual int Thyra::ProductVectorSpaceBase< Scalar >::numBlocks (  )  const [pure virtual]

Returns the number of blocks that make up this product space.


template<class Scalar>
virtual Teuchos::RCP<const VectorSpaceBase<Scalar> > Thyra::ProductVectorSpaceBase< Scalar >::getBlock ( const int  k  )  const [pure virtual]

Returns a vector space for the kth (zero-based) block.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:42:13 2010 for Extended Thyra ANA Operator/Vector Interfaces by  doxygen 1.4.7