Jacobi transformation algorithm
The Jacobi transformation algorithm is a numerical method for finding eigenvectors and eigenvalues of symmetric matrices. It works by transforming the matrix with rotations that eliminate off-diagonal elements. Of course, eliminating one element may increase some other off-diagonal element. By iterating the procedure several times, the off-diagonal elements can be made arbitrarily small. When all off-diagonal elements have been eliminated, the eigenvalues remain on the diagonal. The product of the rotations used to achieve diagonal form is an orthogonal matrix containing the eigenvectors of the original matrix.