Message Boards Message Boards

1
|
15573 Views
|
9 Replies
|
7 Total Likes
View groups...
Share
Share this post:

Common set of eigenvectors for commutative matrices

Posted 10 years ago
I would like to know if there is a way to find a common set of eigenvectors for commutative matrices (via some option of Eigenvectors or other way). Both matrices  have  degenerated eigenvalues).
Thank you in advance
POSTED BY: Vahagn Abgaryan
9 Replies
Commuting square matrices should give the same set of eigenvectors (with different eigenvalues). A simple example: S_z and S^2 for spin-1/2 system:
 In[98]:= Eigensystem[{{1/2, 0}, {0, -1/2}}]
 
 
 Out[98]= {{-(1/2), 1/2}, {{0, 1}, {1, 0}}}
 
 
 In[99]:= Eigensystem[{{Sqrt[3]/2, 0}, {0, Sqrt[3]/2}}]
 
 
Out[99]= {{Sqrt[3]/2, Sqrt[3]/2}, {{0, 1}, {1, 0}}}
POSTED BY: S M Blinder
Posted 10 years ago
Dear Prof. Blinder,
Thanke you for your response.
You are completely right, if two operators do not have duplications in their eigenvalues and they commute.
On the  contrary if they have duplications in their eigenvalues then the linear combination of the degenerated states corresponding to the same eigenvalues still is an eigenvector for the first operator, but not necessarily for the second (actually the corresponding theorem states that in case of commutation one can always find a common set of eigenvectors, and in case of absence of duplications in eigenvlues the set is the onley possible one, but in case of degenaration  not every set is common,
see as a reference Landau Lifshitz, "Quantum Mechanics"  
https://archive.org/details/QuantumMechanics_104
page 34).
For example here, in the file I uploaded,  I present a particular hamiltonian of three interacting spin-1 particles, which commutes with the total angular momentum in the z direction, but some eigenvectors of the hamiltonian are not eigenvectors for the total angular momentum.
Attachments:
POSTED BY: Vahagn Abgaryan
Posted 10 years ago
So my question was: is there a short way to find the exact representation  for which the eigenvectors are common for both matricies?
POSTED BY: Vahagn Abgaryan
I'm not sure if this is what you are seeking but you could look at the eigensystem for (what I believe is called the matrix pencil). If your matrices are m1 and m2, this is mu*m1+lambda*m2.

{vals, vecs} = Eigensystem[mu*m1 + lambda*m2];

For your notebook example I believe this gives common eigenvectors.
POSTED BY: Daniel Lichtblau
Posted 10 years ago
Dear Mr. Lichtblau,
Thank you for your response.
I am also grateful for the reference to the matix pencil, may be it will be helpful for  solution of the problem.

In the example I uploaded [H,TotSz]=0, on the other hand as I presented in the end of the file, one of the eigenvactors of H is  e.g.
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0105979, 0, 0.0102231, -0.706877, 0, 0, 0, 0, -0.020821, 0.706877, 0, 0, 0}
while the action of TotSz on the same column yields

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0105979, 0, -0.0102231, 1.41375, 0, 0, 0, 0, 0.020821, -1.41375, 0, 0, 0}

As you can see  elements of the function are not uniformally multiplied by the same number (i.e. by the eigenvalue of the TotSz corresponding to this "eigen"-function).
Take for example the 15-th element which is multiplied by -1, and 18-th element which is multiplied by -2.
POSTED BY: Vahagn Abgaryan
As you observed in one note, eigenvectors corresponding to a multiple eigenvalue are not in general uniquely defined. So it might require combinations of eigenvectors from a given eigenspace from the first matrix in order to make an eigenvector for the second one, and vice versa.

If instead you use the pencil approach that I indicated, it all works just fine. I started with your definitions for matrices H and TotSz.
{vals, vecs} = Eigensystem[mu*H + lambda*TotSz];

Check the eigenvalues and eigenvectors for each matrix individually.
 Max[
  Abs[H.Transpose[vecs] - Transpose[vals*vecs] /. {mu -> 1,
     lambda -> 0}]]
 
 (* Out[25]= 0 *)
 
 Max[
  Abs[TotSz.Transpose[vecs] - Transpose[vals*vecs] /. {mu -> 0,
     lambda -> 1}]]

(* Out[27]= 0 *)
POSTED BY: Daniel Lichtblau
Posted 10 years ago
Thank you!
It is really interesting approach and works perfectly well for the uploaded case.
But the real problem is that I can not  symbolically calculate the eigensystem (due to the  huge dimensions of the matrices in the actual problem I use Eigenvectors[N] ), then put the values of parameters as required. Otherwise I could artificially introduce parameters which would break all the symmetries, hence remove the degenerations, then restor them after the calculations (though the approach by matrix pencil is more convenient).
Is there a way I could use the approach you mentioned for numerical calculations?
POSTED BY: Vahagn Abgaryan
Well...as I learned earlier today from a weirdly coincidental Mathematica.StackExchange thread, one can get results using random numeric values instead of symbolic mu and lambda. See comments in the thread at the link below.

http://mathematica.stackexchange.com/questions/46949/is-there-a-built-in-procedure-for-simultaneous-diagonalization-of-a-set-of-commu
POSTED BY: Daniel Lichtblau
Posted 10 years ago
Thanks a lot, you were really helpful!
POSTED BY: Vahagn Abgaryan
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract