|
latest version v1.9 - last update 10 Apr 2010 |
|
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>


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 |
| generalizedEigenSystem & | copy (const generalizedEigenSystem &other) |
| generalizedEigenSystem & | operator= (const generalizedEigenSystem &other) |
| virtual functor * | clone () const |
| const parameters & | getParameters () const |
| virtual bool | updateParameters () |
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.
| lti::generalizedEigenSystem< T >::generalizedEigenSystem | ( | ) |
default constructor
| lti::generalizedEigenSystem< T >::generalizedEigenSystem | ( | const parameters & | par | ) |
Construct a functor using the given parameters.
| lti::generalizedEigenSystem< T >::generalizedEigenSystem | ( | const generalizedEigenSystem< T > & | other | ) |
copy constructor
| other | the object to be copied |
| virtual lti::generalizedEigenSystem< T >::~generalizedEigenSystem | ( | ) | [virtual] |
destructor
| 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.
| a | the symmetric matrix A | |
| b | the symmetric, positive definite matrix B | |
| eigenvalues | elements will contain the eigenvalues |
Reimplemented in lti::fastGeneralizedEigenSystem< 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.
| 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 >.
| 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 >.
| generalizedEigenSystem& lti::generalizedEigenSystem< T >::copy | ( | const generalizedEigenSystem< T > & | other | ) |
copy data of "other" functor.
| other | the functor to be copied |
Reimplemented from lti::functor.
| const parameters& lti::generalizedEigenSystem< T >::getParameters | ( | ) | const |
returns used parameters
Reimplemented from lti::functor.
Reimplemented in lti::fastGeneralizedEigenSystem< 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 >.
| generalizedEigenSystem& lti::generalizedEigenSystem< T >::operator= | ( | const generalizedEigenSystem< T > & | other | ) |
| 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!
Reimplemented from lti::functor.