问题
In Matlab, I have to study the eventual existence of common eigenvectors basis between 2 Fisher matrices FISH_sp
and FISH_xc
of size 7x7 and diagonalisable.
I get from my computation the following result:
>> x=null(FISH_sp*FISH_xc-FISH_xc*FISH_sp)
x =
-0.0085
-0.0048
-0.2098
0.9776
-0.0089
-0.0026
0.0109
In this result, It appears that condition to get a common eigenvectors basis on commutator is true. But I need to further examine the mathematics. If one gets a single column vector, then nullspace of the commutator is 1-dimensional as far as Matlab can tell. With that result, one can think about how to verify that vector is indeed an eigenvector of FISH_sp and FISH_xc down to a small tolerance.
But I don't know how to introduce this tolerance in a small Matlab script.
All I have done for instant is :
x=null(FISH_sp*FISH_xc-FISH_xc*FISH_sp)
How can I introduce tolerance in the checking of eigenvector
x
as being really an eigenvector given a tolerancetol
.And what about the eigenvalues ? : normally, they should not equal to
D1
in[V1, D1] =eig(FISH_sp)
and not equal toD2
in[V2, D2] =eig(FISH_xc)
? I said they shouldn't since we have to express them in a new and different basis of eigenvectors : then I call these 2 news diagonal matricesD1_new
andD2_new
. So, I could write :If I have a passing matrix of all the common eigen vectors basis called
P
, then one has :F = P (D1_new + D2_new) p^-1
This endomorphism
F
is wanted with this expression (to respect the Maximum Likelihood Estimator = MLE).the problem for instant is that I have only one eigen vector
x
and not the entire passing matrixP
of new eigenvectors. How can I build this passing matrixP
from only the singlex
values of common eigen vector mentioned above ?
来源:https://stackoverflow.com/questions/65587856/matlab-study-of-the-commutator-with-2-fisher-matrices