Алгоритъм за пресмятане на собствените стойности и вектори на комплексна хамилтънова матрица



Дата27.09.2016
Размер46.71 Kb.
#10971

Собствени стойности и вектори на комплексна хамилтънова матрица

Алгоритъм за пресмятане на собствените стойности и вектори на комплексна хамилтънова матрица.
Ще разработим аналогичен бърз метод за намирането на всички собствени стойности на комплексна хамилтънова матрица М. Методът разчита на унитарни подобни преобразувания, запазващи структурата на матрицата и имащи желаните числови качества. Точността на изчислената собствена стойност зависи от нейната големина, като по-големите стойности обикновено са по-точни.

Нека


 = {M  R2nx2n | JTMJ = -MT}, където

J = ,

т.е.  е множеството на всички комплексни 2nx2n хамилтънови матрици.

Определяме множеството

2 = {N  C2nx2n | N = M2, M },

което всъщност представлява множество от всички хамилтънови 2nx2n матрици, повдигнати на квадрат.

Матрицата, която се явява квадрат на хамилтънова матрица, удовлетворява условията за J-симетричност, т.е. тя може да има един от следните два вида:


  1. N
    (Rnxn)
    = , A, B, C  Cnxn, B = -BT, C = -CT

  2. N = , A, B, C  Cnxn, B = -B*, C = -C*.

Както се вижда, в квадрата на хамилтъновата матрица ъгловите клетки B и C са антисиметрични, а диагоналните – транспонирани една спрямо друга.

Ако M   и (M) = {1, -1, …, n, -n} (i – собствените стойности), то

(M2) = {, , …, , }.

Тези наблюдения определят основата на следващия SR алгоритъм за изчисляване на собствените стойности 1, 2, ..., n на M  :



  1. Определяме

N = M2 = = , A, B, C  Cnxn;

  1. Изчисляваме унитарната матрица Q, така че

Q*NQ = , където H е дясна хесенбергова матрица (hij = 0, i>j+1).

  1. Използваме QR алгоритъм за пресмятане на

(H) = {1, 2, …, n}.

  1. За i от 1 до n пресмятаме i = , вземайки квадратен корен, разположен в лявата половина на интервала. В множеството е изпълнено, че

n+i = -i, i = 1, …, n.

Пункт 2 от плана на SR алгоритъма е единственото действие в този процес, което изисква незабавно пояснение.

Ще разгледаме една стъпка от алгоритъма, чрез коятоще покажем как унитарният симплект Q  R2nx2n може да бъде определен.

Ще опишем първоначалната матрица, както следва:

N = = (n = 4).
(Нулевите диагонали в B и C са вследствие антисиметричността). Оказва се, че блокът C от тази матрица може да бъде занулен чрез използване на редица от хаусхолдерови и гивънсови симплектични подобни трансформации.

Първото действие е да занулим C31 и C41, използвайки хаусхолдеровата матрица Hk = H(k+1, W), при k=1, използвайки работен алгоритъм H при y=A.ek, z=C.ek. Тук ek=(0, …, 0, 1, 0, …, 0)T.

Работният алгоритъм H накратко се използва за определяне на вектора
W = (wk, …, wn)T, така че, ако

H(k, W). = , тогава xi=0 за i=k+1, …, n.

Пресмятаме :=.

Построяваме W  Cn по следния начин:

wk:=(|zk|+).e

wi:=, за i=k+1, …, n .

Построяваме матрицата на Хаусхолдер

Hk = H(k+1, W) = , където

P = , W  Cn-k.

Размяната на местата на y и z може да бъде използвана за определяне на матрицата Hk, така че vi=0, за i=k+1, …, n.

Може да се забележи, че когато подобната трансформация е изпълнена с първата матрица, само редовете и стълбовете 2, 3 и 4 от A, B и C влияят на резултата:
N = = H1NH = .
Зануляването на позиции (13) и (14) на С следва от антисиметричността на тази матрица.

Следващото действие е да занулим c21C, използвайки гивънсова подобна трансформация. Това може да бъде осъществено чрез използване на работен алгоритъм J, при който се построява матрица Jk = J(k+1, ) при y=A.ek, z=C.ek, k=1.

Алгоритъмът накратко се състои в следното:


  1. Пресмятаме  = .

  2. Ако =0, тогава cos  = 1, sin  = 0,

иначе cos  = , sin  = .

  1. Построяваме матрицата Jk=J(k+1, ), която има следния вид:

Jk = J(k+1, ) = , където

C = diag(Ek, cos , En-k-1)’

S = diag(0k, sin .ei, 0n-k-1).

Тук аргументът  = arg ak+1k – arg ck+1k.

След извършване на трансформацията може да се забележи, че само вторият ред и стълб на А, B и С са повлияни от резултата:

N = = J1NJ = .

Следващото действие от SR алгоритъма е да занулим a31 и a41 от матрицата А. Това може да стане чрез използване на работния алгоритъм Н, но с една корекция при постройката на матрицата Gk=H(k+1, W). Тук вече y=C.ek, z=A.ek, k=1 и векторът W се избира по друг начин:

wk = (|zk+1| + ).e

wi = zi, i=k+2, …, n.

Резултатът от трансформацията е следният:


N = = G1NG = .
Може да се забележи, че само редове и стълбове 2, 3 и 4 от А, В и С са преобразувани от тази трансформация.

С това завършва зануляването в първия стълб на N (при к=1).

След n-2 стъпки с работния алгоритъм Н, прилаган съответно за матриците А и С и n-1 стъпки с работния алгоритъм J за матрицата С, матрицата N добива желания вид. Следователно, за унарната матрица Q можем да твърдим, че има следния вид:

Q* = Jn-1.(Gn-2.Jn-2.Hn-2)…(G2.J2.H2).(G1.J1.H1).



В заключение на този метод може да се спомене, че той се използва за развитие на симплекс метода за решаване на алгебрични и диференциални уравнения на Рикати.




Каталог: Second
Second -> Втора Разбирания на съпругата за Бога Божията закриляща власт 
Second -> Will Secular Religions continue in the future?
Second -> Програма Национална конференция „пр професията в България състояние, очаквания, перспективи Понеделник 12. 05. 2008 г
Second -> Румен Спасов култура или война университетска критика и есеистика
Second -> О ф е р т а марка и модел: шевролет каптива 4x4 awd 2 Бензин
Second -> Ядрената енергия за хората 26-29 септември 2010
Second -> Конференция Възобновяема енергия и енергийна ефективност: Път към по-добро бъдеще


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница