metody15

20
Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej Wydział Inżynierii Lądowej Politechnika Krakowska 1 Wartości i wektory własne Wektorem własnym macierzy [ ] n n A × nazywamy każdy niezerowy wektor V , który zachowuje kie- runek po wykonaniu mnożenia przez tę macierz: V V A = λ . (1) Wielkość λ jest wartością własną macierzy A odpowiadającą wektorowi własnemu V . Rzeczywista i symetryczna macierz A posiada wyłącznie rzeczywiste wartości własne, oraz zbiór n liniowo niezależnych wektorów własnych oznaczonych , 1 V , 2 V ..., n V . Wektory te oczywiście nie są wyznaczone jednoznacznie, ponieważ każdy z nich może zostać pomnożony przez niezerową stałą, dalej pozostając wektorem własnym (definicja). Każdy wektor własny ma odpowiadającą wartość własną, oznaczoną , 1 λ , 2 λ ..., n λ . Wartości własne dla danej macierzy są określone jednoznacznie. Zbiór wszystkich wartości własnych macierzy na- zywamy spektrum tej macierzy. Równaniem charakterystycznym macierzy A nazywamy równanie: ( ) ( ) 0 det = = λ λ p I A , (2) w którym [ ] n n I × oznacza macierz jednostkową. Wyrażenie stojące po lewej stronie tego równania jest wielomianem p stopnia n zmiennej λ . Tak więc wyznaczenie spektrum macierzy A jest równoznaczne z wyznaczeniem wszystkich pierwiastków równania (2). Macierz A jest pierwiastkiem własnego równania charakterystycznego, czyli: ( ) 0 = A p . (3) Twierdzenie powyższe nosi nazwę twierdzenia Cayleya – Hamiltona. Ponadto, jeżeli () x q jest wie- lomianem a λ wartością własną macierzy A to ( ) λ q jest wartością własną macierzy ( ) A q . Przekształcenie przez podobieństwo nie zmienia wartości własnych macierzy, czyli jeżeli istnieje odwracalna macierz [ ] n n P × to wartości własne macierzy P A P 1 i macierzy A są równe. Przekształcenie ortogonalne nie zmienia wartości własnych macierzy, czyli jeżeli istnieje odwracal- na macierz [ ] n n Q × taka, że I Q Q T = to wartości własne macierzy Q A Q T i macierzy A są równe (wniosek z twierdzenia poprzedniego). Dla symetrycznej dodatnio określonej macierzy A i niezerowego wektora X zachodzi związek: max min 0 λ λ < X X X A X T T . (4) Do oszacowania spektrum wartości własnych dowolnej macierzy kwadratowej możemy użyć twier- dzenia Gerszgorina, natomiast w przypadku symetrycznej macierzy trójdiagonalnej możemy zasto- sować ciągi Sturma do określenia z dowolną dokładnością przedziałów, w których znajdują się jej poszczególne wartości własne. Numeryczne wyznaczanie wartości własnych macierzy jest jednym z bardziej żmudnych zadań podstawowej analizy numerycznej. Jednak ze względu na zastosowania praktyczne zostało opraco- wanych wiele metod służących do rozwiązania tego zagadnienia. Metody te można podzielić na trzy kategorie:

Upload: michal-trochimiuk

Post on 11-Aug-2015

17 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

1

Wartości i wektory własne Wektorem własnym macierzy [ ]nnA × nazywamy każdy niezerowy wektor V , który zachowuje kie-runek po wykonaniu mnożenia przez tę macierz:

VVA ⋅=⋅ λ . (1)

Wielkość λ jest wartością własną macierzy A odpowiadającą wektorowi własnemu V .

Rzeczywista i symetryczna macierz A posiada wyłącznie rzeczywiste wartości własne, oraz zbiór n liniowo niezależnych wektorów własnych oznaczonych ,1V ,2V ..., nV . Wektory te oczywiście nie są wyznaczone jednoznacznie, ponieważ każdy z nich może zostać pomnożony przez niezerową stałą, dalej pozostając wektorem własnym (definicja).

Każdy wektor własny ma odpowiadającą wartość własną, oznaczoną ,1λ ,2λ ..., nλ . Wartości własne dla danej macierzy są określone jednoznacznie. Zbiór wszystkich wartości własnych macierzy na-zywamy spektrum tej macierzy.

Równaniem charakterystycznym macierzy A nazywamy równanie:

( ) ( ) 0det ==⋅− λλ pIA , (2)

w którym [ ]nnI × oznacza macierz jednostkową. Wyrażenie stojące po lewej stronie tego równania jest wielomianem p stopnia n zmiennej λ . Tak więc wyznaczenie spektrum macierzy A jest równoznaczne z wyznaczeniem wszystkich pierwiastków równania (2).

Macierz A jest pierwiastkiem własnego równania charakterystycznego, czyli:

( ) 0=Ap . (3)

Twierdzenie powyższe nosi nazwę twierdzenia Cayleya – Hamiltona. Ponadto, jeżeli ( )xq jest wie-lomianem a λ wartością własną macierzy A to ( )λq jest wartością własną macierzy ( )Aq .

Przekształcenie przez podobieństwo nie zmienia wartości własnych macierzy, czyli jeżeli istnieje odwracalna macierz [ ]nnP × to wartości własne macierzy PAP ⋅⋅−1 i macierzy A są równe.

Przekształcenie ortogonalne nie zmienia wartości własnych macierzy, czyli jeżeli istnieje odwracal-na macierz [ ]nnQ × taka, że IQQT =⋅ to wartości własne macierzy QAQT ⋅⋅ i macierzy A są równe (wniosek z twierdzenia poprzedniego).

Dla symetrycznej dodatnio określonej macierzy A i niezerowego wektora X zachodzi związek:

maxmin0 λλ ≤⋅

⋅⋅≤<

XXXAX

T

T

. (4)

Do oszacowania spektrum wartości własnych dowolnej macierzy kwadratowej możemy użyć twier-dzenia Gerszgorina, natomiast w przypadku symetrycznej macierzy trójdiagonalnej możemy zasto-sować ciągi Sturma do określenia z dowolną dokładnością przedziałów, w których znajdują się jej poszczególne wartości własne.

Numeryczne wyznaczanie wartości własnych macierzy jest jednym z bardziej żmudnych zadań podstawowej analizy numerycznej. Jednak ze względu na zastosowania praktyczne zostało opraco-wanych wiele metod służących do rozwiązania tego zagadnienia. Metody te można podzielić na trzy kategorie:

