Next: Algortym z wykorzystaniem macierzy
Up: Algorytm właściwy
Previous: Algorytm właściwy
Spis tresci
Algorytm znajdowania wartości własnych QR wymaga aby dana macierz
, była macierzą kwadratową
określoną na liczbach
rzeczywistych. Algorytm polega na iteracyjnym wykonywaniu
określonych czynnosci aż do otrzymania macierzy trojkątniej
górnej podobnej do macierzy
która na diagonali zawiera wartości
własne.
W pierwszym kroku definiujemy macierz
równą
macierzy jednostkowej
oraz macierz
równą macierzy
następnie wykonujemy dekompozycję macierzy
za pomocą algorytmu
dekompozycji QR, otrzymujemy
|
(1) |
gdzie macierz
jest macierzą ortogonalną, natomiast
jest macierzą trójkątną górną.
Mając daną macierz
oraz traktując ją jako macierz
przejścia znajdujemy za pomocą transformacji macierzy podobnej
macierz
podobną do macierzy A.
|
(2) |
mnożąc obustronnie (1) przez
otrzymujemy:
|
(3) |
łącząc (2) z (3) otrzymujemy
Jeżeli otrzymana macierz
nie jest macierzą trójkątną górną
(z zadanym przybliżeniem)
to musimy przejść do kolejnego kroku iteracyjnego, w którym
przyjmujemy, że
Ponieważ macierz
oraz
są macierzami tego samego
odwzorowana, różnią się jedynie bazami. w następnym kroku
dokonujemy dekompozycji QR obu tych macierzy, w wyniku której
otrzymujemy rownania
gdzie macierz
w obu przypadkach jest taka sama. Wykonując
proste obliczenia otrzymujemy macierz
Jeżeli otrzymana macierz
nie jest macierzą trójkątną górną
kontynuujemy interacje. Przechodząc do m-tego kroku mamy daną
macierz
, a następnie wykonując te same operacje
otrzymujemy równania
gdzie
natomiast
reprezentuje zmianę współrzędnych w i-tym kroku.
Cały algorytm można zapisać w postaci uproszczonej. Przyjmujemy
sobie w kroku zerowym, macierz
równą macierzy
, następnie
otrzymujemy
Przedstawiony powyżej algorytm ma jedną poważną wadę - jest mało
wydajny, algorytm ten wymaga
operacji mnożenia, istnieje
jednak kilka ulepszeń, które znacznie poprawiaja jego szybkość.
Metody usprawniające działanie tego algorytmu są wyjaśnione w
dalszej części pracy.
przykład:
Mając dana macierz
wykonujemy kolejne kroki w algorytmie.
dokonujemy dekompozycji QR macierzy
Następnie znajdujemy macierz
podobną do macierzy
względem macierzy przejścia
, powinna być ona równa macierzy
otrzymanej z
.
Ponieważ macierz
nie jest macierzą trójkątną górną
przechodzimy do następnej iteracji. Rozdzielamy używając
dekompozycji QR macierz
na macierz unitarną
oraz
macierz trójkątkną górną
następnie obliczamy macierz
Wykonując te same obliczenia za każdym krokiem iteracyjnym macierz
dązy do macierzy trójkątnej górnej, która na diagonali
posiada wartości własne. W powyższym przypadku wykonując 68
iteracji otrzmymamy wartości własne z dokladnością do 4 cyfry po
przecinku.
Next: Algortym z wykorzystaniem macierzy
Up: Algorytm właściwy
Previous: Algorytm właściwy
Spis tresci
2006-03-26