IMPROVEMENTS
Use a similarity transformation by a diagonal matrix to reduce the norm of a matrix
Use 2D orthogonal transformations on 2x2 blocks on the diagonal, at the end of each sweep, to sort and pair the eigenvalues
Use a 4D orthogonal transformation to reduce the problematic lower block to a Real Schur Form
Use different values for EPS - to identify almost zero values - at different levels, starting with the smallest and increasing its value slowly.
Use one sided Jacobi Method where only column updates are done and the matrix is stored in the factored form: Ai+1 = Ai Ri; Qi+1 = Qi Ri