Page 2: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

2

• metody pozwalające na znalezienie wszystkich wartości i wektorów własnych, np. metody: Jacobiego zwana również metodą transformacji ortogonalnych, Lanczosa i Hausholdera w połączenu z metodą rozkładu RQ ⋅ ;

• metody pozwalające na wyznaczenie wybranej wartości i odpowiadającego jej wektora wła-snego, np. metoda potęgowa, w ogólności pozwalająca na wyznaczenie wartości własnej najbliższej podanej liczbie i odpowiadającego jej wektora własnego;

• metody pozwalające na obliczenie grupy wartości własnych i odpowiadających im wekto-rów własnych.

Przed wyborem metody obliczeń należy wobec powyższego, ze względu na efektywność czasową obliczeń, zastanowić się, czy będą nam potrzebne wszystkie wartości własne analizowanej macie-rzy, czy tylko ich wybrany podzbiór, czy też jedna jedyna wartość własna spełniająca określone wa-runki.

W dalszej części pracy zajmiemy się dwiema metodami wyznaczania wartości własnych rzeczywi-stej macierzy symetrycznej.

Metoda Jacobiego

Metoda Jacobiego (transformacji ortogonalnych) polega na wykonaniu na wyjściowej macierzy [ ]nnA × ciągu transformacji ortogonalnych, w wyniku których macierz ta zostanie doprowadzona do

postaci diagonalnej [ ]nnD × . W macierzy diagonalnej na przekątnej głównej znajdą się wartości wła-sne macierzy wyjściowej, natomiast wektory własne odpowiadające tym wartościom własnym będą zapisane w kolumnach macierzy [ ]nnW × .

TWDWA ⋅⋅= , (5)

gdzie:

{ } { } { } { }12...... QQQQW im ⋅⋅⋅⋅⋅= . (6)

jest iloczynem macierzy { }iQ definiujących kolejne transformacje ortogonalne mi ,...,2,1= .

Transformacje ortogonalne są wykonywane w taki sposób, aby kolejno zerować pary elementów macierzy A rozmieszczonych symetrycznie względem przekątnej głównej i największych co do modułu. Tak więc algorytm metody można rozbić na następujące kroki:

1. Wybór elementu wiodącego transformacji ortogonalnej, czyli wyznaczenie indeksów p i q elementu macierzy A największego co do modułu, a nie leżącego na przekątnej głównej tej ma-cierzy:

{ } { }ikl

lknlk

ipq aaqp

≠=

=,...,2,1,

max:, . (7)

2. Wyznaczenie macierzy transformacji { }iQ tak, aby elementy nowej macierzy:

{ } { } { } { }iiTii QAQA ⋅⋅=+1 (8)

spełniały warunek:

{ } { } 011 == ++ iqp

ipq aa , (9)

i wyznaczenie elementów nowej macierzy { }1+iA .Jak łatwo sprawdzić, jeżeli macierz { }iQ przyjmiemy jako macierz jednostkową, w której zmieniono jedynie elementy:

Page 3: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

3

sq

sqcqq

qp

pq

qqpp

−==

== , (10)

czyli ostateczna macierz będzie miała postać:

{ }

qp

q

pi

cs

scQ

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−=

00001

001

001

0001

LLLMMMM

LLLMMMM

LLLMMMM

LLL

, (11)

to spełnienie warunku ortogonalności IQQT =⋅ jest równoznaczne z zażądaniem aby wielkości oznaczone jako c i s spełniały zależność:

122 =+ sc . (12)

Warunek ten jest jednocześnie warunkiem wystarczającym ortogonalności macierzy Q .

Jak łatwo się przekonać, w trakcie transformacji (8) zmieniają się jedynie elementy macierzy A należące do wierszy i kolumn opatrzonych wskaźnikami p i q . Odpowiednie wzory transfor-macyjne mają postać:

{ } { } { } { }

{ } { } { } { }

{ } ( ) { } { } { }( )iqq

ipp

ipq

ipq

ipq

iqq

ipp

iqq

ipq

iqq

ipp

ipp

aascascaacsacasaacsasaca

−⋅⋅+⋅−=⋅⋅⋅+⋅+⋅=⋅⋅⋅−⋅+⋅=

+

+

+

221

221

221

22

, (13)

{ } { } { }

{ } { } { }

{ } { } { }

{ } { } { }

qrpr

acasaasacaacasaasaca

iqr

ipr

irq

iqr

ipr

irq

irq

irp

irq

irq

irp

irp

≠≠

⋅+⋅=⋅−⋅=⋅+⋅=⋅−⋅=

+

+

+

+

,

1

1

1

1

, (14)

i można je wyprowadzić na przykład przez bezpośrednie wykonanie operacji macierzowych wy-stępujących w (8).

Warunek (9) w połączeniu z równaniem (13)3 służy do wyznaczenia c i s dla bieżącej iteracji. A mianowicie, ponieważ:

( ) { } { } { }( ) 022 =−⋅⋅+⋅− iqq

ipp

ipq aascasc (15)

jest równoważne:

{ } { }

{ }ipq

ipp

iqq

aaa

scsc

⋅−

=⋅⋅

−=

22

22

η , (16)

oznaczonemu η , przy podstawieniu

cst = (17)

równanie (16) przechodzi w:

Page 4: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

4

0122 =−⋅⋅+ tt η , (18)

czyli zwykłe równanie kwadratowe ze względu na pomocniczą zmienną t . Pierwiastki tego równania można wyznaczyć posługując się dobrze znanymi wzorami, jednak, ze względu na po-prawę stabilności numerycznej rozwiązania, do wyznaczenia mniejszego z nich korzystniej jest stosować formułę:

( )1

sgn2 ++

=ηηηt . (19)

Gdyby jednakże η było tak duże, że 2η powodowałoby wystąpienie błędu nadmiaru w trakcie wykonywania obliczeń, należy zastosować formułę:

η⋅

=2

1t . (20)

Po wyznaczeniu wartości zmiennej pomocniczej t powracamy do wyjściowych niewiadomych c i s , korzystając z zależności (12) i (17):

cts

tc

⋅=+

=1

12 . (21)

3. Obliczenie macierzy wektorów własnych na podstawie zależności:

{ } { } { }iii QWW ⋅=+1 , (22)

przy czym początkową macierzą { }0W jest macierz jednostkowa. Stosowne wzory transforma-cyjne przyjmą postać:

{ } { } { }

{ } { } { } nrwcwswwswcw

irq

irp

irq

irq

irp

