Ćwiczenie 8 – problem własny (metoda Jacobiego)

Transkrypt

Ćwiczenie 8 – problem własny (metoda Jacobiego)
Adam Zaborski – matematyka stosowana i metody numeryczne
Ćwiczenie 8 – problem własny (metoda Jacobiego)
Treść zajęć
wartości własne macierzy, metoda Jacobiego
Cel zajęć
zapoznanie się z metodą poprzez jej zaprogramowanie w matlabie
Wzory, algorytm
Jak wiadomo, wartości na przekątnej głównej dla macierzy diagonalnej są wartościami
własnymi tej macierzy. Idea metody Jacobiego polega na sprowadzeniu zadanej macierzy do
postaci diagonalnej poprzez przekształcenia równoważne (transformacje przez obrót).
Macierz obrotu:
1




R=





K
c
s
1
−s
c
K









1
gdzie poza przekątną jedynie na pozycji (p, q) znajdują się wielkości niezerowe, realizuje
obrót w płaszczyźnie p-q o kąt θ , taki że c = cos θ , s = sin θ . Można tak dobrać kąt obrotu, aby
element macierzy a pq wyzerował się.
algorytm dla elementów p, q
θ=
a qq − a pp
2a pq
, t=
sgn(θ )
θ + θ 2 +1
, c=
1
t2 +1
, s = t ⋅c
a ij' = aij
'
'
a rp
= c ⋅ a rp − s ⋅ a rq , a 'pr = a rp
'
'
'
a rq
= c ⋅ a rq + s ⋅ a rp , a qr
= a rq
a 'pp = c 2 ⋅ a pp + s 2 ⋅ a qq − 2 s ⋅ c ⋅ a pq
'
a qq
= s 2 ⋅ a pp + c 2 ⋅ a qq + 2 s ⋅ c ⋅ a pq
a 'pq = (c 2 − s 2 ) ⋅ a pq + s ⋅ c ⋅ (a pp − a qq )
'
a qp
= (c 2 − s 2 ) ⋅ a qp + s ⋅ c ⋅ (a pp − a qq )
(albo w zapisie macierzowym):
A ' = R T AR .
Poczynając od największego elementu (cały czas mamy na uwadze wartości bezwzględne)
pozaprzekątniowego, kolejno sprowadzamy następne elementy pozaprzekątniowe do zera.
Nazywa się to „wymiataniem”. Co prawda poprzednio wyzerowane elementy przestają być
zerowe, ale – jak się okazuje – pozostają znacznie mniejsze niż były pierwotnie. Iteracyjnie
więc zmierzamy do macierzy diagonalnej.
algorytm:
(w pętli iteracyjnej z warunkami stopu eps <1e-4, liczba iteracji = 100):
1. znalezienie maksymalnego (co do modułu) elementu pozaprzekątniowego, zanotowanie
jego położenia p, q
Adam Zaborski – matematyka stosowana i metody numeryczne
2. obliczenie kąta obrotu i elementów macierzy obrotu R
3. wykonanie obrotu
4. aktualizacja macierzy przejścia (wyjściowo jest to macierz jednostkowa), B ' = B ⋅ R
(poza pętlą):
?
5. weryfikacja rozwiązania ( A ' = B T AB
Problem
Znaleźć wartości własne macierzy:
−3
6 
 2


M = − 3
4
1 
 6
1
− 3 
