New Reply

Diagonalize Large Hermitian Matrices Efficiently?

 
Share Thread Thread Tools
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
PhysOrg
science news on PhysOrg.com

>> King Richard III found in 'untidy lozenge-shaped grave'
>> Google Drive sports new view and scan enhancements
>> Researcher admits mistakes in stem cell study
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
Thread Tools


Similar Threads 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