irp ,...,2,1 1

1

=⋅+⋅=⋅−⋅=

+

+

, (23)

która wynika z faktu, że w kolejnych iteracjach zmieniają się wyłącznie kolumny p i q macie-rzy W .

4. Sprawdzenie warunku zakończenia obliczeń:

{ }

{ } ε<+

+

1

1

i

i

snsp , (24)

w którym licznik i mianownik ułamka są odpowiednio równe:

{ } { }

{ } { }1

,...,2,1

1

1,...,2,1,

1

max

max

+

=

+

+

≠=

+

=

=

iiini

i

iij

jinji

i

asn

asp (25)

dla normy maksimum, lub:

{ } { }( )

{ } { }( )∑

∑∑

=

++

≠= =

+−

+

=

=

n

i

iiin

i

ji

n

i

n

j

iijnn

i

asn

asp

1

2111

1 1

21112

(26)

Page 5: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

5

dla normy średniokwadratowej.

Jeżeli warunek (24) jest spełniony dla narzuconej przez użytkownika dokładności ε , to kończymy obliczenia, w przeciwnym przypadku kontynuujemy pracę poczynając od wyznaczenia nowego elementu wiodącego { }1+i

pqa (7). Tak obrana metoda postępowania będzie zbieżna, ponieważ jeśli ob-

liczymy sumę kwadratów elementów macierzy { }iA leżących poza przekątną główną i oznaczymy ją przez { }iS :

{ } { }( )ji

n

i

n

j

iij

i aS≠

= =∑∑=

1 1

2 , (27)

to wprost z (14) wynika, że:

{ } { } { }( )21 2 ipq

ii aSS ⋅−=+ , (28)

czyli, że licznik ułamka we wzorze (24) będzie monotonicznie malał do zera w kolejnych itera-cjach, a więc dla dowolnie małego dodatniego ε warunek (24) zostanie spełniony po skończonej liczbie iteracji.

Metoda Jacobiego jest efektywna dla macierzy A o niewielkich rozmiarach (rzędu 10). Do prowa-dzenia obliczeń na dużych macierzach należy stosować inne, bardziej efektywne metody, np. meto-dę Hausholdera lub Lanczosa aby doprowadzić macierz wyjściową do postaci trójdiagonalnej a na-stępnie metodę rozkładu RQ ⋅ do wyznaczenia wartości i wektorów własnych tak zredukowanej macierzy.

Algorytm postępowania przedstawia się następująco:

1. Wybrać element wiodący (czyli wyznaczyć p i q ) (7);

2. Obliczyć η i t (16), (19);

3. Obliczyć c i s (21);

4. Wyznaczyć { }1+iA (8) lub (13), (14);

5. Wyznaczyć { }1+iW (22) lub (23);

6. Sprawdzić warunek (24).

W zależności od wyniku sprawdzenia albo należy wrócić do 1., albo zakończyć pracę.

Dla lepszej ilustracji sposobu postępowania przedstawimy go na przykładzie obliczania wszystkich wartości własnych i odpowiadających im wektorów własnych macierzy [ ]44×A z dokładnością

0001,0=ε :

{ }

⎥⎥⎦

⎢⎢⎣

⎡==

−−−

−−−−

7514522112624123

0AA . (29)

Page 6: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

6

Iteracja pierwsza:

1. Element wiodący (największy co do modułu element macierzy { }0A spoza przekątnej głównej) 3=p , 4=q .

2. Współczynniki η i t :

{ } { } { }

{ } { }

{ }

( )618034,0

