latest version v1.9 - last update 10 Apr 2010 |
This functor calculates the Moore-Penrose Pseudo-Inverse of a matrix. More...
#include <ltiPseudoInverseMP.h>
Classes | |
class | parameters |
the parameters for the class pseudoInverseMP More... | |
Public Member Functions | |
pseudoInverseMP () | |
pseudoInverseMP (const double &lambda) | |
pseudoInverseMP (const pseudoInverseMP< T > &other) | |
virtual | ~pseudoInverseMP () |
virtual const char * | getTypeName () const |
matrix< T > & | apply (const matrix< T > &src, matrix< T > &dest) const |
matrix< T > & | apply (const matrix< T > &src, const matrix< T > &smooth, matrix< T > &dest) const |
pseudoInverseMP< T > & | copy (const pseudoInverseMP< T > &other) |
virtual functor * | clone () const |
const parameters & | getParameters () const |
This functor calculates the Moore-Penrose Pseudo-Inverse of a matrix.
It is used for solving an over-determined linear equation system according to LMS. The pseudo-inverse of is defined as
For some applications smoothing of this solution is desired. This is achieved through a smoothing Matrix and a (small) factor :
lti::pseudoInverseMP< T >::pseudoInverseMP | ( | ) |
default constructor
lti::pseudoInverseMP< T >::pseudoInverseMP | ( | const double & | lambda | ) |
Creates a new PseudoInverse functor with a smoothing factor given as the argument.
lti::pseudoInverseMP< T >::pseudoInverseMP | ( | const pseudoInverseMP< T > & | other | ) |
copy constructor
other | the object to be copied |
virtual lti::pseudoInverseMP< T >::~pseudoInverseMP | ( | ) | [virtual] |
destructor
matrix<T>& lti::pseudoInverseMP< T >::apply | ( | const matrix< T > & | src, | |
const matrix< T > & | smooth, | |||
matrix< T > & | dest | |||
) | const |
Calculates the Moore-Penrose pseudo-inverse with smoothing.
Do not forget to set parameters::lambda to the desired value.
src | matrix<T> to be inverted | |
smooth | matrix<T> used for smoothing | |
dest | Moore-Penrose pseudo-inverse of src |
dest
. matrix<T>& lti::pseudoInverseMP< T >::apply | ( | const matrix< T > & | src, | |
matrix< T > & | dest | |||
) | const |
Calculates the Moore-Penrose pseudo-inverse without smoothing.
src | matrix<T> to be inverted | |
dest | Moore-Penrose pseudo-inverse of src |
dest
. virtual functor* lti::pseudoInverseMP< T >::clone | ( | ) | const [virtual] |
returns a pointer to a clone of this functor.
Implements lti::functor.
pseudoInverseMP<T>& lti::pseudoInverseMP< T >::copy | ( | const pseudoInverseMP< T > & | other | ) |
copy data of "other" functor.
other | the functor to be copied |
Reimplemented from lti::functor.
const parameters& lti::pseudoInverseMP< T >::getParameters | ( | ) | const |
returns used parameters
Reimplemented from lti::functor.
virtual const char* lti::pseudoInverseMP< T >::getTypeName | ( | ) | const [virtual] |
returns the name of this type ("pseudoInverseMP")
Reimplemented from lti::linearAlgebraFunctor.