Thyra::ProductVectorBase< Scalar > Class Template Reference
[Extended Operator/Vector interfaces]

Base interface for product vectors. More...

#include <Thyra_ProductVectorBase.hpp>

Inheritance diagram for Thyra::ProductVectorBase< Scalar >:

[legend]
List of all members.

Public Member Functions

virtual Teuchos::RefCountPtr<
const ProductVectorSpaceBase<
Scalar > > 
productSpace () const =0
 Returns the associated product vector space.
virtual Teuchos::RefCountPtr<
VectorBase< Scalar > > 
getBlock (const int k)=0
 Returns a non-persisting non-const view of the (zero-based) ith block vector.
virtual Teuchos::RefCountPtr<
const VectorBase< Scalar > > 
getBlock (const int k) const =0
 Returns a non-persisting const view of the (zero-based) ith block vector.

Detailed Description

template<class Scalar>
class Thyra::ProductVectorBase< Scalar >

Base interface for product vectors.

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

A product vector is simply the concatenation of two or more vectors to form a larger "composite" vector. Specifically, a product vector with numBlock constituent block vectors represents the blocked vector


         [ v[0]           ]
         [ v[1]           ]
 this =  [ .              ]
         [ v[numBlocks-1] ]
 

The constituent vectors v[k] can be accessed through the const and non-const access functions getBlock().

A product vector knows its product space which is returned by the productSpace() function. A ProductVectorBase object is created by a ProductVectorSpaceBase object and never directly created by clients.

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 ProductVector.

Definition at line 74 of file Thyra_ProductVectorBase.hpp.


Member Function Documentation

template<class Scalar>
virtual Teuchos::RefCountPtr<const ProductVectorSpaceBase<Scalar> > Thyra::ProductVectorBase< Scalar >::productSpace  )  const [pure virtual]
 

Returns the associated product vector space.

If *this is uninitialized then return.get()==NULL.

Implemented in Thyra::ProductVector< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<VectorBase<Scalar> > Thyra::ProductVectorBase< Scalar >::getBlock const int  k  )  [pure virtual]
 

Returns a non-persisting non-const view of the (zero-based) ith block vector.

Parameters:
k [in] The (zero-based) kth block index specifying which block to access.
Preconditions:

Note that *this is not guaranteed to be modified until the smart pointer returned from this function, as well as any other smart pointers created from this smart pointer, are destroyed. This requirement allows more flexibility in how this function is implemented.

Also note that no further interactions with *this should be performed until the view returned from this function is released as described above.

Implemented in Thyra::ProductVector< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<const VectorBase<Scalar> > Thyra::ProductVectorBase< Scalar >::getBlock const int  k  )  const [pure virtual]
 

Returns a non-persisting const view of the (zero-based) ith block vector.

Parameters:
k [in] The (zero-based) kth block index specifying which block to access.
Preconditions:

Implemented in Thyra::ProductVector< Scalar >.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:39:53 2008 for Thyra ANA Operator/VectorBase Interfaces and Related Software by doxygen 1.3.9.1