latest version v1.9 - last update 10 Apr 2010 |
FastSVD parameter class. More...
#include <ltiFastSVD.h>
Public Member Functions | |
parameters () | |
parameters (const parameters &other) | |
virtual const char * | getTypeName () const |
parameters & | copy (const parameters &other) |
virtual functor::parameters * | clone () 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 |
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.
lti::fastSVD< T >::parameters::parameters | ( | void | ) | [inline] |
default constructor
Reimplemented from lti::singularValueDecomp< T >::parameters.
References lti::fastSVD< T >::parameters::useDC, and lti::fastSVD< T >::parameters::useMinDimensions.
Referenced by lti::fastSVD< T >::parameters::clone().
lti::fastSVD< T >::parameters::parameters | ( | const parameters & | other | ) | [inline] |
copy constructor
Reimplemented from lti::singularValueDecomp< T >::parameters.
References lti::fastSVD< T >::parameters::copy().
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().
parameters& lti::fastSVD< T >::parameters::copy | ( | const parameters & | other | ) | [inline] |
copy member.
Reimplemented from lti::singularValueDecomp< T >::parameters.
References lti::fastSVD< T >::parameters::useDC, and lti::fastSVD< T >::parameters::useMinDimensions.
Referenced by lti::fastSVD< T >::parameters::parameters().
virtual const char* lti::fastSVD< T >::parameters::getTypeName | ( | void | ) | const [inline, virtual] |
returns the name of this type
Reimplemented from lti::singularValueDecomp< T >::parameters.
virtual bool lti::fastSVD< T >::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [inline, virtual] |
read the parameters from the given ioHandler
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. |
Reimplemented from lti::singularValueDecomp< T >::parameters.
References lti::ioHandler::readBegin(), lti::ioHandler::readEnd(), lti::fastSVD< T >::parameters::useDC, and lti::fastSVD< T >::parameters::useMinDimensions.
virtual bool lti::fastSVD< T >::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [inline, virtual] |
write the parameters in the given ioHandler
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. |
Reimplemented from lti::singularValueDecomp< T >::parameters.
References lti::fastSVD< T >::parameters::useDC, lti::fastSVD< T >::parameters::useMinDimensions, lti::ioHandler::writeBegin(), and lti::ioHandler::writeEnd().
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().
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().