RVL::ProductSpace< Scalar > Class Template Reference

Abstract base class expressing behaviour of Cartesian products of vector spaces. More...

#include <productspace.hh>

Inheritance diagram for RVL::ProductSpace< Scalar >:

RVL::Space< Scalar > RVL::ROProduct< T > RVL::Writeable RVL::CartesianPowerSpace< Scalar > RVL::StdProductSpace< Scalar > List of all members.

Public Member Functions

 ProductSpace ()
 ProductSpace (const ProductSpace< Scalar > &)
virtual ~ProductSpace ()
virtual bool isCompatible (DataContainer const &dc) const
virtual bool operator== (const Space< Scalar > &sp) const
virtual Scalar inner (DataContainer const &x, DataContainer const &y) const
 inner product - may be overridden by supplying non-block-diag Gram matrix.
virtual void zero (DataContainer &x) const
virtual void linComb (Scalar a, DataContainer const &x, Scalar b, DataContainer &y) const
virtual ostream & write (ostream &str) const
 Write method - may be overwritten if useful.

Detailed Description

template<class Scalar>
class RVL::ProductSpace< Scalar >

Abstract base class expressing behaviour of Cartesian products of vector spaces.

Uses the ProductDataContainer class to define data component access. Provides basic data container methods (getSize, operator[]) for a Cartesian product. All other methods of Space are implemented in terms of these.

A default implementation is provided for inner product, expressing the canonical inner product in a product Hilbert space. This method is virtual and may be overridden in subclasses.

Definition at line 52 of file productspace.hh.


Constructor & Destructor Documentation

template<class Scalar>
RVL::ProductSpace< Scalar >::ProductSpace (  ) 

Definition at line 57 of file productspace.hh.

template<class Scalar>
RVL::ProductSpace< Scalar >::ProductSpace ( const ProductSpace< Scalar > &   ) 

Definition at line 58 of file productspace.hh.

template<class Scalar>
virtual RVL::ProductSpace< Scalar >::~ProductSpace (  )  [virtual]

Definition at line 59 of file productspace.hh.


Member Function Documentation

template<class Scalar>
virtual bool RVL::ProductSpace< Scalar >::isCompatible ( DataContainer const &  dc  )  const [virtual]

Implements RVL::Space< Scalar >.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 61 of file productspace.hh.

References RVL::ROProduct< T >::getSize(), and RVL::Product< T >::getSize().

template<class Scalar>
virtual bool RVL::ProductSpace< Scalar >::operator== ( const Space< Scalar > &  sp  )  const [virtual]

Implements RVL::Space< Scalar >.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 76 of file productspace.hh.

References RVL::ROProduct< T >::getSize().

template<class Scalar>
virtual Scalar RVL::ProductSpace< Scalar >::inner ( DataContainer const &  x,
DataContainer const &  y 
) const [virtual]

inner product - may be overridden by supplying non-block-diag Gram matrix.

Implements RVL::Space< Scalar >.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 94 of file productspace.hh.

References RVL::ROProduct< T >::getSize(), and RVL::Product< T >::getSize().

template<class Scalar>
virtual void RVL::ProductSpace< Scalar >::zero ( DataContainer x  )  const [virtual]

Implements RVL::Space< Scalar >.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 126 of file productspace.hh.

References RVL::ROProduct< T >::getSize(), and RVL::Product< T >::getSize().

template<class Scalar>
virtual void RVL::ProductSpace< Scalar >::linComb ( Scalar  a,
DataContainer const &  x,
Scalar  b,
DataContainer y 
) const [virtual]

Implements RVL::Space< Scalar >.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 151 of file productspace.hh.

References RVL::ROProduct< T >::getSize(), RVL::Product< T >::getSize(), and RVL::Writeable::write().

template<class Scalar>
virtual ostream& RVL::ProductSpace< Scalar >::write ( ostream &  str  )  const [virtual]

Write method - may be overwritten if useful.

Implements RVL::Writeable.

Reimplemented in RVL::CartesianPowerSpace< Scalar >.

Definition at line 186 of file productspace.hh.

References RVL::ROProduct< T >::getSize().


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RVL by  doxygen 1.4.7