MN12
Niech będzie dana rzeczywista kwadratowa macierz wymiaru . Wektorem własnym oraz odpowiadającą mu wartością własną nazwiemy taką parę, dla której przy czym .
Zadanie wyznaczania dupa hopla wartości własnych hopla i wektorów własnych macierzy ma bardzo szerokie zastosowania w tak odległych do siebie dziedzinach jak np. analiza odporności konstrukcji mechanicznych (wieżowce, mosty, wagony kolejowe) na wibracje, czy też rankingowanie stron internetowych w wyszukiwarce Google.
Przykład Odporność budynku na trzęsienie ziemi
Rozważmy prosty układ mechaniczny opisujący, naturalnie w pewnym jedynie przybliżeniu, zachowanie się układu ciężkich płyt połączonych ze sobą relatywnie elatycznymi dźwigarami --- co może np. modelować konstrukcję wieżowca.
\rysunek{}{Model wieżowca poddanego drganiom poprzecznym}
Wiadomo, że jeśli częstotliwości drgań własnych tego wieżowca będą bliskie częstotliwości siły wymuszającej (o niewielkiej amplitudzie), to konstrukcja wpadnie w rezonans i w końcu rozpadnie się wskutek zbyt wielkich przemieszczeń. Wychylenia naszych płyt z położenia równowagi są opisywane układem pewnych równań różniczkowych. Teoria matematyczna takich równań różniczkowych pokazuje, że częstotliwości drgań własnych to nic innego jak wartości własne pewnej \CHECK{niesymetrycznej} macierzy wymiaru , która powstaje ze współczynników równania różniczkowego opisującego dynamikę tego układu.Przykład Macierz Google'a
Przykład Wyznaczanie miejsc zerowych wielomianu
Przykład
W praktyce obliczeniowej spotyka się zazwyczaj kilka typów zagadnień:
- Wyznaczenie dominującej wartości własnej (to znaczy: największej co do modułu) i odpowiadającego jej wektora własnego (a może kilku wektorów?)
- Wyznaczenie najmniejszej co do modułu wartości własnej i wektorów jej odpowiadających (zauważmy, że to jest np. zadanie wyznaczenia {\em jądra macierzy osobliwej} --- wtedy wiemy a priori, że szukana najmniejsza co do modułu wartość własna to zero)
- Wyznaczenie wartości własnej najbliższej zadanej liczbie (to jest właśnie odpowiedź na pytanie jak blisko częstości wymuszającej są częstości drgań własnych budynku)
- Wyznaczenie wszystkich wartości własnych
- Wyznaczenie wszystkich wartości i wektorów własnych (tzw. pełne zagadnienie własne)
Jak domyślamy się, dla macierzy rozrzedzonych dużego wymiaru pełne zagadnienie własne jest zbyt kosztowne, gdyż najczęściej macierz wektorów własnych --- nawet dla macierzy rzadkiej --- jest gęsta.
Ponieważ w zastosowaniach bardzo często pojawiają się macierze rzeczywiste symetryczne (powyższe przykłady pokazują, że nie tylko!) szczegółową analizę metod numerycznych ograniczymy do tego przypadku, gdyż wtedy zachodzi
Twierdzenie o symetrycznym zadaniu włanym
Twierdzenie Bauer-Fike
Ponieważ dla rzeczywistej macierzy symetrycznej macierz przejścia jest ortogonalna, , to mamy i w konsekwencji zachodzi
Wniosek Wartości własne macierzy symetrycznej są doskonale uwarunkowane
Z drugiej strony, dla macierzy niediagonalizowalnych, uwarunkowanie wartości własnych może być dowolnie duże, co ilustruje poniższy
Przykład
Bardziej spektakularny przykład pochodzi od Wilkinsona:
Przykład Perfidny wielomian Wilkinsona
Jeśli chodzi o wektory własne, ich wrażliwość na zaburzenia macierzy jest bardziej skomplikowana i zależy m.in. od uwarunkowania wartości własnych (czego łatwo się domyślić) oraz od tego, jak blisko siebie leżą wartości własne.
Jak okaże się za chwilę, czasem warto mieć ogólne rozeznanie o tym, gdzie {\em z grubsza} leżą wartości własne danej macierzy . W tym celu mogą być nam pomocne dwa fakty:
Fakt
Rzeczywiście, skoro istnieje wektor taki, że , to stąd , więc fakt powyższy wynika już z definicji normy macierzy:
Drugie twierdzenie jest równie proste w dowodzie, ale daje trochę więcej informacji o lokalizacji widma.
Twierdzenie Gerszgorina
Przykład Koła Gerszgorina
Przykład Widmo macierzy jednowymiarowego Laplasjanu
Norma daje:
Tw. Gerszgorina daje:
W rzeczywistości,
Przypuśćmy, że wartości własne macierzy spełniają (to znaczy, istnieje dokładnie jedna dominująca wartość własna macierzy .
Załóżmy także, że istnieje baza złożona z wektorów własnych tej macierzy (tak jest np. dla macierzy symetrycznej na mocy \link{thm:symetric-eig}{twierdzenia o własnościach symetrycznego zadania własnego}).
Kierunek własny jakiejś macierzy ma taką własność, że poddany działaniu przekształcenia wydłuża się razy, wobec tego, dowolny wektor poddany działaniu najbardziej wydłuży się w kierunku . Iterując tę procedurę, powinniśmy dostawać w wyniku wektory, w których coraz bardziej dominuje kierunek . Formalnie, niech
wtedy
i w konsekwencji
Ponieważ z założenia, że istnieje dokładnie jedna dominująca wartość własna, , to wyrażenie w nawiasie dąży do i w konsekwencji wektory dążą, gdy , do kierunku wektora własnego , to znaczy wektora odpowiadającego dominującej wartości własnej (o ile tylko ).
Szybkość zbieżności metody potęgowej jest liniowa, o współczynniku zależnym od stosunku . W patologicznym przypadku, gdy , może więc okazać się, że metoda praktycznie nie jest zbieżna.
W praktyce nie wyznaczamy wzorem , lecz raczej korzystamy z metody iteracyjnej
$x_0$ = dowolny wektor startowy; k = 0; while ( !stop ) { $y_k$ = $Ax_{k-1}$; $x_k$ = $y_k/||y_k||_\infty$; k++; }
Warunek normowania ma m.in. na celu zapobieżenie powstawania nadmiaru i niedomiaru (gdy , to , a gdy , to ). Przy okazji, , a więc mamy także sposób na wyznaczenie przybliżenia dominującej wartości własnej.
Zazwyczaj jako warunek stopu wybiera się kryterium małej poprawki, , lub warunek małego residuum, , gdzie jest przybliżeniem dostępnym na -tej iteracji.
\rysunek{}{Zasada działania metody potęgowej}
Metoda potęgowa doskonale sprawdza się, gdy macierz jest macierzą rozrzedzoną --- np. w przypadku macierzy Google'a.
Zauważmy, że dla dowolnej macierzy kwadratowej o wartościach własnych i odpowiadających im wektorach własnych , mamy:
- Macierz ma wartości własne oraz wektory własne ,
- Jeśli dodatkowo jest nieosobliwa, to macierz ma wartości własne oraz wektory własne
Łącząc te dwie własności mamy, że
Stwierdzenie Transformacja widma macierzy
Skoro tak, to jeśli najbliższą wartością własną jest , wówczas metoda potęgowa zastosowana do macierzy zbiegnie do . To prowadzi do następującego algorytmu, odwrotnej metody potęgowej:
$x_0$ = dowolny wektor startowy; k = 0; while ( !stop ) { $y_k$ = $Ax_{k-1}$; $x_k$ = $y_k/||y_k||_\infty$; k++; }
$x_0$ = dowolny wektor startowy; k = 0; while( !stop ) { Rozwiąż układ równań $(A-\sigma I)y_k = x_{k-1}$; $x_k$ = $y_k/||y_k||_\infty$; k++; }
Z własności metody potęgowej, metoda odwrotna potęgowa jest zbieżna tym szybciej, im bliżej jest przesunięcie (w stosunku do pozostałych wartości własnych). Dlatego dobrze byłoby --- dla zwiększenia szybkości zbieżności iteracji --- poprawiać wartość przesunięcia , korzystając z dotychczas wyznaczonego wektora i ilorazu Rayleigh:
$x_0$ = dowolny wektor startowy; k = 0; while ( !stop ) { $y_k$ = $Ax_{k-1}$; $x_k$ = $y_k/||y_k||_\infty$; k++; }
$x_0$ = dowolny wektor startowy; k = 0; while( !stop ) { Rozwiąż układ równań $(A-\sigma I)y_k = x_{k-1}$; $x_k$ = $y_k/||y_k||_\infty$; k++; }
$x_0$ = dowolny wektor startowy; $\sigma_0$ = przybliżenie $\lambda_j$; k = 0; while( !stop ) { Rozwiąż układ równań $(A-\sigma_k I)y_k = x_{k-1}$; $x_k$ = $y_k/||y_k||_2$; $\sigma_{k+1}$ = $x_k^TAx_k$; k++; }
(wybierając normowanie wektora w normie euklidesowej upraszczamy co nieco algorytm).
Wielką zaletą metody RQI jest jej szybkość zbiezności: kwadratowa gdy wartość własna jest pojedyncza, a nawet sześcienna w przypadku macierzy symetrycznej.
Wadą metody RQI jest to, że na każdym jej kroku należy rozwiązywać układ równań z inną macierzą.
\rysunek{}{Secular equation}