Small Eigenvalue Problems

Main Question or Discussion Point

Dear experts!

I have a small Hermitian matrix (7*7 or smaller). I need to find all eigenvalues and eigenvectors of this matrix. The program memory is bounded.
What method is optimal in this case?

I remember learning some method for estimating eigenvalues then useing some kind of "binary search" to get closer to the true values, but I've forgotten what it was called.

There are a number of methods to obtain eigenvalues, or at least to accurately estimate them. Here's two pages I managed to scrouge up to get you started.

http://www.phys.au.dk/subatom/nucltheo/numeric/current/note6.htm [Broken]
http://www.nasc.snu.ac.kr/sheen/nla/html/node20.html [Broken]

You should not attempt to solve the characteristic polynomial. It will take too long and your answer won't be as accurate as other methods. This is because for a 7x7 matrix, the characteristic polynomial will be of order 7, and by Abel's theorem, there's no formula to get an exact answer. As such, you have to use root estimation algorithims like newtons method. But don't. They will take far too long to converge.

I wish I could recall some other methods, but I don't often deal with matrices larger than 4x4.

Last edited by a moderator:
Thank you very mach. Eispack is a very good package.