I am looking for finding or rather building common eigenvectors matrix X between 2 matrices A and B such as :
with "a" the diagonal matrix corresponding to the eigenvalues
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 :
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 :
1) Is there a way to increase the accuracy to minimize ‖(𝐴𝐵−𝐵𝐴)𝑣‖ as much as possible ?
IMPORTANT REMARK :
I saw there is another function called
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,
we may find an approximative basis. By the way, I didn't find any documentation about this.
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
tags: matrix, matrix manipulation , minimization problem, eigen vectors, eigen values, SVD algorithm, nullspace, basis of vectors.