#include <Thyra_ProductVectorSpaceBase.hpp>
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. | |
| virtual Teuchos::RCP< const VectorSpaceBase< Scalar > > | getBlock (const int k) const =0 |
Returns a vector space for the kth (zero-based) block. | |
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.
|
|||||||||
|
Returns the number of blocks that make up this product space. Preconditions:
|
|
||||||||||
|
Returns a vector space for the Preconditions:
|
1.3.9.1