Inheritance diagram for Thyra::ProductVectorSpaceBase< Scalar >:
Public Member Functions
|virtual int||numBlocks () const =0|
|Returns the number of blocks that make up this product space. |
const VectorSpaceBase< Scalar > >
|getBlock (const int k) const =0|
|Returns a vector space for the |
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
k=0,...,numBlocks-1. A product space
Z would then be represented as:
[ V ] Z = [ V ] [ . ] [ 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
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
Definition at line 78 of file Thyra_ProductVectorSpaceBase.hpp.
Returns the number of blocks that make up this product space.
Returns a vector space for the