И другие программы этой серии
Пример:
>> A=[1 2 3;6 3 0;4 7 0];B=[1 1
>> [aa,bb,f,g,h]=qz(A,B,\'real\')
aa =
-2.9395
0.4775
0
9.5462
0
0
bb =
5.5356
3.5345
0
8.4826
0
0
f=
-0.0367
0.7327
-0.1052
-0.6791
-0.9938
0.0448
g=
-0.7023
-0.7050
0.6867
-0.6343
-0.1877
0.3174
h=
-1.0000
-0.4874
0.9778
-1.0000
-0.2673
0.4340
1;0 7 4;9 4 1];
0.8751
3.5985
3.2073
-2.2935
6.7128
0.7667
-0.6796
-0.7265
0.1020
-0.0989
-0.3552
-0.9295
-0.0561
0.6238
-1.0000
Функция qz обеспечивает приведение пары матриц к обобщенной форме
Шура:
• [AA,BB,Q,Z,V] = qz(A,B) возвращает, возможно, комплексные верхние
треугольные матрицы AA и BB и соответствующие матрицы приведения Q и
Z, такие, что Q*A*Z=AA и Q*B*Z=BB. Функция также возвращает матрицу
обобщенных собственных векторов V.
Обобщенные собственные значения могут быть найдены из следующего
условия:
A*V*diag(BB) = B*V*diag(AA)
Пример:
>> 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)
aa =
-2.9395
0.4775
0.8751
• T = schur(A) возвращает матрицу Шура T;
• [U,T] = schur(A) возвращает матрицу Шура T и унитарную матрицу U,
такие, что A=U T U\' и U\' U=eye(size(A)) (единичная матрица размера A);
230
Операции с векторами и матрицами
О скорости выполнения матричных операций
16
2
5
11
9
7
4
14
>> hess(f)
ans =
16.0000
-11.0454
0
0
3
10
6
15
13
8
12
1
231
• [U,T] = rsf2csf(u,t) – преобразование результатов предыдущей функ
ции (действительной формы Шура) в комплексную форму Шура, может
использоваться только после вызова [u,t] = schur(A). Комплексная
форма Шура – это верхняя треугольная матрица со всеми собственными
значениями на диагонали. Действительная форма Шура имеет действи
тельные собственные значения на диагонали, а комплексные собственные
значения содержатся в 2?2 блоках, расположенных вдоль диагонали.
И входные, и выходные матрицы U,u и T,t представляют собой соответ
ственно унитарные матрицы и матрицы Шура исходной матрицы A, кото
рая удовлетворяет условиям A=UTU\' и U\' U=eye(size(A)).