New Reply

Diagonalize Large Hermitian Matrices Efficiently?

 
Share Thread
Jun19-12, 10:08 AM   #1
 

Diagonalize Large Hermitian Matrices Efficiently?


I am running a program that has to diagonalize large, complex Hermitian matrices (the largest they get is about 1000x1000). To diagonalize the matrix once isn't too bad, but I need to diagonalize thousands to millions of different Hermitian matrices each time I run a simulation. If I only need the eigenvalues of each matrix, is there an efficient method that does not require me to diagonalize each matrix to get said eigenvalues? I'm currently using a version of the QR algorithm to diagonalize the matrices but I was hoping there was a faster method. Is there a way to emulate the matrices with a series or polynomial of some sort? Any help is greatly appreciated (if anyone knows of any papers written on this topic that would be perfect). Thanks!
PhysOrg.com science news on PhysOrg.com

>> City-life changes blackbird personalities, study shows
>> Origins of 'The Hoff' crab revealed (w/ Video)
>> Older males make better fathers: Mature male beetles work harder, care less about female infidelity
Jun19-12, 10:19 AM   #2
 
There are methods using matrix multiplication and fixed points to pick out the largest eigenvalue if you only need that one. Is that the case here?
Jun19-12, 10:31 AM   #3
 
That sounds helpful! I only ever need one eigenvalue from the computation (though not necessarily the largest); if you know of any resources on such methods could you point me to them? Hopefully I can adapt them to what I need. Thanks!
Jun19-12, 10:46 AM   #4
 

Diagonalize Large Hermitian Matrices Efficiently?


Check out the power iteration method. The matrix must have a strictly largest ev, and this method will pick it out.
Jun19-12, 04:01 PM   #5

Math 2012
 
Recognitions:
Science Advisor Science Advisor
I wouldn't use your own code for the QR algorithm for this. Find the routine from a professional library like LAPACK (which is free) and use that. If you want to see the theory, google for the "LAPACK Working Notes" (that's a collection of 200+ papers many of which describ the research done to develop the methods - but you will need a strong background in linear algebra to understand some of them!)

Quote by John943 View Post
That sounds helpful! I only ever need one eigenvalue from the computation (though not necessarily the largest); if you know of any resources on such methods could you point me to them? Hopefully I can adapt them to what I need. Thanks!
The obvious question is "how do you know which eigenvalue you want, if it's not the largest or the smallest, and you don't care about the eigenvectors"?

If you want an eigenvalue near some constant S, you can find the smallest (closest to 0) eigenvalues of (A - sI) using an interative method.
New Reply

Tags
algorithm, diagonalize, hermitian matrix

Similar discussions for: Diagonalize Large Hermitian Matrices Efficiently?
Thread Forum Replies
non-Hermitian matrices Calculus & Beyond Homework 1
Hermitian matrices Calculus & Beyond Homework 2
diagonalize a non-hermitian matrix Classical Physics 4
any body ever fully diagonalize a 200,000 hermitian matrix? Linear & Abstract Algebra 13
hermitian matrices Quantum Physics 11