vnl_symmetric_eigensystem_compute() solves the eigenproblem
, with
symmetric. The resulting eigenvectors and values are sorted in increasing order so V.column(0) is the eigenvector corresponding to the smallest eigenvalue.
As a matrix decomposition, this is 
Uses the EISPACK routine RS, which in turn calls TRED2 to reduce A to tridiagonal form, followed by TQL2, to find the eigensystem. This is summarized in Golub and van Loan, .2. The following are the original subroutine headers:
This subroutine reduces a real symmetric matrix to a symmetric tridiagonal matrix using and accumulating orthogonal similarity transformations.
TQL2 is a translation of the Algol procedure tql2, Num. Math. 11, 293-306(1968) by Bowdler, Martin, Reinsch, and Wilkinson. Handbook for Auto. Comp., Vol.ii-Linear Algebra, 227-240(1971).
This subroutine finds the eigenvalues and eigenvectors of a symmetric tridiagonal matrix by the QL method. the eigenvectors of a full symmetric matrix can also be found if tred2 has been used to reduce this full matrix to tridiagonal form.
Modifications
fsm, 5 March 2000: templated
dac (Manchester) 28/03/2001: tidied up documentation
Feb.2002 - Peter Vanroose - brief doxygen comment placed on single line
Jan.2003 - Peter Vanroose - added missing implementation for solve(b,x)
Definition in file vnl_symmetric_eigensystem.h.
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_diag_matrix.h>
Go to the source code of this file.
Classes | |
| class | vnl_symmetric_eigensystem< T > |
| Computes and stores the eigensystem decomposition of a symmetric matrix. More... | |
Functions | |
| void | vnl_symmetric_eigensystem_compute_eigenvals (double M11, double M12, double M13, double M22, double M23, double M33, double &l1, double &l2, double &l3) |
| Find eigenvalues of a symmetric 3x3 matrix. | |
| bool | vnl_symmetric_eigensystem_compute (vnl_matrix< float > const &A, vnl_matrix< float > &V, vnl_vector< float > &D) |
| Find eigenvalues of a symmetric matrix. | |
| bool | vnl_symmetric_eigensystem_compute (vnl_matrix< double > const &A, vnl_matrix< double > &V, vnl_vector< double > &D) |
| Find eigenvalues of a symmetric matrix. | |
| bool vnl_symmetric_eigensystem_compute | ( | vnl_matrix< double > const & | A, | |
| vnl_matrix< double > & | V, | |||
| vnl_vector< double > & | D | |||
| ) |
Find eigenvalues of a symmetric matrix.
Definition at line 110 of file vnl_symmetric_eigensystem.cxx.
| bool vnl_symmetric_eigensystem_compute | ( | vnl_matrix< float > const & | A, | |
| vnl_matrix< float > & | V, | |||
| vnl_vector< float > & | D | |||
| ) |
Find eigenvalues of a symmetric matrix.
Definition at line 96 of file vnl_symmetric_eigensystem.cxx.
| void vnl_symmetric_eigensystem_compute_eigenvals | ( | double | M11, | |
| double | M12, | |||
| double | M13, | |||
| double | M22, | |||
| double | M23, | |||
| double | M33, | |||
| double & | l1, | |||
| double & | l2, | |||
| double & | l3 | |||
| ) |
Find eigenvalues of a symmetric 3x3 matrix.
Matrix is M11 M12 M13
M12 M22 M23
M13 M23 M33
Definition at line 26 of file vnl_symmetric_eigensystem.cxx.
1.5.1