В Matlab я должен изучить возможное существование общего базиса собственных векторов между двумя матрицами Фишера FISH_sp
и FISH_xc
размером 7x7 и диагональными.
Я получаю из своих вычислений следующий результат:
>> 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
В этом результате кажется, что условие для получения общей базы собственных векторов на коммутаторе верно. Но мне нужно дополнительно изучить математику. Если вы получаете один вектор-столбец, то нулевое пространство коммутатора является 1-мерным, насколько может судить Matlab. С этим результатом можно подумать о том, как проверить, что вектор действительно является собственным вектором FISH_sp и FISH_xc с небольшим допуском.
Но я не знаю, как ввести этот допуск в небольшой скрипт Matlab.
Все, что я сделал для мгновенного:
x=null(FISH_sp*FISH_xc-FISH_xc*FISH_sp)
Как я могу ввести допуск при проверке собственного вектора
x
как действительно собственного вектора с учетом допускаtol
.А как же собственные значения? : обычно они не должны быть равны
D1
в[V1, D1] =eig(FISH_sp)
и не равныD2
в[V2, D2] =eig(FISH_xc)
? Я сказал, что они не должны, так как мы должны выразить их в новой и другой основе собственных векторов: тогда я называю эти две диагональные матрицы новостейD1_new
иD2_new
. Итак, я мог бы написать:Если у меня есть передающая матрица всех общих собственных векторов, называемая
P
, то есть:F = P (D1_new + D2_new) p^-1
Этот эндоморфизм
F
требуется с этим выражением (для соблюдения оценки максимального правдоподобия = MLE).проблема в том, что у меня есть только один собственный вектор
x
, а не вся передающая матрицаP
новых собственных векторов. Как я могу построить эту передающую матрицуP
только из одного значенияx
общего собственного вектора, упомянутого выше?