Eigenvalues of Matrix Addition

  • Thread starter vkillion
  • Start date
  • #1
2
0

Main Question or Discussion Point

Hello,

I have a linear algebra problem that I need help with.

Basically, I need to get the eigenvalues and eigenvectors of several (sometimes tens of thousands) very large matrices (6^n x 6^n, where n>= 3, to be specific). Currently, we are just using MATLAB's eig() function to get them. I am trying to find optimizations for the simulations to cut down on computing time. There are three matrices that we use.

H_constant - generated before the loop. Real and symmetric about the diagonal. Does not change after initial calculation.

H_location - generated during each iteration. Diagonal.

H_final - H_constant + H_location. Therefore, it is also real and symmetric about the diagonal.

It is H_final that we need the eigenvalues and eigenvectors of. My theory is that we calculate the eigenvalues and eigenvectors of H_constant (which won't change after the initial calculation) once. We use this result with the eigenvalues of H_location (the diagonal), to get the eigenvalues and eigenvectors of H_final1. This would reduce our computation from tens of thousands of eig() calls to 1 eig() call and tens of thousands of very simple operations. I don't remember enough of my linear algebra to prove such a theory.

I hope I was able to explain the problem well enough. I hope someone is able to help me with this problem.

Thank you,

Vincent
 

Answers and Replies

  • #2
marcusl
Science Advisor
Gold Member
2,725
386
The eigenvalues of a sum of matrices C=A+B equal the sum of their eigenvalues, that is, c_n = a_n+b_n, only in the most special of cases. A and B diagonal is one such case. In general your proposed approach is invalid.
 
  • #3
2
0
Thank you for your response.

I knew it wouldn't be as easy as adding them together. I wonder though if there isn't a closed-form solution to this, maybe there are some approximations we can make.
 
  • #4
HallsofIvy
Science Advisor
Homework Helper
41,833
956
IF A and B have the same eigenvector, v, then [itex](A+ B)v= Av+ Bv= \lambda_A v+ \lambda_B v= (\lambda_A+ \lambda_B) v[/itex]
but that is a very special situation.
 

Related Threads on Eigenvalues of Matrix Addition

  • Last Post
Replies
5
Views
727
  • Last Post
Replies
3
Views
5K
  • Last Post
Replies
2
Views
3K
Replies
3
Views
2K
Replies
1
Views
3K
Replies
4
Views
785
Replies
7
Views
3K
  • Last Post
Replies
2
Views
7K
Replies
1
Views
2K
Top