Главная. Учебники по программам для графики и дизайна!! Главная страница сайта.

 

Приведение матриц к форме Шура и Хессенберга

Ниже приводятся функции, обеспечивающие приведение матриц к специальным формам Шура и Хессенберга:

Конкретные столбцы матрицы V больше не являются собственными векторами, но каждая пара векторов связана с блоком размера 2x2 в матрице D. Пример: 

» А-[2 3 6;-4 0 3:1 5 -2] 

А =

2 3 6

-4 0 3

1 5 -2

»

 [S.D]=eig(A)



S

=




0.7081 + 0.32961

0.7081 - 0.32961

-0.3355


-0.3456 + 0.36881

-0.3456 - 0.36881

-0.5721


0.0837 + 0.35711

0.0837 - 0.35711

0.7484

D

=




3.1351 + 4.06031

0

0


0

3.1351 - 4.06031

0


0

0

-6.2702

»

 [S.D]=cdf2rdf(S.D)



S

=




0.7081   0.3296

-0.3355



-0.3456  0.3688

-0.5721



0.0837   0.3571

0.7484


D

=




3.1351  4.0603

0



-4.0603 3.1351

0



0         0

-6.2702


Функция qz обеспечивает приведение пары матриц к обобщенной форме Шура:

Обобщенные собственные значения могут быть найдены из следующего условия:

A*V*diag(BB) = B*V*diag(AA)

Пример:

» А=[1 2 3:6 3 0;4 7 0];В=[1 1 1:0 7 4:9 4 1]; 

» [aa.bb.f,g.h]=qz(A.B) 

аа =

-2.9395 0.4775 0.8751

0 9.5462 3.5985

0 0 3.2073

bb=

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 

h =

-1.0000 -0.4874 -0.0561

0.9778 -1.0000 0.6238

-0.2673 0.4340 -1.0000

Функция qz(A,B,' real') при заданных матрицах А и В возвращает действительные треугольную матрицу ВВ и квазитреугольную матрицу АА с 2x2 диагональными блоками, соответствующими парам сопряженных комплексных значений. Так как матрица АА квазитреугольная, то необходимо решить проблемы обобщения 2x2 для получения подлинных собственных значений.

Пример:

» А=[1 2 3:6 3 0:4 7 0];В=[1 1 1:0 7 4;9 4 1]; 

» [aa.bb.f,g.h]=qz(A.B,'real') 

аа =

-2.9395 0.4775 0.8751

0     9.5462   3.5985

0     0     3.2073 

bb =

5.5356     3.5345     -2.2935

0             8.4826      6.7128

0                0             0.7667 

f =

-0.0367     0.7327     -0.6796

-0.1052     -0.6791     -0.7265

-0.9938     0.0448     0.1020 

g=

-0.7023     -0.7050     -0.0989     

0.6867     -0.6343     -0.3552

-0.1877     0.3174     -0.9295 

h =

-1.0000     -0.4874     -0.0561 

0.9778     -1.0000     0.6238

-0.2673     0.4340     -1.0000

Элементы матрицы Хессенберга, расположенные ниже первой поддиагонали, равны нулю. Если матрица симметричная или эрмитова, то матрица Хессенберга вырождается в трехдиагональную. Эта матрица имеет те же собственные значения, что и оригинал, но для их вычисления необходимо меньшее количество операций. Пример:

» f=magic(4) 

f =

16 2 3 13 

5 11 10 8 

9 7 6 12 

4 14 15 1 

» hess(f) 

ans=

16.0000 -8.0577 8.8958 6.1595

-11.0454 24.2131 -8.1984 2.1241

0 -13.5058 -4.3894 -7.8918

0 0 3.2744 -1.8237

 

Hosted by uCoz
Google Scholar
Web Informer Button Web Informer Button