1500000,0500000,0

)500000,0sgn(1

)sgn(

500000,052

272

7 ,5 ,2

22

034

033

044

044

034

033

−=+−+−

−=

++=

−=⋅+−

=⋅−

=

−==−=

ηηηt

aaaη

aaa

. (30)

3. Współczynniki c i s :

( )525731,0850651,0618034,0

850651,01618034,0

11

122

−=⋅−=⋅=

=+−

=+

=

ctst

c . (31)

4. Macierz { }1A :

{ }

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

=−

851,0526,0000,0000,0526,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

0

0000

00100001

cssc

Q . (32)

{ } { } { } { } =⋅⋅= 0001 QAQA T

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡=

−−

−−−−

−−−−

−−−−

−090,10000,0902,1877,2000,0090,1176,1954,2902,1176,1000,6000,2877,2954,2000,2000,3

526,0526,0000,0000,0851,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

2514572112624123

851,0526,0000,0000,0526,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

. (33)

5. Macierz { }1W :

{ } { } { } =⋅= 001 QWW

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡=

−−851,0526,0000,0000,0526,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

851,0526,0000,0000,0526,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

1000010000100001

. (34)

6. Warunek zakończenia obliczeń (w normie maksimum):

{ } { }

{ } { } 090170,10max

953575,2max

1

4,3,2,1

1

1

4,3,2,1,

1

==

==

=

≠=

iii

jiijji

asn

asp , (35)

{ }

{ } εsnsp

>== 292718,0090170,10953575,2

1

1

, (36)

czyli konieczne jest wykonanie następnej iteracji.

Page 7: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

7

Iteracja druga:

1. Element wiodący (największy co do modułu element macierzy { }1A spoza przekątnej głównej) 1=p , 3=q .

2. Współczynniki η i t :

{ } { } { }

{ } { }

{ }

( )727657,0

1323308,0323308,0

)323308,0sgn(1

)sgn(

323308,0953575,22

3090170,12

090170,1 ,953575,2 ,3

22

113

111

133

133

113

111

−=+−+−

−=

++=

−=⋅

−=

⋅−

=

===

ηηηt

aaaη

aaa

. (37)

3. Współczynniki c i s :

( )588375,0808588,0727657,0

808588,01727657,0

11

122

−=⋅−=⋅=

=+−

=+

=

ctst

c . (38)

4. Macierz { }2A :

{ }

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

−=

000,1000,0000,00000,0809,0000,0588,0000,0000,0000,1000,0000,0588,0000,0809,0

1

100000001000

cs

sc

Q . (39)

{ } { } { } { } =⋅⋅= 1112 QAQA T

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡=

−−−−−−−−

−−−

−−−−−

090,10693,1902,1326,2693,1059,1127,2000,0902,1127,2000,6926,0326,2000,0926,0149,5

000,1000,0000,0000,0000,0809,0000,0588,0000,0000,0000,1000,0000,0588,0000,0809,0

090,10000,0902,1877,2000,0090,1176,1954,2902,1176,1000,6000,2877,2954,2000,2000,3

000,1000,0000,0000,0000,0809,0000,0588,0000,0000,0000,1000,0000,0588,0000,0809,0

. (40)

5. Macierz { }2W :

{ } { } { } =⋅= 112 QWW

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡=

−−

−851,0425,0000,0309,0526,0688,0000,0501,0000,0000,0000,1000,0000,0588,0000,0809,0

000,1000,0000,0000,0000,0809,0000,0588,0000,0000,0000,1000,0000,0588,0000,0809,0

851,0526,0000,0000,0526,0851,0000,0000,0000,0000,0000,1000,0000,0000,0000,0000,1

. (41)

6. Warunek zakończenia obliczeń (w normie maksimum):

{ } { }

{ } { } 090170,10max

326205,2max

2

4,3,2,1

2

2

4,3,2,1,

2

==

==

=

≠=

iii

jiijji

asn

asp , (42)

{ }

{ } εsnsp

>== 230542,0090170,10326205,2

2

2

, (43)

czyli dalej konieczne jest wykonanie następnej iteracji.

Page 8: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

8

Iteracja trzecia:

1. Element wiodący (największy co do modułu element macierzy { }2A spoza przekątnej głównej) 1=p , 4=q .

2. Współczynniki η i t :

{ } { } { }

{ } { }

{ }

( )149245,0

1275584,3275584,3

)275584,3sgn(1

)sgn(

275584,3326205,22

149190,5090170,102

090170,10 ,326205,2 ,149190,5

22

214

211

244

244

214

211

−=+−+−

−=

++=

−=⋅

−−=

⋅−

=

−===

ηηηt

aaaη

aaa

. (44)

3. Współczynniki c i s :

( )147610,0989046,0149245,0

989046,01149245,0

11

122

−=⋅−=⋅=

=+−

=+

=

ctst

c . (45)

4. Macierz { }3A :

{ }

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

=−

989,0000,0000,0148,0000,0000,0000,0000,0000,0000,0000,1000,0148,0000,0000,0989,0

2

0001000010

00

cs

sc

Q . (46)

{ } { } { } { } =⋅⋅= 2223 QAQA T

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡=

−−−−−−−−−

−−

−−−−−−−−−

−−

437,10674,1745,1000,0674,1059,1127,2250,0745,1127,2000,6196,1000,0250,0196,1496,5

989,0000,0000,0148,0000,0000,1000,0000,0000,0000,0000,1000,0148,0000,0000,0989,0

090,10693,1902,1326,2693,1059,1127,2000,0902,1127,2000,6926,0326,2000,0926,0149,5

989,0000,0000,0148,0000,0000,1000,0000,0000,0000,0000,1000,0148,0000,0000,0989,0

. (47)

5. Macierz { }3W :

{ } { } { } =⋅= 223 QWW

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=

−−−

796,0425,0000,0432,0594,0688,0000,0417,0000,0000,0000,1000,0119,0588,0000,0800,0

989,0000,0000,0148,0000,0000,1000,0000,0000,0000,0000,1000,0148,0000,0000,0989,0

851,0425,0000,0309,0526,0688,0000,0501,0000,0000,0000,1000,0000,0588,0000,0809,0

. (48)

6. Warunek zakończenia obliczeń (w normie maksimum):

{ } { }

{ } { } 437343,10max

127302,2max

3

4,3,2,1

3

3

4,3,2,1,

3

==

==

=

≠=

iii

jiijji

asn

asp , (49)

{ }

{ } εsnsp

>== 203816,0437343,10

127302,23

3

, (50)

czyli dalej konieczne jest wykonanie następnej iteracji.

Page 9: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

9

Ostatecznie po wykonaniu 11 iteracji otrzymujemy:

{ }

⎥⎥

⎢⎢

⎡=≅

−−

−−

137,11000,0001,0000,0000,0103,0000,0000,0001,0000,0626,6000,0000,0000,0000,0661,5

11AD , (51)

{ }

⎥⎥

⎢⎢

⎡=≅

−−−

−−−

809,0276,0318,0410,0489,0794,0109,0346,0288,0350,0883,0119,0154,0414,0327,0836,0

11WW , (52)

i warunek zakończenia obliczeń:

{ } { }

{ } { } 137200,11max

000265,0max

11

4,3,2,1

11

11

4,3,2,1,

11

==

==

=

≠=

iii

jiijji

asn

asp , (53)

{ }

{ } εsnsp

<== 000067,0137200,11000265,0

11

11

, (54)

podczas gdy wartości ścisłe macierzy D i W są równe odpowiednio:

{ }

⎥⎥

⎢⎢

⎡==

137,11000,0000,0000,0000,0103,0000,0000,0000,0000,0626,6000,0000,0000,0000,0661,5

śćAD , (55)

{ }

⎥⎥

⎢⎢

⎡==

−−−−−−−

−−−

809,0276,0318,0410,0489,0794,0109,0346,0288,0350,0883,0119,0154,0414,0327,0836,0

śćWW . (56)

Jak widać przyjęcie warunku zakończenia obliczeń w normie maksimum z dopuszczalnym pozio-mem błędu 0001,0=ε pozwoliło na wyznaczenie wszystkich wartości i wektorów własnych ma-cierzy A z dokładnością co najmniej trzech cyfr znaczących.

0 2 4 6 8 10 12

0.3

0.2

0.1

0.1

0.2

0.3

zk

k Rys. 1. Błąd metody Jacobiego w normie maksimum (k – liczba iteracji).

Page 10: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

10

Metoda potęgowa Metoda potęgowa w wersji podstawowej służy do wyznaczenia maksymalnej co do modułu warto-ści własnej i odpowiadającego jej wektora własnego. Jeżeli jednak wykorzystamy fakty, że wartości własne macierzy odwrotnej są odwrotnościami wartości własnych macierzy danej oraz że modyfi-kacja macierzy polegająca na dodaniu do elementów jej przekątnej głównej pewnej liczby d po-woduje przesunięcie wszystkich wartości własnych tej macierzy o tę samą liczbę d (przesunięcie widma), możemy przy pomocy metody potęgowej wyznaczyć wartość własną najbliższą dowolnej liczbie.

Metoda potęgowa polega na wykonaniu ciągu mnożeń przyjętego wektora startowego przez ma-cierz, której dominującej wartości własnej i odpowiadającego wektora własnego poszukujemy. Pro-cedura taka jest równoznaczna pomnożeniu wektora startowego przez macierz wyjściową podnie-sioną do potęgi równej liczbie iteracji. Wektor będący iloczynem zmierza wtedy do wektora odpo-wiadającego największej wartości własnej, samą wartość własną możemy natomiast obliczyć z wy-rażenia zwanego ilorazem Rayleigha (4). Uzasadnienie poprawności metody jest następujące. Roz-ważmy dowolny wektor { }0X oraz ciąg operacji mnożenia tego wektora przez macierz [ ]nnA × :

{ } { }

{ } { } { }

{ } { } { } { }0101

0212

01

... XAXAAAXAX

XAXAXXAX

kkk ⋅=⋅⋅⋅⋅=⋅=

⋅=⋅=⋅=

++

M . (57)

Ponieważ każdy wektor w przestrzeni n wymiarowej można przedstawić jako kombinację liniową wektorów własnych naszej macierzy, to w szczególności:

{ } ∑=

⋅=n

jjj VαX

1

0 , (58)

gdzie jV oznacza ty−j wektor własny a jα mnożnik. Przyjmijmy ponadto, dla prostoty zapisu, że wartości własne są uporządkowane w kolejności od największej do najmniejszej co do modułu (wskaźnik j ). Podstawiając (58) do (57)3 otrzymujemy:

{ } ∑∑=

+

=

++ ⋅⋅=⋅⋅=n

jj

kj

n

jjj

kk VAVAX1

1

1

11 αα . (59)

Ponieważ, na mocy definicji problemu własnego, zachodzi związek:

jkjj

k VVA ⋅=⋅ ++ 11 λ , (60)

to ostatni człon wyrażenia (59) jest równy:

∑∑=

+

=

+ ⋅⋅=⋅⋅n

jj

kjj

n

jj

kj VVA

1

1

1

1 λαα , (61)

co, po wyciągnięciu przed znak sumy dominującej wartości własnej ostatecznie prowadzi do nastę-pującej zależności, wiążącej wektor { }1+kX z wartościami i wektorami własnymi macierzy A :

{ }

⎥⎥⎦

⎢⎢⎣

⎡⋅⎟⎟

⎞⎜⎜⎝

⎛⋅⋅= ∑

=

+

++n

jj

kj

jkk VX

1

1

1

11

1

λλ

αλ . (62)

Page 11: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

11

Zgodnie z wcześniejszym założeniem 1λ jest dominującą wartością własną, czyli zachodzi zależ-ność:

1 dla 11

≠< jj

λλ

, (63)

a więc gdy ∞→k to 01

1

→⎟⎟⎠

⎞⎜⎜⎝

⎛+k

j

λλ

. Jak z tego widać

{ }{ }

{ }kskł

kskłk

k XXλVX

1

11 , lim+

∞→== . (64)

We wzorze (64) symbol skł oznacza dowolnie wybraną składową wektora.

Ze względu na stabilność numeryczną procedury, po każdym kroku potęgowym (57) nowo uzyska-ny wektor { }1+kX normalizujemy, czyli zastępujemy wektorem { }1+iW o tym samym kierunku i zwrocie, ale długości równej 1, czyli { } { } 111 =⋅ ++ iTi WW (gdyby tej operacji nie wykonać to długość wektora po kolejnych krokach albo rosła by do nieskończoności, jeżeli długość wektora startowego była większa od jedności, albo malała do zera w przeciwnym przypadku) a wartości własnej nie ob-liczamy wprost ze wzoru (64) ale z ilorazu Rayleigha:

{ }{ } { }

{ } { }{ } { }1

1+⋅=

⋅⋅⋅

= kTkkTk

kTkk XW

XXXAXλ . (65)

Oczywiście po każdej iteracji należy sprawdzić warunki zakończenia obliczeń w postaci błędu zbieżności wartości własnej i wektora własnego:

{ } { }

{ }

{ } { }v

kkv

λk

kk

λ

εWWw

ελ

λλw

<−=

<−

=

+

+

+

1

1

1

. (66)

Ponieważ tempo zbieżności wartości własnej jest znacznie wyższe niż tempo zbieżności wektora własnego, dobór wartości λε i vε powinien być wykonywany rozważnie, zwłaszcza dla dużych macierzy. W szczególności należy się zastanowić, czy w dalszej analizie są nam potrzebne zarówno wartość jak i odpowiadający jej wektor własny, a jeżeli tak, to czy muszą być wyznaczone tak samo precyzyjnie.

Przy sprawdzaniu warunku (66)2 należy mieć na uwadze fakt, że jeżeli dominująca wartość własna jest ujemna, to wektory będące kolejnymi przybliżeniami odpowiadającego jej wektora własnego co iteracja będą zmieniały zwrot na przeciwny.

Ostateczny algorytm metody wygląda następująco:

Wyznaczyć wektor startowy { }0X mając na względzie fakt, że jego dobór może mieć znaczący wpływ na liczbę wykonanych iteracji. Oczywiście, jak łatwo się domyślić, im wektor startowy jest bliższy poszukiwanemu wektorowi własnemu, tym mniej iteracji trzeba będzie wykonać;

1. Znormalizować wyznaczony wektor { }{ }

{ } { }kTk

kk

XXXW

⋅= ;

2. Wykonać krok potęgowy { } { }kk WAX ⋅=+1 ;

3. Obliczyć iloraz Rayleigha { } { } { }11 ++ ⋅= kTkk XWλ ;

Page 12: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

12

4. Sprawdzić warunek (66).

W zależności od wyniku sprawdzenia albo należy wrócić do 1., albo zakończyć pracę.

Dla lepszej ilustracji sposobu postępowania przedstawimy go na przykładzie obliczania dominują-cej wartości własnej i odpowiadającego jej wektora własnego macierzy [ ]44×A z poprzedniego przy-

kładu (29) dokładnością 0001,0== vεελ . W tym celu przyjmijmy wektor początkowy [ ]{ }04X :

{ }

⎥⎥

⎢⎢

⎡=

−−−

1111

0X . (67)

Iteracja pierwsza:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

−−−

−−−

500,0500,0500,0500,0

1111

000

0

411 X

XXW

T . (68)

2. Krok potęgowy:

{ } { }

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

−−−−

−−−

−−−−

=⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅=

500,3000,2500,1000,0

500,0500,0500,0500,0

7514522112624123

01 WAX . (69)

3. Iloraz Rayleigha:

{ } { } { } [ ] 500000,1500,3000,2500,1000,0

500,0500,0500,0500,0100 −=

⎥⎥

⎢⎢

⎡⋅=⋅=

−−−−XWλ T . (70)

4. Warunki zakończenia obliczeń mogą być sprawdzone dopiero po drugiej iteracji, w takim razie powracamy do punktu 1. i kontynuujemy obliczenia.

Iteracja druga:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

−−8140465034900000

5003000250010000

111

1

51811

,,,,

,,,,

T ,X

XXW . (71)

2. Krok potęgowy:

{ } { }

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

−−

−−−

−−−−

=⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅=

370,8696,5836,3092,2

814,0465,0349,0000,0

7514522112624123

12 WAX . (72)

3. Iloraz Rayleigha:

{ } { } { } [ ] 797297,10370,8696,5836,3092,2

814,0465,0349,0000,0211 −=

⎥⎥

⎢⎢

⎡⋅=⋅=

−−XWλ T . (73)

Page 13: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

13

4. Warunki zakończenia obliczeń:

{ } { }

{ }

{ } { } ( ) vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡⋅−−

⎥⎥

⎢⎢

⎡=−=

>=−

+−=

−=

−−−

−141277,11

861076,0797297,10

500000,1797297,10

500,0500,0500,0500,0

814,0465,0349,0000,0

01

0

01

, (74)

czyli konieczne jest wykonanie następnej iteracji.

Iteracja trzecia:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

759,0517,0348,0190,0

370,8696,5836,3092,2

222

2

026944,1111 X

XXW

T . (75)

2. Krok potęgowy:

{ } { }

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

−−−

−−−−

=⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅=

003,9334,5500,3255,1

759,0517,0348,0190,0

7514522112624123

23 WAX . (76)

3. Iloraz Rayleigha:

{ } { } { } [ ] 044677,11003,9334,5500,3255,1

759,0517,0348,0190,0322 −=

⎥⎥

⎢⎢

⎡⋅=⋅=

−−XWλ T . (77)

4. Warunki zakończenia obliczeń:

{ } { }

{ }

{ } { } ( ) vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡⋅−−

⎥⎥

⎢⎢

⎡=−=

>=−

+−=

−=

−−

− 204110,01

022398,0044677,11

797297,10044677,11

814,0465,0349,0000,0

759,0517,0348,0190,0

12

2

12

, (78)

czyli dalej konieczne jest wykonanie następnej iteracji.

W toku dalszych obliczeń można się przekonać, że po ośmiu iteracjach:

{ } { }

{ }

{ } { } ( ) vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡⋅−−

⎥⎥

⎢⎢

⎡=−=

<=−

+−=

−=

− 003910,01

000038,0137020,11

136601,11137020,11

808,0489,0292,0150,0

808,0490,0291,0154,0

78

8

78

, (79)

czyli został spełniony warunek (66)1 (błąd zbieżności ze względu na wartość własną), a po 15 itera-cjach:

Page 14: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

14

{ } { }

{ }

{ } { } ( ) vv

λλ

εWWw

ελ

λλw

<=⎥⎥

⎢⎢

⎡⋅−−

⎥⎥

⎢⎢

⎡=−=

<=−

+−=

−=

−−

000057,01

00000001,0137200,11

137200,11137200,11

809,0489,0288,0154,0

809,0489,0288,0154,0

1415

15

1415

. (80)

czyli został spełniony warunek (66)2 (błąd zbieżności ze względu na wektor własny). Jak widać, uzyskanie takiej samej dokładności w przypadku wektora własnego, jak w przypadku wartości wła-snej wymaga wykonania około dwukrotnie większej liczby iteracji.

Efektywność (tempo zbieżności) metody potęgowej zależy od wartości ilorazu 12 λλ , gdyż

{ } { }

( ) ( )

1 , ,

11

1

2

2111

2 1111

2 11111

1

≤=⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⋅⋅+⋅⋅≤

≤⎥⎥⎦

⎢⎢⎣

⎡⋅⋅⎟⎟

⎞⎜⎜⎝

⎛+⋅⋅=

⎥⎥⎦

⎢⎢⎣

⎡⋅⋅−⋅⎟⎟

⎞⎜⎜⎝

⎛+⋅⋅−⋅=

=−

∑∑

=

==

+

µλλµµλ

λλ

λαλλλ

αλλ

n

jjj

kk

n

jjj

kjk

n

jjjj

kjk

kk

VcVc

VcVcVV

XX

, (81)

gdzie ( ) ,1 jjj αλc ⋅−= nj ,...,2,1= są stałymi współczynnikami rozkładu. Ze wzoru (81) wynika, że tempo, z jakim wektor X zmierza do wektora własnego 1V jest szacowane od góry przez wartość tego ilorazu. Najgorsza sytuacja wystąpi wtedy, gdy iloraz jest równy jeden, czyli wartości te różnią się jedynie znakiem. W kolejnych iteracjach wystąpią oscylacje pomiędzy dwoma przeciwnymi wartościami λ bez szans na spełnienie warunku zakończenia obliczeń. Najlepsza sytuacja nato-miast (a zatem również największe przyspieszenie obliczeń) nastąpi wtedy, gdy iloraz ten będzie miał największą możliwą dla danej macierzy wartość. Sytuacja taka pojawi się, gdy nλλ =2 . Moż-na do niej doprowadzić przez odpowiednie przesunięcie widma wartości własnych wyjściowej ma-cierzy o wartość

( ) 22 nopt λλλ += . (82)

Należy w tym celu najpierw możliwie precyzyjnie oszacować wartości własne 2λ i nλ (na przykład korzystając z ciągów Sturma) a następnie przekształcić macierz [ ]nnA × odejmując od wszystkich elementów jej przekątnej głównej składnik optλ

IλAA opt ⋅−=' , (83)

gdzie [ ]nnI × oznacza macierz jednostkową, i dalsze obliczenia prowadzić na tak uzyskanej macierzy

[ ]'

nnA × , dla której będzie zachodził warunek ''2 nλλ = . Po zakończeniu iteracji należy oczywiście

powrócić do wartości własnej macierzy wyjściowej, dodając do wyniku obliczeń metodą potęgową optλ . Wyznaczony w trakcie tych obliczeń wektor własny nie wymaga żadnych modyfikacji, gdyż

przesunięcie widma nie ma wpływu na jego składowe.

Page 15: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

15

0 2 4 6 8 10 12 14

1 .10 8

1 .10 7

1 .10 6

1 .10 5

1 .10 4

1 .10 3

0.01

0.1

10

λn

wn

n n, Rys. 2. Zbieżność metody potęgowej dla dominującej wartości własnej ( λ ) i odpowiadającego jej

wektora własnego ( w ) w kolejnych iteracjach ( n ), skala logarytmiczna.

Metoda iteracji odwrotnej

Metoda iteracji odwrotnej może być uważana za wariant metody potęgowej służący do wyznacze-nia wartości własnej macierzy, najbliższej zeru. Podstawą merytoryczną tej metody jest cytowane wyżej twierdzenie, że wartości własne macierzy odwrotnej są odwrotnościami wartości własnych macierzy danej. Sposób postępowania jest podobny jak poprzednio, z jednym zastrzeżeniem doty-czącym kroku potęgowego.

W najprostszej postaci metody iteracji odwrotnej formalnie zastępujemy macierz A macierzą 1−A a dalej obliczenia prowadzimy jak w metodzie potęgowej. Jednak taki sposób postępowania jest mało efektywny numerycznie, gdyż złożoność obliczeniowa procedury odwracania macierzy jest duża. Jest jednak prosty sposób uniknięcia tej operacji. Wystarczy w tym celu w kroku potęgowym za-miast operacji mnożenia macierzy przez wektor:

{ } { }kk XAX ⋅= −+ 11 , (84)

rozwiązać układ liniowych równań algebraicznych:

{ } { }kk XXA =⋅ +1 . (85)

Aby rozwiązanie układu równań było efektywne należy zastosować jedną z metod opartych na de-kompozycji macierzy (rozkład TLL ⋅ jeżeli macierz jest dodatnio określona, rozkład UL ⋅ w prze-ciwnym przypadku), gdyż dekompozycji dokonujemy jednokrotnie, natomiast układ równań musi-my rozwiązać w trakcie każdej iteracji. Taka procedura postępowania jest efektywna, gdy macierz A jest pełna lub prawie pełna. Jeżeli natomiast mamy do czynienia z macierzą A , która jest rzad-ka, korzystniejsze może okazać się zastosowanie procedury iteracyjnej rozwiązania układu linio-wych równań algebraicznych. Ostatecznie, w przypadku metody iteracji odwrotnej algorytm postę-powania przedstawia się następująco:

Wyznaczyć wektor startowy { }0X ;

Page 16: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

16

1. Znormalizować wyznaczony wektor { }{ }

{ } { }kTk

kk

XXXW

⋅= ;

2. Wykonać krok potęgowy { } { }kk WXA =⋅ +1 przez rozwiązanie układu liniowych równań algebra-icznych;

3. Obliczyć iloraz Rayleigha { } { } { }11 ++ ⋅= kTkk XWλ ;

4. Sprawdzić warunek (66).

W zależności od wyniku sprawdzenia albo należy wrócić do 1., albo zakończyć pracę.

Jeżeli metodę iteracji odwrotnej zastosujemy do macierzy po przesunięciu widma wartości wła-snych o liczbę d (83), uzyskamy zbieżność rozwiązania nie do najbliższej zeru wartości własnej macierzy wyjściowej a do wartości własnej najbliższej tej zadanej liczbie. W ten sposób można, stosując wariant metody potęgowej, wyznaczyć dowolną wartość własną macierzy.

Uogólniony problem własny Uogólnionym problemem własnym nazywamy zadanie w postaci:

VBλVA ⋅⋅=⋅ . (86)

Jeżeli wyznacznik macierzy B jest różny od zera zadanie takie można formalnie sprowadzić do standardowego problemu własnego przez obustronne pomnożenie przez macierz 1−B , co prowadzi do:

VλVAB ⋅=⋅⋅−1 . (87)

Takie postępowanie ma jednak zasadniczą wadę spowodowaną numeryczną złożonością procedury (odwracanie macierzy), oraz możliwością utraty stabilności w trakcie obliczeń. Ponadto, jeżeli ma-cierz B jest pasmowa (częsty przypadek) to macierz odwrotna do niej najczęściej taka nie jest, co w przypadku dużych zadań może być kłopotliwe.

Jeżeli macierz B jest symetryczna i dodatnio określona możliwy jest następujący sposób postępo-wania, polegający na zastosowaniu rozkładu TLL ⋅ :

TLLB ⋅= , (88)

co po podstawieniu do (86) daje:

XLLXA T ⋅⋅⋅=⋅ λ , (89)

a po lewostronnym pomnożeniu przez 1−L :

XLXLLLXAL TT ⋅⋅=⋅⋅⋅⋅=⋅⋅ −− λλ 11 . (90)

Jeżeli dokonamy teraz podstawienia:

YLXYXL TT ⋅==⋅ − czyli , , (91)

to problem (86) sprowadzimy do standardowego problemu własnego (1), z wartościami własnymi zachowanymi z zadania (86), ale zmienionymi wektorami własnymi:

YYC

LAL T ⋅=⋅⋅⋅ −− λ434211 , (92)

który możemy rozwiązać na przykład jedną z przedstawionych powyżej metod. Znając wektory własne problemu (92) możemy w każdej chwili wrócić do wektorów własnych zadania wyjściowe-go (86), korzystając z zależności (91). Jeżeli natomiast w trakcie rozwiązywania zadania (86) meto-

Page 17: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

17

dą potęgową przy uwzględnieniu zależności (88) chcemy uniknąć konieczności odwracania macie-rzy L i TL możemy zastosować procedurę postępowania przedstawioną poniżej:

Dokonać rozkładu TLL ⋅ macierzy B i przyjąć wektor startowy { }0Y ;

1. Znormalizować wyznaczony wektor { }{ }

{ } { }kTk

kk

YYYW

⋅= ;

2. Obliczyć wektor { }kX rozwiązując układ liniowych równań algebraicznych { } { }kkT WXL =⋅ ;

3. Obliczyć wektor { }1+kY rozwiązując układ liniowych równań algebraicznych { } { }kk XAYL ⋅=⋅ +1 , co jest równoznaczne wykonaniu kroku potęgowego;

4. Obliczyć iloraz Rayleigha { } { } { }11 ++ ⋅= kTkk YWλ ;

5. Sprawdzić warunek (66).

Dokładnie tak samo jak we wcześniej rozważanych przykładach, jeżeli warunek (66) został speł-niony, kończymy obliczenia, w przeciwnym razie wracamy do 1.

W tym miejscu warto zwrócić uwagę na fakt, że w trakcie obliczeń (punkt 2.) w każdej iteracji jest znajdowany wektor własny oryginalnego problemu własnego (86), tak więc nie należy go obliczać ponownie na zakończenie pracy.

Przedstawiony powyżej sposób postępowania zastosujemy do wyznaczenia dominującej wartości własnej uogólnionego problemu własnego opisanego symetrycznymi macierzami [ ]44×A i [ ]44×B , z dokładnością 0001,0== vεελ :

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡=

−−−

−−−

−−−−

4621082952

1051028224

3122146326312312

, BA . (93)

Operacje wstępne – rozkład macierzy B i wektor startowy { }0Y :

⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅=

⎥⎥

⎢⎢

⎡=

−−

−−

−−−

−−−

5000120022304112

5124022100310002

4621082952

1051028224

TLLB , { }

⎥⎥

⎢⎢

⎡=

1111

0Y . (94)

Iteracja pierwsza:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

500,0500,0500,0500,0

1111

000

0

411 Y

YYW

T . (95)

2. Układ równań:

{ } { } { } { }⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔=⋅

−−

−−

100,0200,0033,0167,0

0

500,0500,0500,0500,0

0

5000120022304112

00 XXWXLT . (96)

Page 18: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

18

3. Układ równań:

{ } { } { } { }

⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔⋅=⋅

−−

−−−

−−−−

−−−

543,0536,0239,0550,0

1

100,0200,0033,0167,0

3122146326312312

1

5124022100310002

01 YYXAYL . (97)

4. Iloraz Rayleigha:

{ } { } { } [ ] 391111,0543,0536,0239,0550,0

500,0500,0500,0500,0100 =

⎥⎥

⎢⎢

⎡⋅=⋅=

−−

−−YW Tλ . (98)

5. Warunki zakończenia obliczeń mogą być sprawdzone dopiero po drugiej iteracji, w takim razie powracamy do punktu 1. i kontynuujemy obliczenia.

Iteracja druga:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

−−

−−

559,0552,0246,0567,0

543,0536,0239,0550,0

111

1

941591,011 Y

YYW

T . (99)

2. Układ równań:

{ } { } { } { }⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔=⋅

−−

−−

−−

112,0332,0065,0706,0

1

559,0552,0246,0567,0

1

5000120022304112

11 XXWXLT . (100)

3. Układ równań:

{ } { } { } { }

⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔⋅=⋅

−−

−−

−−−

−−−−

−−−

233,1428,1686,0060,1

2

112,0332,0065,0706,0

3122146326312312

2

5124022100310002

12 YYXAYL . (101)

4. Iloraz Rayleigha:

{ } { } { } [ ] 248323,2233,1428,1686,0060,1

559,0552,0246,0567,0211 =

⎥⎥

⎢⎢

⎡⋅=⋅=

−−

−−−YW Tλ . (102)

5. Warunki zakończenia obliczeń:

{ } { }

{ }

{ } { }vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡−

⎥⎥

⎢⎢

⎡=−=

>=−

=−

=

−−

092649,1

826043,0248323,2

391111,0248323,2

500,0500,0500,0500,0

559,0552,0246,0567,0

01

0

01

, (103)

czyli konieczne jest wykonanie następnej iteracji.

Page 19: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

19

Iteracja trzecia:

1. Normalizacja:

{ }{ } { }

{ }

⎥⎥

⎢⎢

⎡=

⎥⎥

⎢⎢

⎡⋅=⋅

⋅=

−−

−−

543,0629,0302,0467,0

233,1428,1686,0060,1

222

2

153832,511 Y

YYW

T . (104)

2. Układ równań:

{ } { } { } { }⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔=⋅

−−

−−

−−

109,0369,0073,0671,0

2

543,0629,0302,0467,0

2

5000120022304112

22 XXWXLT . (105)

3. Układ równań:

{ } { } { } { }

⎥⎥

⎢⎢

⎡=⇒

⎥⎥

⎢⎢

⎡⋅

⎥⎥

⎢⎢

⎡=⋅

⎥⎥

⎢⎢

⎡⇔⋅=⋅

−−

−−

−−−

−−−−

−−−

279,1374,1747,0080,1

3

109,0369,0073,0671,0

3122146326312312

3

5124022100310002

23 YYXAYL . (106)

4. Iloraz Rayleigha:

{ } { } { } [ ] 288566,2279,1374,1747,0080,1

543,0629,0302,0467,0322 =

⎥⎥

⎢⎢

⎡⋅=⋅=

−−

−−YW Tλ . (107)

5. Warunki zakończenia obliczeń:

{ } { }

{ }

{ } { }vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡−

⎥⎥

⎢⎢

⎡=−=

>=−

=−

=

−−

−−

138843,0

017584,0288566,2

248323,2288566,2

559,0551,0246,0567,0

543,0629,0302,0467,0

12

1

12

, (108)

czyli konieczne jest wykonanie następnej iteracji.

W toku dalszych obliczeń można się przekonać, że po siedmiu iteracjach:

{ } { }

{ }

{ } { }vv

λλ

εWWw

ελ

λλw

>=⎥⎥

⎢⎢

⎡−

⎥⎥

⎢⎢

⎡=−=

<=−

=−

=

−−

−−

011241,0

000065,0290751,2

290603,2290751,2

554,0617,0313,0464,0

556,0609,0319,0467,0

67

7

67

, (109)

czyli został spełniony warunek (66)1 (błąd zbieżności ze względu na wartość własną), a po 22 itera-cjach:

{ } { }

{ }

{ } { }v

,,,,

,,,,

v

λλ

εWWw

ελ

λλw

<=⎥⎥

⎢⎢

⎡−

⎥⎥

⎢⎢

⎡=−=

<=−

=−

=

−−

000097,0

000000004,0290918,2

290918,2290918,2

5550612031704660

5550612031704660

2122

22

2122

. (110)

Page 20: Metody15

Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej

Wydział Inżynierii Lądowej Politechnika Krakowska

20

czyli został spełniony warunek (66)2 (błąd zbieżności ze względu na wektor własny). Jak widać, uzyskanie takiej samej dokładności w przypadku wektora własnego, jak w przypadku wartości wła-snej w tym przypadku wymaga wykonania około trzykrotnie większej liczby iteracji.

0 2 4 6 8 10 12 14 16 18 20 22

1 .10 9

1 .10 8

1 .10 7

1 .10 6

1 .10 5

1 .10 4

1 .10 3

0.01

0.1

10

λn

wn

n n, Rys. 3 Zbieżność metody potęgowej dla dominującej wartości własnej ( λ ) i odpowiadającego jej

wektora własnego ( w ) w kolejnych iteracjach ( n ) uogólnionego problemu własnego, skala logarytmiczna.