Computes and stores the eigensystem decomposition of a symmetric matrix. More...
#include <vnl_algo_fwd.h>
Public Member Functions | |
| vnl_symmetric_eigensystem (vnl_matrix< T > const &M) | |
| Solve real symmetric eigensystem $A x = \lambda x$. More... | |
| vnl_vector< T > | get_eigenvector (int i) const |
| Recover specified eigenvector after computation. More... | |
| T | get_eigenvalue (int i) const |
| Recover specified eigenvalue after computation. More... | |
| vnl_vector< T > | nullvector () const |
| Convenience method to get least-squares nullvector. More... | |
| vnl_matrix< T > | recompose () const |
| Return the matrix $V D V^\top$. More... | |
| T | determinant () const |
| return product of eigenvalues. More... | |
| vnl_matrix< T > | pinverse () const |
| return the pseudoinverse. More... | |
| vnl_matrix< T > | square_root () const |
| return the square root, if positive semi-definite. More... | |
| vnl_matrix< T > | inverse_square_root () const |
| return the inverse of the square root, if positive semi-definite. More... | |
| vnl_vector< T > | solve (vnl_vector< T > const &b) |
| Solve LS problem M x = b. More... | |
| void | solve (vnl_vector< T > const &b, vnl_vector< T > *x) |
| Solve LS problem M x = b. More... | |
Public Attributes | |
| vnl_matrix< T > | V |
| Public eigenvectors. More... | |
| vnl_diag_matrix< T > | D |
| Public eigenvalues. More... | |
Protected Attributes | |
| int | n_ |
Computes and stores the eigensystem decomposition of a symmetric matrix.
Definition at line 9 of file vnl_algo_fwd.h.
| vnl_symmetric_eigensystem< T >::vnl_symmetric_eigensystem | ( | vnl_matrix< T > const & | M | ) |
Solve real symmetric eigensystem $A x = \lambda x$.
Definition at line 140 of file vnl_symmetric_eigensystem.hxx.
| T vnl_symmetric_eigensystem< T >::determinant | ( | ) | const |
return product of eigenvalues.
Definition at line 178 of file vnl_symmetric_eigensystem.hxx.
| T vnl_symmetric_eigensystem< T >::get_eigenvalue | ( | int | i | ) | const |
Recover specified eigenvalue after computation.
Definition at line 159 of file vnl_symmetric_eigensystem.hxx.
| vnl_vector< T > vnl_symmetric_eigensystem< T >::get_eigenvector | ( | int | i | ) | const |
Recover specified eigenvector after computation.
Definition at line 153 of file vnl_symmetric_eigensystem.hxx.
| 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 219 of file vnl_symmetric_eigensystem.hxx.
|
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 109 of file vnl_symmetric_eigensystem.h.
| vnl_matrix< T > vnl_symmetric_eigensystem< T >::pinverse | ( | ) | const |
return the pseudoinverse.
Definition at line 188 of file vnl_symmetric_eigensystem.hxx.
|
inline |
Return the matrix $V D V^\top$.
This can be useful if you've modified
. So an inverse is obtained using
Definition at line 119 of file vnl_symmetric_eigensystem.h.
| vnl_vector< T > vnl_symmetric_eigensystem< T >::solve | ( | vnl_vector< T > const & | b | ) |
Solve LS problem M x = b.
Definition at line 165 of file vnl_symmetric_eigensystem.hxx.
|
inline |
Solve LS problem M x = b.
Definition at line 137 of file vnl_symmetric_eigensystem.h.
| vnl_matrix< T > vnl_symmetric_eigensystem< T >::square_root | ( | ) | const |
return the square root, if positive semi-definite.
Definition at line 203 of file vnl_symmetric_eigensystem.hxx.
| 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 std::vector while behaving as a matrix.
Definition at line 99 of file vnl_symmetric_eigensystem.h.
|
protected |
Definition at line 88 of file vnl_symmetric_eigensystem.h.
| 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 94 of file vnl_symmetric_eigensystem.h.
1.8.15