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

lti::choleskyDecomposition< T > Class Template Reference

This functor calculates the Cholesky decomposition of a symmetric, positive-definite matrix A. More...

#include <ltiCholeskyDecomposition.h>

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

List of all members.

Classes

class  parameters
 the parameters for the class choleskyDecomposition More...

Public Member Functions

 choleskyDecomposition ()
 choleskyDecomposition (const parameters &par)
 choleskyDecomposition (const choleskyDecomposition &other)
virtual ~choleskyDecomposition ()
virtual const char * getTypeName () const
bool apply (matrix< T > &srcdest) const
bool apply (const matrix< T > &src, matrix< T > &l) const
bool apply (matrix< T > &srcdest, const typename parameters::eTriangularType &tType) const
bool apply (const matrix< T > &src, matrix< T > &l, const typename parameters::eTriangularType &tType) const
choleskyDecompositioncopy (const choleskyDecomposition &other)
choleskyDecompositionoperator= (const choleskyDecomposition &other)
virtual functorclone () const
const parametersgetParameters () const

Detailed Description

template<class T>
class lti::choleskyDecomposition< T >

This functor calculates the Cholesky decomposition of a symmetric, positive-definite matrix A.

The Cholesky decomposition is defined as A = L * L' (with L' the transpose of L) or A = U' * U. The cholesky factor L or U are lower or upper triangular matrices, respectively, where L=U'. The nature of the Cholesky factor can be determined by setting parameters::triangularType or using the appropriate apply method. The default is Upper due to shorter calculation time.

The Cholesky decomposition can be used to solve a linear equation system A*x=b by first solving L*y=b and then L'*x=y using the forwardSubstitution and backSubstitution functors, respectively.


Constructor & Destructor Documentation

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

default constructor

template<class T >
lti::choleskyDecomposition< T >::choleskyDecomposition ( const parameters par  ) 

Construct a functor using the given parameters.

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

copy constructor

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

destructor


Member Function Documentation

template<class T >
bool lti::choleskyDecomposition< T >::apply ( const matrix< T > &  src,
matrix< T > &  l,
const typename parameters::eTriangularType tType 
) const

The matrix given must be symmetric and positive-definite.

The apply method returns the upper or lower triangular matrix version of the Cholosky decomposition, depending on the value of tType.

Parameters:
src matrix<T> with the source data.
l matrix<T> where the result will be left.
tType type of triangular matrix
Returns:
true if apply successful or false otherwise.
template<class T >
bool lti::choleskyDecomposition< T >::apply ( matrix< T > &  srcdest,
const typename parameters::eTriangularType tType 
) const

The matrix given must be symmetric and positive-definite.

The apply method returns the upper or lower triangular matrix version of the Cholosky decomposition, depending on the value of tType.

Parameters:
srcdest matrix<T> with the source data. The result will be left here too.
tType type of triangular matrix
Returns:
true if apply successful or false otherwise.
template<class T >
bool lti::choleskyDecomposition< T >::apply ( const matrix< T > &  src,
matrix< T > &  l 
) const

The matrix given must be symmetric and positive-definite.

The apply method returns the upper or lower triangular matrix version of the Cholosky decomposition, depending on the value of parameters::triangularType. The default Upper is faster.

Parameters:
src matrix<T> with the source data.
l matrix<T> where the result will be left.
Returns:
true if apply successful or false otherwise.
template<class T >
bool lti::choleskyDecomposition< T >::apply ( matrix< T > &  srcdest  )  const

The matrix given must be symmetric and positive-definite.

The apply method returns the upper or lower triangular matrix version of the Cholosky decomposition, depending on the value of parameters::triangularType. The default Upper is faster.

Parameters:
srcdest matrix<T> with the source data. The result will be left here too.
Returns:
true if apply successful or false otherwise.
template<class T >
virtual functor* lti::choleskyDecomposition< T >::clone (  )  const [virtual]

returns a pointer to a clone of this functor.

Implements lti::functor.

template<class T >
choleskyDecomposition& lti::choleskyDecomposition< T >::copy ( const choleskyDecomposition< 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::choleskyDecomposition< T >::getParameters (  )  const

returns used parameters

Reimplemented from lti::functor.

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

returns the name of this type ("choleskyDecomposition")

Reimplemented from lti::linearAlgebraFunctor.

template<class T >
choleskyDecomposition& lti::choleskyDecomposition< T >::operator= ( const choleskyDecomposition< T > &  other  ) 

alias for copy member

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

Reimplemented from lti::functor.


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

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