Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vnl_symmetric_eigensystem< T > Class Template Reference

#include <vnl_symmetric_eigensystem.h>

List of all members.


Detailed Description

template<class T>
class vnl_symmetric_eigensystem< T >

Computes and stores the eigensystem decomposition of a symmetric matrix.

Definition at line 83 of file vnl_symmetric_eigensystem.h.

Public Member Functions

 vnl_symmetric_eigensystem (vnl_matrix< T > const &M)
 Solve real symmetric eigensystem $A x = x$.
vnl_vector< T > get_eigenvector (int i) const
 Recover specified eigenvector after computation.
get_eigenvalue (int i) const
 Recover specified eigenvalue after computation.
vnl_vector< T > nullvector () const
 Convenience method to get least-squares nullvector.
vnl_matrix< T > recompose () const
 Return the matrix $V D V^$.
determinant () const
 return product of eigenvalues.
vnl_matrix< T > pinverse () const
 return the pseudoinverse.
vnl_matrix< T > square_root () const
 return the square root, if positive semi-definite.
vnl_matrix< T > inverse_square_root () const
 return the inverse of the square root, if positive semi-definite.
vnl_vector< T > solve (vnl_vector< T > const &b)
 Solve LS problem M x = b.
void solve (vnl_vector< T > const &b, vnl_vector< T > *x)
 Solve LS problem M x = b.

Public Attributes

vnl_matrix< T > V
 Public eigenvectors.
vnl_diag_matrix< T > D
 Public eigenvalues.

Protected Attributes

int n_


Constructor & Destructor Documentation

template<class T>
vnl_symmetric_eigensystem< T >::vnl_symmetric_eigensystem vnl_matrix< T > const &  M  ) 
 

Solve real symmetric eigensystem $A x = x$.

Definition at line 152 of file vnl_symmetric_eigensystem.cxx.


Member Function Documentation

template<class T>
T vnl_symmetric_eigensystem< T >::determinant  )  const
 

return product of eigenvalues.

Definition at line 190 of file vnl_symmetric_eigensystem.cxx.

template<class T>
T vnl_symmetric_eigensystem< T >::get_eigenvalue int  i  )  const
 

Recover specified eigenvalue after computation.

Definition at line 171 of file vnl_symmetric_eigensystem.cxx.

template<class T>
vnl_vector< T > vnl_symmetric_eigensystem< T >::get_eigenvector int  i  )  const
 

Recover specified eigenvector after computation.

Definition at line 165 of file vnl_symmetric_eigensystem.cxx.

template<class T>
vnl_matrix< T > vnl_symmetric_eigensystem< T >::inverse_square_root  )  const
 

return the inverse of the square root, if positive semi-definite.

Definition at line 231 of file vnl_symmetric_eigensystem.cxx.

template<class T>
vnl_vector<T> vnl_symmetric_eigensystem< T >::nullvector  )  const [inline]
 

Convenience method to get least-squares nullvector.

It is deliberate that the signature is the same as on vnl_svd<T>.

Definition at line 113 of file vnl_symmetric_eigensystem.h.

template<class T>
vnl_matrix< T > vnl_symmetric_eigensystem< T >::pinverse  )  const
 

return the pseudoinverse.

Definition at line 200 of file vnl_symmetric_eigensystem.cxx.

template<class T>
vnl_matrix<T> vnl_symmetric_eigensystem< T >::recompose  )  const [inline]
 

Return the matrix $V D V^$.

This can be useful if you've modified $D$ . So an inverse is obtained using

   vnl_symmetric_eigensystem} eig(A);
   eig.D.invert_in_place}();
   vnl_matrix<double> Ainverse = eig.recompose();

Definition at line 123 of file vnl_symmetric_eigensystem.h.

template<class T>
void vnl_symmetric_eigensystem< T >::solve vnl_vector< T > const &  b,
vnl_vector< T > *  x
[inline]
 

Solve LS problem M x = b.

Definition at line 141 of file vnl_symmetric_eigensystem.h.

template<class T>
vnl_vector< T > vnl_symmetric_eigensystem< T >::solve vnl_vector< T > const &  b  ) 
 

Solve LS problem M x = b.

Definition at line 177 of file vnl_symmetric_eigensystem.cxx.

template<class T>
vnl_matrix< T > vnl_symmetric_eigensystem< T >::square_root  )  const
 

return the square root, if positive semi-definite.

Definition at line 215 of file vnl_symmetric_eigensystem.cxx.


Member Data Documentation

template<class T>
vnl_diag_matrix<T> vnl_symmetric_eigensystem< T >::D
 

Public eigenvalues.

After construction, D contains the eigenvalues, sorted as described above. Note that D is a vnl_diag_matrix, and is therefore stored as a vcl_vector while behaving as a matrix.

Definition at line 103 of file vnl_symmetric_eigensystem.h.

template<class T>
int vnl_symmetric_eigensystem< T >::n_ [protected]
 

Definition at line 92 of file vnl_symmetric_eigensystem.h.

template<class T>
vnl_matrix<T> vnl_symmetric_eigensystem< T >::V
 

Public eigenvectors.

After construction, the columns of V are the eigenvectors, sorted by increasing eigenvalue, from most negative to most positive.

Definition at line 98 of file vnl_symmetric_eigensystem.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:37:40 2008 for core/vnl by  doxygen 1.4.4