LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::fastSVD< T >::parameters Class Reference

FastSVD parameter class. More...

#include <ltiFastSVD.h>

Inheritance diagram for lti::fastSVD< T >::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::fastSVD< T >::parameters:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 parameters ()
 parameters (const parameters &other)
virtual const char * getTypeName () const
parameterscopy (const parameters &other)
virtual functor::parametersclone () const
virtual bool read (ioHandler &handler, const bool complete=true)
virtual bool write (ioHandler &handler, const bool complete=true) const

Public Attributes

bool useDC
bool useMinDimensions

Detailed Description

template<class T>
class lti::fastSVD< T >::parameters

FastSVD parameter class.

Note that the sort parameter inherited from singularValueDecomp<T> is always true for this functor, since sorting is done automatically during computation of singular values and vectors.


Constructor & Destructor Documentation

template<class T >
lti::fastSVD< T >::parameters::parameters ( void   )  [inline]
template<class T >
lti::fastSVD< T >::parameters::parameters ( const parameters other  )  [inline]

copy constructor

Reimplemented from lti::singularValueDecomp< T >::parameters.

References lti::fastSVD< T >::parameters::copy().


Member Function Documentation

template<class T >
virtual functor::parameters* lti::fastSVD< T >::parameters::clone (  )  const [inline, virtual]

returns a pointer to a clone of the parameters.

Reimplemented from lti::singularValueDecomp< T >::parameters.

References lti::fastSVD< T >::parameters::parameters().

template<class T >
parameters& lti::fastSVD< T >::parameters::copy ( const parameters other  )  [inline]
template<class T >
virtual const char* lti::fastSVD< T >::parameters::getTypeName ( void   )  const [inline, virtual]

returns the name of this type

Reimplemented from lti::singularValueDecomp< T >::parameters.

template<class T >
virtual bool lti::fastSVD< T >::parameters::read ( ioHandler handler,
const bool  complete = true 
) [inline, virtual]

read the parameters from the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also read, otherwise only the data block will be read.
Returns:
true if write was successful

Reimplemented from lti::singularValueDecomp< T >::parameters.

References lti::ioHandler::readBegin(), lti::ioHandler::readEnd(), lti::fastSVD< T >::parameters::useDC, and lti::fastSVD< T >::parameters::useMinDimensions.

template<class T >
virtual bool lti::fastSVD< T >::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [inline, virtual]

write the parameters in the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::singularValueDecomp< T >::parameters.

References lti::fastSVD< T >::parameters::useDC, lti::fastSVD< T >::parameters::useMinDimensions, lti::ioHandler::writeBegin(), and lti::ioHandler::writeEnd().


Member Data Documentation

template<class T >
bool lti::fastSVD< T >::parameters::useDC

If true the divide-and-conquer method for calculating the SVD is used.

This is generally faster, especially on large matrices. However, it uses more temporary memory than the simple method. Thus, if the computation fails due to memory problems setting this parameter to false might solve the problem. Default is true.

Referenced by lti::fastSVD< T >::parameters::copy(), lti::fastSVD< T >::parameters::parameters(), lti::fastSVD< T >::parameters::read(), and lti::fastSVD< T >::parameters::write().

template<class T >
bool lti::fastSVD< T >::parameters::useMinDimensions

Let the data matrix have M rows and N columns.

Then, usually, U will be an MxM orthogonal matrix and V an NxN orthogonal matrix. However, there are only min(M,N) singular values. For most applications it suffices to calculate only min(M,N) left and right singular vectors, which is done when useMinDimensions is true (default). All singular values are calculated when false.

Referenced by lti::fastSVD< T >::parameters::copy(), lti::fastSVD< T >::parameters::parameters(), lti::fastSVD< T >::parameters::read(), and lti::fastSVD< T >::parameters::write().


The documentation for this class was generated from the following file:

Generated on Sat Apr 10 15:29:14 2010 for LTI-Lib by Doxygen 1.6.1