latest version v1.9 - last update 10 Apr 2010 |
#include <ltiEigenSystem.h>
Classes | |
class | parameters |
eigenSystem parameter class More... | |
Public Member Functions | |
jacobi () | |
jacobi (const parameters ¶ms) | |
virtual bool | apply (const matrix< T > &theMatrix, vector< T > &eigenvalues, matrix< T > &eigenvectors) const |
virtual functor * | clone () const |
virtual const char * | getTypeName () const |
const parameters & | getParameters () const |
This functor computes all eigenvalues and eigenvectors of a real _symmetric and square_ matrix using the Jacobi method.
Please note that the eigenvector matrices will contain the eigenvector in the COLUMNS and not in the rows, as could be expected. This avoids the requirement of transposing matrices in eigenvector-based transformations like PCA! All eigenvector functors follows this interface.
lti::jacobi< T >::jacobi | ( | ) |
default constructor
lti::jacobi< T >::jacobi | ( | const parameters & | params | ) |
default constructor with parameters
virtual bool lti::jacobi< T >::apply | ( | const matrix< T > & | theMatrix, | |
vector< T > & | eigenvalues, | |||
matrix< T > & | eigenvectors | |||
) | const [virtual] |
onCopy version of apply.
theMatrix | Real symmetric matrix to be transformed. Only the diagonal and above diagonal elements have to be set. | |
eigenvalues | Elements will contain the eigenvalues. | |
eigenvectors | Columns will contain the eigenvectors corresponding to the eigenvalues. returns true if successful, false otherwise. |
Implements lti::eigenSystem< T >.
virtual functor* lti::jacobi< T >::clone | ( | ) | const [inline, virtual] |
returns a pointer to a clone of the functor.
Implements lti::functor.
const parameters& lti::jacobi< T >::getParameters | ( | ) | const |
returns the current parameters.
Reimplemented from lti::eigenSystem< T >.
virtual const char* lti::jacobi< T >::getTypeName | ( | void | ) | const [inline, virtual] |
returns the name of this type
Reimplemented from lti::eigenSystem< T >.