`#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. |

class Thyra::ProductVectorSpaceBase< Scalar >

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.

template<class Scalar>

virtual int Thyra::ProductVectorSpaceBase< Scalar >::numBlocks | ( | ) | const` [pure virtual]` |

template<class Scalar>

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

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 1.4.7