The code never converges to a solution. There is an iteration count, but is is never used. The FORTRAN HQR2 code (what JAMA and this code seem to be based on) errors out if the number of iterations is greater than 30*order. We should add something similar.
As to why this particular matrix doesn't converge, I don't know. I tinkered around with the convergence criteria it doesn't even seem to be close to converging.
Also, JAMA uses eps = Math.Pow(2,-52) but we use Math.Pow(2,-53) when determining if two numbers are equal. It doesn't make any difference in this case but I wanted to it out.
As to why this particular matrix doesn't converge, I don't know. I tinkered around with the convergence criteria it doesn't even seem to be close to converging.
Also, JAMA uses eps = Math.Pow(2,-52) but we use Math.Pow(2,-53) when determining if two numbers are equal. It doesn't make any difference in this case but I wanted to it out.