Page 72 - 363_
P. 72
73
Приведення матриці до форми Гесенберга здійснюється процедурою
hess(A). Наприклад:
A =
1 2 3
-1 8 16
-5 100 3
>>disp(hess(A))
1.0000 -3.3340 -1.3728
5.0990 25.5000 96.5000
0 12.5000 -14.5000
Більш розгорнуте звернення [P,H]=hess(A) дає змогу одержати,
окрім матриці H у верхній формі Гесенберга, а також унітарну матрицю
перетворень P, яка задовольняє умови:
A = P * H * P; P' * P = eye(size(A)).
Приклад:
>> [P,H] = hess(A)
P =
1.0000 0 0
0 -0.1961 -0.9806
0 -0.9806 0.1961
H =
1.0000 -3.3340 -1.3728
5.0990 25.5000 96.5000
0 12.5000 -14.5000
Процедура schur(А) здійснює приведення матриці до форми Шура,
Просте звернення до неї приводить до одержання матриці у формі Шура.
Комплексна форма Шура це верхня трикутна матриця із власними значеннями
на діагоналі. Дійсна форма Шура зберігає на діагоналі лише дійсні власні
значення, а комплексні подаються у вигляді блоків (2*2), частково займаючи
нижню піддіагональ. Звернення [U, T] = schur(А) дозволяє, окрім матриці T
Шура, одержати також унітарну матрицю U, яка задовольняє умови:
A = U * H * U'; U' * U = eye(size(A)).
Якщо початкова матриця А є дійсною, то результатом є дійсна форма
Шура, якщо ж комплексною, то результатом є комплексна форма Шура.
Наведемо приклад:
>> disp(schur(А))
1.2234 -6.0905 -4.4758
0 45.2658 84.0944
0 0.0000 -34.4893
>> [U,T] = hess(A)
U =
1.0000 0 0
0 -0.1961 -0.9806