#include <productspace.hh>
Inheritance diagram for RVL::ProductSpace< Scalar >:
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. |
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.
RVL::ProductSpace< Scalar >::ProductSpace | ( | ) |
Definition at line 57 of file productspace.hh.
RVL::ProductSpace< Scalar >::ProductSpace | ( | const ProductSpace< Scalar > & | ) |
Definition at line 58 of file productspace.hh.
virtual RVL::ProductSpace< Scalar >::~ProductSpace | ( | ) | [virtual] |
Definition at line 59 of file productspace.hh.
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().
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().
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().
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().
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().
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().