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

lti::generalizedEigenSystem< T > Class Template Reference

Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form A*x=(lambda)*B*x. More...

#include <ltiGeneralizedEigenSystem.h>

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

List of all members.

Classes

class  parameters
 the parameters for the class generalizedEigenSystem More...

Public Member Functions

 generalizedEigenSystem ()
 generalizedEigenSystem (const parameters &par)
 generalizedEigenSystem (const generalizedEigenSystem &other)
virtual ~generalizedEigenSystem ()
virtual const char * getTypeName () const
virtual bool apply (const matrix< T > &a, const matrix< T > &b, vector< T > &eigenvalues, matrix< T > &eigenvectors) const
virtual bool apply (const matrix< T > &a, const matrix< T > &b, vector< T > &eigenvalues) const
generalizedEigenSystemcopy (const generalizedEigenSystem &other)
generalizedEigenSystemoperator= (const generalizedEigenSystem &other)
virtual functorclone () const
const parametersgetParameters () const
virtual bool updateParameters ()

Detailed Description

template<class T>
class lti::generalizedEigenSystem< T >

Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form A*x=(lambda)*B*x.

Here A and B are assumed to be symmetric and B is also positive definite.

If parameters::sort is true the eigenvalues and corresponding eigenvectors are sorted in descending order. Default is true.


Constructor & Destructor Documentation

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

default constructor

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

Construct a functor using the given parameters.

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

copy constructor

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

destructor


Member Function Documentation

template<class T >
virtual bool lti::generalizedEigenSystem< T >::apply ( const matrix< T > &  a,
const matrix< T > &  b,
vector< T > &  eigenvalues 
) const [virtual]

Computes eigenvalues and eigenvectors of the given matrix.

The functor can efficiently calculate only a few dimensions of the eigenspace, taking those with the largest eigenvalues. The number of dimensions is set with parameters::dimensions.

Parameters:
a the symmetric matrix A
b the symmetric, positive definite matrix B
eigenvalues elements will contain the eigenvalues

Reimplemented in lti::fastGeneralizedEigenSystem< T >.

template<class T >
virtual bool lti::generalizedEigenSystem< T >::apply ( const matrix< T > &  a,
const matrix< T > &  b,
vector< T > &  eigenvalues,
matrix< T > &  eigenvectors 
) const [virtual]

Computes eigenvalues and eigenvectors of the given matrix.

The functor can efficiently calculate only a few dimensions of the eigenspace, taking those with the largest eigenvalues. The number of dimensions is set with parameters::dimensions.

Parameters:
a the symmetric matrix A
b the symmetric, positive definite matrix B
eigenvalues elements will contain the eigenvalues
eigenvectors columns will contain the eigenvectors corresponding to the eigenvalues

Reimplemented in lti::fastGeneralizedEigenSystem< T >.

template<class T >
virtual functor* lti::generalizedEigenSystem< T >::clone (  )  const [virtual]

returns a pointer to a clone of this functor.

Implements lti::functor.

Reimplemented in lti::fastGeneralizedEigenSystem< T >.

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

returns used parameters

Reimplemented from lti::functor.

Reimplemented in lti::fastGeneralizedEigenSystem< T >.

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

returns the name of this type ("generalizedEigenSystem")

Reimplemented from lti::linearAlgebraFunctor.

Reimplemented in lti::fastGeneralizedEigenSystem< T >.

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

alias for copy member

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

Reimplemented from lti::functor.

template<class T >
virtual bool lti::generalizedEigenSystem< T >::updateParameters (  )  [virtual]

set functor's parameters.

This member makes a copy of theParam: the functor will keep its own copy of the parameters!

Returns:
true if successful, false otherwise

Reimplemented from lti::functor.


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

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