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

lti::pseudoInverseMP< T > Class Template Reference
[Linear Algebra]

This functor calculates the Moore-Penrose Pseudo-Inverse of a matrix. More...

#include <ltiPseudoInverseMP.h>

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

List of all members.

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 functorclone () const
const parametersgetParameters () const

Detailed Description

template<class T>
class lti::pseudoInverseMP< T >

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 $H$ is defined as

$ H^+= (H^t\dot H)^{-1}\dot H^t $

For some applications smoothing of this solution is desired. This is achieved through a smoothing Matrix $\tilde{H}$ and a (small) factor $\lambda$:

$ H^+= (H^t\dot H + \lambda\tilde{H})^{-1}\dot H^t $


Constructor & Destructor Documentation

template<class T>
lti::pseudoInverseMP< T >::pseudoInverseMP (  ) 

default constructor

template<class T>
lti::pseudoInverseMP< T >::pseudoInverseMP ( const double &  lambda  ) 

Creates a new PseudoInverse functor with a smoothing factor given as the argument.

template<class T>
lti::pseudoInverseMP< T >::pseudoInverseMP ( const pseudoInverseMP< T > &  other  ) 

copy constructor

Parameters:
other the object to be copied
template<class T>
virtual lti::pseudoInverseMP< T >::~pseudoInverseMP (  )  [virtual]

destructor


Member Function Documentation

template<class T>
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.

Parameters:
src matrix<T> to be inverted
smooth matrix<T> used for smoothing
dest Moore-Penrose pseudo-inverse of src
Returns:
a reference to dest.
template<class T>
matrix<T>& lti::pseudoInverseMP< T >::apply ( const matrix< T > &  src,
matrix< T > &  dest 
) const

Calculates the Moore-Penrose pseudo-inverse without smoothing.

Parameters:
src matrix<T> to be inverted
dest Moore-Penrose pseudo-inverse of src
Returns:
a reference to dest.
template<class T>
virtual functor* lti::pseudoInverseMP< T >::clone (  )  const [virtual]

returns a pointer to a clone of this functor.

Implements lti::functor.

template<class T>
pseudoInverseMP<T>& lti::pseudoInverseMP< T >::copy ( const pseudoInverseMP< T > &  other  ) 

copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::functor.

template<class T>
const parameters& lti::pseudoInverseMP< T >::getParameters (  )  const

returns used parameters

Reimplemented from lti::functor.

template<class T>
virtual const char* lti::pseudoInverseMP< T >::getTypeName (  )  const [virtual]

returns the name of this type ("pseudoInverseMP")

Reimplemented from lti::linearAlgebraFunctor.


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

Generated on Sat Apr 10 15:28:36 2010 for LTI-Lib by Doxygen 1.6.1