Exercise "matrix diagonalization"
Implement the Jacobi eigenvalue method for real symmetric matrices using the cyclic sweep algorithm: sequentially eliminate all off-diagonal elements row after row.
Make some interesting examples proving your implementation works as intended.
(3 points) Jacobi diagonalization with classic sweeps and indexing of largest elements in rows
Implement the classic Jacobi diagonalization algorithm with indexing:
Compare the speed of the classical-sweep-with-indexing and the cyclic-sweep algorithms on, say, random (real symmetric) matrices of different sizes. If you do everything right the classic must do fewer rotations, but the total speeds must be close.
Compare the speed of your implementations with library implementations (e.g. GSL, Armadillo, and NumPy).