# Way to find common eigen vectors for a pair of matrices with known eigen values

1 view (last 30 days)
petit on 16 Jan 2021
Commented: petit on 17 Jan 2021
Hello,
I am looking for finding or rather building common eigenvectors matrix X between 2 matrices A and B such as :
AX=aX
with "a" the diagonal matrix corresponding to the eigenvalues
BX=bX
with "b" the diagonal matrix corresponding to the eigenvalues
where A and B are square and diagonalizable matrices.
I took a look in a similar post but had not managed to conclude, i.e can't have valid results when I build the final wanted endomorphism F defined by :
F = P D P^-1
I have also read the wikipedia topic and this interesting paper but couldn't have to extract methods pretty easy to implement.
How can I build these common eigenvectors and finding also the eigenvalues associated? I am a little lost between all the potential methods that exist to carry it out.
The screen capture below shows that the kernel of commutator has to be different from null vector :
From another maths forum, one advices me to use Singular values Decomposition (SVD) on the commutator [A,B], that is in Matlab doing by :
"If 𝑣 is a common eigenvector, then ‖(𝐴𝐵−𝐵𝐴)𝑣‖=0. The SVD approach gives you a unit-vector 𝑣 that minimizes ‖(𝐴𝐵−𝐵𝐴)𝑣‖ (with the constraint that ‖𝑣‖=1)"
So I have extracted the approximative eigen vectors V from :
[U,S,V] = svd(A*B-B*A)
1) Is there a way to increase the accuracy to minimize ‖(𝐴𝐵−𝐵𝐴)𝑣‖ as much as possible ?
IMPORTANT REMARK :
I saw there is another function called
rref
which can accept a tolerance parameter but :
1.1 What's the difference with singular values decomposition SVD algorithm ?
1.2 If this routine is efficient, which criterion could I apply for a pertinent choice of this tolerance value
2) Are there other alternative algorithms that could give better results than SVD and rref ?
I know there is not in my case analytical to find a common eigen vectors basis but with a relative small tolerance,
The 2 matrices to find approximative common eigen vectors matrix are available in attachment.
3) If it is possible, Could anyone try to apply a function Matlab appropriate to find a basis of common eigen vectors or write a small Matlab script for this ?
Even a simple approximation would be enough, everything depends of the tolerance that we are ready to accept but currently I don't know how to introduce this tolerance parameter with `SVD` algorithms (if there are different versions in SVD algorithm) or alternative algorithms.
Any suggestion/track/clue/help is welcome
Best Regards
tags: matrix, matrix manipulation , minimization problem, eigen vectors, eigen values, SVD algorithm, nullspace, basis of vectors.
petit on 17 Jan 2021
Hi David,
to put further information, by "common eigen vecors basis", I talk about the passing matrix P where I could write :
A = P D_a P^-1
and in the same time :
B = P D_b P^-1
At the beginning of this study, I thought that a simple linear combination of eigen vectors containing into P1 (coming from diagonalization of A) and P2 (coming from diagnalization of B) matrices , by writting, alpha*P1 + beta*P2, would be enough. But I couldn't have concluded.
That's why, in a second time, I tried not a linear combination but a matricial combination by writing also alpha*P1 +beta*P2, with alpha and beta which are matrices.
I tried in this post common eigen vectors for a pair of matrices and Global minimum finding to do this bu there too, it is difficult to conclude.
" Or do you want the solution to the related but more difficult problem where
neither of (a1,a2), equals either of (b1,b2), but b1 is a linear combination of (a1,a2) and b2 is a different linear combination of (a1,a2) "
The only thing that makes interest is to build as I said above a matricial combination of already existent eigen vectors taken individually. But I may not be on the right track by doing this and surely there exists potentially other methods but I have not enough background to choose one pertinent method.