Diagonalize Large Hermitian Matrices Efficiently?

In summary: If you want an eigenvalue near some other constant C, you can find the largest (closest to S) eigenvalues of (A - sI) using the same method.
  • #1
John943
2
0
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!
 
Physics news on Phys.org
  • #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?
 
  • #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!
 
  • #4
Check out the power iteration method. The matrix must have a strictly largest ev, and this method will pick it out.
 
  • #5
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!)

John943 said:
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.
 

1. How do you define a Hermitian matrix?

A Hermitian matrix is a square matrix that is equal to its own conjugate transpose. In other words, the entries on the main diagonal are all real numbers, and the elements above and below the main diagonal are complex conjugates of each other.

2. Why is it important to diagonalize large Hermitian matrices efficiently?

Diagonalizing a matrix means finding a simpler form for the matrix that makes it easier to work with. In the case of Hermitian matrices, diagonalization allows us to simplify complex calculations and also reveals important properties of the matrix, such as the eigenvalues and eigenvectors.

3. What is the most efficient way to diagonalize a large Hermitian matrix?

The most efficient method for diagonalizing a large Hermitian matrix is to use the spectral theorem, which states that any Hermitian matrix can be diagonalized by a unitary transformation. This can be done using specialized algorithms such as the Jacobi method or the QR algorithm.

4. Are there any limitations to efficiently diagonalizing large Hermitian matrices?

One limitation is that the matrix must be Hermitian, meaning it must have real-valued entries and be equal to its own conjugate transpose. Additionally, the spectral theorem relies on the matrix being diagonalizable, which may not always be possible for certain matrices.

5. How does diagonalizing a large Hermitian matrix benefit scientific research?

Diagonalizing large Hermitian matrices is crucial for many scientific fields, such as quantum mechanics, statistics, and signal processing. It allows researchers to analyze and understand complex systems more easily and accurately, leading to advancements in various areas of science and technology.

Similar threads

  • Linear and Abstract Algebra
Replies
2
Views
609
Replies
3
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
811
  • Linear and Abstract Algebra
Replies
7
Views
7K
  • Linear and Abstract Algebra
Replies
4
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
1K
  • Linear and Abstract Algebra
Replies
8
Views
2K
  • Linear and Abstract Algebra
Replies
5
Views
4K
  • General Math
Replies
5
Views
1K
Back
Top