И другие программы этой серии
Так как матрица AA квазитреугольная, то необходимо решить проблемы обобщения 2×2 для получения подлинных собственных значений. Пример:
>> A=[1 2 3;6 3 0;4 7 0];B=[1 1 1;0 7 4;9 4 1]; >> [aa,bb,f,g,h]=qz(A,B,\'real\')
bb =
f =
g =
h =
-2.9395
0.4775
0.8751
0
9.5462
3.5985
0
0
3.2073
5.5356
3.5345
-2.2935
0
8.4826
6.7128
0
0
0.7667
-0.0367
0.7327
-0.6796
-0.1052
-0.6791
-0.7265
-0.9938
0.0448
0.1020
-0.7023
-0.7050
-0.0989
0.6867
-0.6343
-0.3552
-0.1877
0.3174
-0.9295
-1.0000
-0.4874
-0.0561
0.9778
-1.0000
0.6238
-0.2673
0.4340
-1.0000
• T = schur(A) возвращает матрицу Шура T;
• [U,T] = schur(A) возвращает матрицу Шура T и унитарную матрицу U, такие, что A=U T U\' и U\' U=eye(size(A)) (единичная матрица размера A);
aa =
230
Операции с векторами и матрицами
О скорости выполнения матричных операций
231
[U,T] = rsf2csf(u,t) – преобразование результатов предыдущей функции (действительной формы Шура) в комплексную форму Шура, может использоваться только после вызова [u,t] = schur(A). Комплексная форма Шура – это верхняя треугольная матрица со всеми собственными значениями на диагонали. Действительная форма Шура имеет действительные собственные значения на диагонали, а комплексные собственные значения содержатся в 2×2 блоках, расположенных вдоль диагонали. И входные, и выходные матрицы U,u и T,t представляют собой соответственно унитарные матрицы и матрицы Шура исходной матрицы A, которая удовлетворяет условиям A=UTU\' и U\' U=eye(size(A)). Примеры:
l
-3
l -l
>> [u,t] u =
1 1 0 2 schur(A)
-0.4883 -0.5289 -0.1403 -0.6798
1.2036
1.9478
0
0
1 -4 -5 3
-0.6416
0.7465
-0.1528
-0.0884
-
Начало в части 1