Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast...

11
Michał Pazdanowski Instytut Technologii Informacyjnych w Inżynierii Lądowej Wydział Inżynierii Lądowej Politechnika Krakowska 1 Układ Liniowych Równań Algebraicznych Z liniowym układem równań algebraicznych mamy do czynienia w sytuacji, gdy wszystkie zmien- ne występujące w równaniach układu występują jedynie w pierwszej potędze; można go skrótowo zapisać przy pomocy następującego wzoru: m i d x a n j i j ij , ... , 3 , 2 , 1 , 1 = = = ..., (1) w którym oznaczono odpowiednio: ij a - elementy macierzy głównej układu, j x - elementy wektora niewiadomych, i d - elementy wektora prawej strony. W zależności od proporcji liczby liniowo niezależnych równań m do liczby występujących w nich zmiennych n , możemy mieć do czynienia z trzema sytuacjami: 1. n m > - nadokreślony układ równań, 2. n m = - oznaczony układ równań, 3. n m < - niedookreślony układ równań. W dalszej części tego rozdziału zajmiemy się przypadkiem drugim z wymienionych powyżej, czyli oznaczonym układem równań. Dla układu równań liniowych, w którym liczba zmiennych n jest równa liczbie równań m warunek liniowej niezależności jest równoważny żądaniu by macierz główna układu A , o elementach ij a , miała wyznacznik różny od zera ( 0 ) det( A ). W takiej sytu- acji układ równań (1) ma jedno i tylko jedno rozwiązanie. Poniżej omówimy podstawowe metody jego znajdowania. Metody te możemy podzielić na dwie kategorie: 1. metody eliminacyjne, do których zaliczamy: metodę eliminacji Gaussa, metodę rozkładu L U, metodę Choleskiego - Banachiewicza; 2. metody iteracyjne, do których należą: metoda Jacobiego, metoda Gaussa – Seidla. Do zalet metod eliminacyjnych należą między innymi łatwość rozwiązywania układu równań z wie- loma prawymi stronami (sytuacja często występująca w praktyce), możliwość precyzyjnego osza- cowania czasu obliczeń na podstawie rozmiaru zadania czy wreszcie gwarancja uzyskania wyniku po wykonaniu możliwej do określenia z góry liczby operacji. Zaletą metod iteracyjnych jest prosto- ta algorytmu i niewielkie zapotrzebowanie na pamięć operacyjną w trakcie obliczeń. Wszystkie te metody zostaną przedstawione poniżej w najbardziej podstawowej wersji, pomimo że każda z nich ma wiele wariantów dostosowanych np. do szczególnych postaci macierzy A . Metoda eliminacji Gaussa Z układu równań (1), który w postaci macierzowej możemy krótko zapisać jako: D X A = , (2) gdzie:

Transcript of Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast...

Page 1: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

1

Układ Liniowych Równań Algebraicznych Z liniowym układem równań algebraicznych mamy do czynienia w sytuacji, gdy wszystkie zmien-ne występujące w równaniach układu występują jedynie w pierwszej potędze; można go skrótowo zapisać przy pomocy następującego wzoru:

midxan

jijij , ... ,3,2,1 ,

1==⋅∑

=..., (1)

w którym oznaczono odpowiednio:

ija - elementy macierzy głównej układu,

jx - elementy wektora niewiadomych,

id - elementy wektora prawej strony.

W zależności od proporcji liczby liniowo niezależnych równań m do liczby występujących w nich zmiennych n , możemy mieć do czynienia z trzema sytuacjami:

1. nm > - nadokreślony układ równań, 2. nm = - oznaczony układ równań, 3. nm < - niedookreślony układ równań.

W dalszej części tego rozdziału zajmiemy się przypadkiem drugim z wymienionych powyżej, czyli oznaczonym układem równań. Dla układu równań liniowych, w którym liczba zmiennych n jest równa liczbie równań m warunek liniowej niezależności jest równoważny żądaniu by macierz główna układu A , o elementach ija , miała wyznacznik różny od zera ( 0)det( ≠A ). W takiej sytu-acji układ równań (1) ma jedno i tylko jedno rozwiązanie. Poniżej omówimy podstawowe metody jego znajdowania. Metody te możemy podzielić na dwie kategorie:

1. metody eliminacyjne, do których zaliczamy: • metodę eliminacji Gaussa, • metodę rozkładu L U, • metodę Choleskiego - Banachiewicza;

2. metody iteracyjne, do których należą: • metoda Jacobiego, • metoda Gaussa – Seidla.

Do zalet metod eliminacyjnych należą między innymi łatwość rozwiązywania układu równań z wie-loma prawymi stronami (sytuacja często występująca w praktyce), możliwość precyzyjnego osza-cowania czasu obliczeń na podstawie rozmiaru zadania czy wreszcie gwarancja uzyskania wyniku po wykonaniu możliwej do określenia z góry liczby operacji. Zaletą metod iteracyjnych jest prosto-ta algorytmu i niewielkie zapotrzebowanie na pamięć operacyjną w trakcie obliczeń. Wszystkie te metody zostaną przedstawione poniżej w najbardziej podstawowej wersji, pomimo że każda z nich ma wiele wariantów dostosowanych np. do szczególnych postaci macierzy A .

Metoda eliminacji Gaussa Z układu równań (1), który w postaci macierzowej możemy krótko zapisać jako:

DXA =⋅ , (2)

gdzie:

Page 2: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

2

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

mnmjm

iniji

nj

aaa

aaa

aaa

A

LLMMM

LLMMM

LL

1

1

1111

,

⎥⎥⎥⎥

⎢⎢⎢⎢

=

n

i

x

x

x

XM

M1

,

⎥⎥⎥⎥

⎢⎢⎢⎢

=

n

i

d

d

d

DM

M1

. (3)

uwzględniając fakt, że nm = , tworzymy tablicę (4), którą następnie równoważnie przekształcamy tak, aby doprowadzić ją do postaci trójkątnej górnej (5). Operację tę nazywamy krokiem w przód.

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

⎡k

nnnnknin

jjnjkjij

iinikiii

nki

j

daaaa

daaaa

daaaa

daaaa

LLLMMMMM

LLLMMMMM

LLLMMMMM

LLL

1

1

1

111111

, (4)

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

nnn

iinii

ni

da

daa

daaa

LLMMMM

LLMMMM

LL

00

0

11111

. (5)

Przekształcenia prowadzimy korzystając z faktu, że: • przestawienie dwóch wierszy, • przemnożenie wszystkich elementów wiersza przez tę samą liczbę, • dodanie do elementów jednego wiersza odpowiednio elementów innego wiersza, • dodanie do elementów jednego wiersza odpowiednio kombinacji liniowej elementów in-

nych wierszy,

przekształcają tablicę równoważnie, czyli w sposób nie zmieniający rozwiązania układu równań.

Obliczenia rozpoczynamy od pierwszej kolumny tablicy (4). Naszym celem jest takie przekształce-nie wierszy tej tablicy o numerach mj ,...,2= , aby w pierwszej kolumnie pojawiło się w nich zero. W tym celu dla każdego wiersza j wyznaczamy mnożnik 1111 aam jj −= a następnie mnożymy przez ten mnożnik elementy pierwszego wiersza i dodajemy do odpowiednich elementów wiersza j . Następnie operację tę powtarzamy dla drugiej kolumny, rozpoczynając przekształcenia od wier-

sza trzeciego i kontynuujemy dla kolejnych kolumn i za każdym razem rozpoczynając przekształ-cenia od wiersza o numerze 1+= ij , aż dojdziemy do kolumny 1−n i wiersza m . Ogólne wzory, pozwalające wyznaczyć nowe, zmienione wartości elementów tablicy (4) po wyeliminowaniu ele-mentu jia w kolumnie i (patrz wzór (4)) mają postać:

niikdmdd

niijamaa

niaa

m

ijijj

ikjijkjk

ii

jiji

,...,2,1

,...,2,1

1,...,2,1

++=⋅+=

++=⋅+=

−=−=

. (6)

Page 3: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

3

Na kolejnym etapie obliczeń, nazywanym krokiem wstecz, dokonujemy albo eliminacji elementów tablicy powyżej przekątnej głównej, albo, korzystając ze wzorów (7), wyznaczamy wartości wszystkich składowych wektora X w kolejności od nx do 1x :

ii

n

ijjijii a

xadx 11

⋅⎥⎦

⎤⎢⎣

⎡⋅−= ∑

+= , 1,...,1, −= nni . (7)

Dla lepszego przedstawienia opisanego powyżej sposobu postępowania rozwiążemy metodą elimi-nacji Gaussa układ trzech liniowych równań algebraicznych przedstawiony poniżej (8).

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥

⎢⎢

⎡⋅

⎥⎥⎦

⎢⎢⎣

⎡−−

430

123431212

3

2

1

xxx

. (8)

Obliczenia w kroku w przód rozpoczynamy od utworzenia z tego układu równań przez dołączenie wektora wyrazów wolnych do macierzy współczynników stosownej tablicy mającej postać (9):

⎥⎥⎦

⎢⎢⎣

⎡−−

000,4000,1000,2000,3000,3000,4000,3000,1000,0000,2000,1000,2

, (9)

mnożniki służące do wyeliminowania elementów 21a i 22a są równe odpowiednio:

500,1

23

500,021

11

3131

11

2121

−=−=−=

==−=

aam

aam

(10)

i zapiszemy je przy odpowiednich wierszach tablicy, pamiętając, że mnożymy przez nie elementy wiersza pierwszego i dodajemy je odpowiednio do elementów wierszy drugiego i trzeciego:

500,1500,0

000,4000,1000,2000,3000,3000,4000,3000,1000,0000,2000,1000,2

−××

⎥⎥⎦

⎢⎢⎣

⎡−−

− . (11)

W wyniku otrzymamy równoważną tablicę (12), w której wszystkie elementy pierwszej kolumny poniżej przekątnej głównej są równe 0 :

⎥⎥⎦

⎢⎢⎣

⎡−

000,4000,4500,0000,0000,3000,3500,2000,0000,0000,2000,1000,2

. (12)

Analogicznie przekształcamy kolumnę drugą, rozpoczynając działania od elementu 32a . Stosowny mnożnik będzie równy:

200,0500,2

500,0

22

3232 =

−=−=

aam , (13)

i zapiszemy go podobnie jak poprzednio przy odpowiednim wierszu tablicy, pamiętając również, że mnożymy przez niego elementy wiersza drugiego i dodajemy je do elementów wiersza trzeciego:

200,0000,4000,4500,0000,0

000,3000,3500,2000,0000,0000,2000,1000,2

×⎥⎥⎦

⎢⎢⎣

⎡−

− . (14)

Page 4: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

4

w rezultacie otrzymując równoważną tablicę (15) sprowadzoną do postaci trójkątnej górnej:

⎥⎥⎦

⎢⎢⎣

⎡−

600,4600,4000,0000,0000,3000,3500,2000,0000,0000,2000,1000,2

. (15)

Krok wstecz zrealizujemy wyznaczając z kolejnych równań, poczynając od ostatniego, poszczegól-ne niewiadome ix , 3,2,1=i :

000,1000,0000,1

000,0000,2000,1000,2000,3000,3500,2

600,4600,4

1

2

3

321

32

3

===

⇒⇒⇒

=⋅−⋅+⋅=⋅+⋅−

=⋅

xxx

xxxxx

x . (16)

Na zakończenie zwróćmy jeszcze uwagę na kilka sytuacji szczególnych z jakimi możemy się ze-tknąć stosując metodę eliminacji Gaussa w obliczeniach:

1. w trakcie obliczeń może się zdarzyć, że na przekątnej głównej tablicy pojawi się 0 ( 0=iia ); nie można wówczas wprost skorzystać ze wzoru (6)1 (dzielenie przez 0 ), jednak wystarczy zauwa-żyć, że przecież rozwiązanie układu liniowych równań algebraicznych nie zależy od kolejności tych równań, i wobec tego wystarczy zamienić równanie z zerem na przekątnej głównej z do-wolnym innym równaniem znajdującym się poniżej przekątnej głównej a nie posiadającym zera w kolumnie i , aby móc kontynuować obliczenia;

2. gdyby jednak okazało się, że wszystkie elementy w kolumnie i na oraz poniżej przekątnej głównej są równe 0 oznaczałoby to że macierz główna układu równań (1) jest osobliwa, i wobec tego ten układ równań nie ma jednoznacznego rozwiązania;

3. w celu poprawy stabilności numerycznej metody należy stosować procedurę zwaną wymianą wierszy i ewentualnie wymianę kolumn; wymiana wierszy polega na tym, że przed rozpoczę-ciem zerowania elementów tablicy w danej kolumnie wyszukujemy największy z nich co do modułu, i tak zamieniamy wiersze aby wprowadzić go na przekątną główną, dalsza procedura eliminacji przebiega bez zmian; wymiana kolumn przebiega analogicznie, tyle, że w poszukiwa-niu największego co do modułu elementu przeszukujemy wiersz a nie kolumnę, niestety ubocz-nym skutkiem wymiany kolumn jest konieczność zapamiętywania sekwencji wymian (zamiana kolumn zmienia kolejność składowych w wektorze niewiadomych!);

4. obliczenie wyznacznika wyjściowej macierzy A jest trywialne w przypadku gdy zostanie ona sprowadzona do postaci trójkątnej górnej (wniosek z twierdzenia o obliczaniu wyznacznika przez rozwinięcie względem wiersza lub kolumny).

Metoda rozkładu L·U

Metoda ta polega na zastąpieniu jednego układu liniowych równań algebraicznych o n niewiado-mych, opisanego macierzą pełną, dwoma układami równań o tej samej liczbie niewiadomych, lecz opisanymi macierzami trójkątnymi górną U i dolną L . Jak to już zostało pokazane powyżej (krok wstecz w metodzie eliminacji Gaussa) rozwiązanie układu równań opisanego macierzą trójkątną jest łatwe, wystarczy tylko zachować odpowiednią kolejność wyznaczania wartości niewiadomych. Postępowanie rozpoczyna się od wyznaczenia macierzy L i U takich, że:

ULA ⋅= , (17)

gdzie macierz A jest macierzą główną układu (1). Wówczas zachodzi

DXULXA =⋅⋅=⋅ , (18)

jeżeli teraz wprowadzimy oznaczenie

Page 5: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

5

YXU =⋅ , (19)

to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o n niewiadomych:

DYLYXU

=⋅=⋅

. (20)

Do wyznaczenia elementów macierzy L i U wykorzystamy zależność (17). Jest ona źródłem 2n niezależnych równań. Ponieważ jednak poszukiwanych niewiadomych jest nn +2 , to dokładnie n z nich możemy określić arbitralnie. Wobec tego przyjmijmy, że współczynniki 1=iil . Wówczas:

ni

niiku

ulal

niikulau

ii

i

jjikjki

ki

i

jjkijikik

,...,2,1

,...,2,1

,...,1,

1

1

1

1

=

⎪⎪

⎪⎪

++=⋅−

=

+=⋅−=

∑−

=

=

. (21)

Przy właściwej kolejności prowadzenia obliczeń (np. algorytm Crouta, w którym naprzemiennie wyznaczamy wiersz macierzy U i kolumnę macierzy L ) zawsze mamy do czynienia z sytuacją w której z jednego równania wyznaczamy tylko jedną niewiadomą iku lub kil .

Tok postępowania prześledźmy na przykładzie rozwiązania układu równań:

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

−−−

−−

489

10

1512274132

3

2

1

xxx

. (22)

Warunek (17) można w naszym przypadku przedstawić jako:

A

U

lll

uuuuuu

L

⎥⎥⎥

⎢⎢⎢

−−−

−−

⎥⎥⎥

⎢⎢⎢

⎡⎥⎥⎥

⎢⎢⎢

1512274132

101001

000

3231

21

33

2322

131211

, (23)

co prowadzi do następującego zestawu równań na wyznaczenie niewiadomych iku oraz kil :

24411

213

2

111

2171

241131

21

33

32

23

22

31

21

13

12

11

3323321331

22321231

231321

221221

1131

1121

13

12

11

−===

−=−=

=−=−=

=

⇒⇒⇒⇒⇒⇒⇒⇒⇒

=⋅+⋅+⋅−=⋅+⋅

=⋅+⋅−=⋅+⋅

−=⋅=⋅−=⋅−=⋅

=⋅

ulu

ull

uuu

uululululuul

uululul

uuu

, (24)

Page 6: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

6

czyli ostatecznie układy równań (20) przyjmą postać:

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

−−

−−⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

3

2

1

3

2

1

3

2

1

200410132

489

10

141012001

yyy

xxx

yyy

, (25)

a po wyznaczeniu z kolejnych równań niewiadomych 3,2,1 , =iyi oraz 1,2,3 , =ixi (26) znaj-dziemy ostateczne rozwiązanie problemu (22) w postaci (27):

213

611

10

101321141

6248141

912101

1

2

3

3

2

1

321

32

3

321

21

1

=−=−=

=−=

=

⇒⇒⇒⇒⇒⇒

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

=⋅−−=⋅+⋅+⋅−

=⋅+⋅=⋅

xxxy

yy

xxxxx

xyyy

yyy

. (27)

Przy okazji, korzystając z twierdzeń o wyznacznikach możemy zauważyć, że:

∏=

==⋅=⋅=n

iiiuUULULA

1

)det()det()det()det()det( . (28)

Metoda Choleskiego Metoda Choleskiego, podobnie jak metoda rozkładu L·U polega na zastąpieniu jednego układu równań o n niewiadomych opisanego macierzą pełną dwoma układami równań również o n nie-wiadomych, ale za to opisanymi macierzami trójkątnymi. Różnica w stosunku do metody rozkładu L·U polega na tym, że w metodzie Choleskiego macierz U jest transpozycją macierzy L. Z faktu te-go wynikają pewne ograniczenia na postać macierzy A , a mianowicie macierz ta musi być syme-tryczna ( TAA = ) oraz dodatnio określona ( 0>⋅⋅ XAX T dla każdego X takiego, że 0≠X , przypadek taki jest dość częsty w praktyce, np. przy rozwiązywaniu problemów inżynierskich Me-todą Elementów Skończonych). Wówczas:

TLLA ⋅= , (29)

i dalej, przez analogię do (19) i (20):

DXLLXA T =⋅⋅=⋅ , (30)

oraz:

DYLYXLT

=⋅=⋅

. (31)

Analogicznie do przypadku rozkładu L·U, w celu wyznaczenia elementów macierzy L posłużymy się zależnością (29). Jest ona źródłem 2n równań, z których jedynie nn ⋅+⋅ )1(2

1 jest niezależne i prowadzi do poniższych wzorów (32). Gdyby w trakcie obliczeń we wzorze (32)1 pod pierwiast-kiem pojawiła się liczba ujemna, oznacza to, że wyjściowa macierz A nie jest dodatnio określona i metody Choleskiego stosować nie można.

Page 7: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

7

1,...,2,11

,...,2,1

1

1

1

1

2

−=⋅⎟⎟⎠

⎞⎜⎜⎝

⎛⋅−=

=−=

∑−

=

=

jil

llal

njlal

jj

j

kjkikijij

j

kjkjjjj

. (32)

W celu lepszego zapoznania się z tokiem postępowania przy stosowaniu metody Choleskiego, roz-wiążmy przy jej zastosowaniu następujący układ równań:

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡−

046

1422222224

3

2

1

xxx

. (33)

Warunek (29) można tu przedstawić następująco:

A

L

lllll

lllllll

L

T

⎥⎥⎥

⎢⎢⎢

⎡−

⎥⎥⎥

⎢⎢⎢

⎡⎥⎥⎥

⎢⎢⎢

1422222224

000

000

333231

2221

11

33

2322

131211

, (34)

co prowadzi do następującego układu równań na wyznaczenie niewiadomych ijl :

23

111

2

142

222

4

33

3223

22

3113

2112

11

23323321331

23221321

2221221

1311

1211

211

===

===−==

=

⇒⇒⇒⇒⇒⇒

=+⋅+⋅=⋅+⋅

=+⋅=⋅

−=⋅=

lll

lll

lll

lllllllll

lllll

lll

. (35)

Ostatecznie układy równań (31) przyjmą w naszym przypadku postać:

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡ −⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡−

3

2

1

3

2

1

3

2

1

200310112

046

231011002

yyy

xxxyyy

, (36)

i podobnie jak w metodzie rozkładu L·U wyznaczając z kolejnych równań najpierw niewiadome 3,2,1 , =iyi a następnie 1,2,3 , =ixi znajdujemy rozwiązanie problemu (33) w postaci (37):

Page 8: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

8

310013

3112131

020231

41162

1

2

3

3

2

1

321

32

3

321

21

1

−=====−=

⇒⇒⇒⇒⇒⇒

−=⋅+⋅−⋅=⋅+⋅

=⋅=⋅+⋅+⋅

=⋅+⋅−−=⋅

xxxyy

y

xxxxx

xyyy

yyy

. (37)

Podobnie jak poprzednio, korzystając z twierdzeń o wyznacznikach, możemy stwierdzić, że:

2

1

2)det()det()det()det()det( ⎟⎠

⎞⎜⎝

⎛==⋅=⋅= ∏

=

n

iii

TT lLLLLLA . (38)

Metody iteracyjne

Każda metoda iteracyjna dotycząca rozwiązania problemu 0)( =XF , do poprawnego zdefiniowa-nia wymaga podania dwóch informacji: po pierwsze funkcji iteracyjnej, czasem nazywanej również schematem iteracyjnym, po drugie warunku lub warunków zakończenia obliczeń. Funkcja iteracyj-na służy do wyznaczenia kolejnego, lepszego w sensie pewnych norm, przybliżenia poszukiwanego rozwiązania problemu na podstawie przybliżenia poprzedniego natomiast warunki zakończenia ob-liczeń służą do stwierdzenia, czy ostatnio znalezione przybliżenie jest na tyle dobre, aby obliczenia zakończyć. O ile funkcja iteracyjna zależy ściśle od klasy problemu i metody jego rozwiązania, o tyle warunki zakończenia obliczeń zwykle należą do dwóch kategorii:

1. błąd zbieżności, rozumiany jako iloraz normy z zmiany rozwiązania X na ostatnio wykonanym kroku iteracyjnym i normy z bieżącego rozwiązania { }nX , gdzie { }n oznacza numer iteracji:

{ } { }

{ } zn

nn

εX

XX≤

− −1

; (39)

2. błąd residuum, rozumiany jako iloraz normy z wyrażenia )(XF obliczonej dla rozwiązania bie-żącego { }n i rozwiązania początkowego { }0 :

{ }( ){ }( ) r

n

εXF

XF≤0 . (40)

Dla zagadnienia (1), przy przyjęciu standardowej normy euklidesowej warunki (39) i (40) przyjmą odpowiednio postać:

1. błąd zbieżności:

{ } { }( )

{ }( )zn

i

ni

n

i

ni

ni

εx

xx≤

=

=

1

2

1

21

; (41)

Page 9: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

9

2. błąd residuum:

{ }

{ }

rn

i

n

jjjij

n

ij

n

j

njij

ε

dxa

dxa≤

⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅

⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅

∑ ∑

∑ ∑

= =

= =

1

2

1

0

1

2

1 . (42)

i będą one identyczne zarówno dla metody Jacobiego jak i dla metody Gaussa-Seidla. Istotnym z punktu widzenia praktycznego stosowania metody iteracyjnej jest jeszcze tak zwany warunek zbieżności, który podaje kryteria konieczne lub wystarczające zbieżności metody iteracyjnej. I tak w przypadku obydwu rozważanych tu metod wystarczającym, lecz nie koniecznym warunkiem zbieżności jest ścisłe zdominowanie przez diagonalę (warunek (43) spełniony dla każdego i ):

∑≠=

>n

ijj

ijii aa1

, (43)

lub dodatnia określoność macierzy A .

Metoda Jacobiego Schemat iteracyjny metody Jacobiego przedstawia się następująco:

{ } { }

⎟⎟⎟

⎜⎜⎜

+⋅−⋅= ∑≠=

−i

n

ijj

njij

ii

ni dxa

ax

1

11 . (44)

Warunki zakończenia obliczeń (41) i (42).

Dla lepszego przedstawienia toku postępowania prowadzącego do uzyskania wyniku zastosujmy metodę Jacobiego do rozwiązania zadania:

046

1422222

224

046

1422222224

321

321

321

3

2

1 −

===

⋅+⋅+⋅⋅+⋅+⋅−

⋅+⋅−⋅

⇒⇒⇒

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡−

xxxxxx

xxx

xxx

. (45)

W obliczeniach przyjmijmy punkt startowy (46). Jako kryterium zakończenia obliczeń przyjmijmy warunek 0001,0=== εεε rz .

{ }

{ }

{ }

{ } ⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

=000,0000,2500,1

03

02

01

0

xxx

X (46)

Schemat iteracyjny metody Jacobiego dla zadania (45) zgodnie z (44) dany jest zależnością (47):

{ }

{ }

{ }

{ } { }

{ } { }

{ } { } 02

271

171

31

23

321

221

13

12

11

+⋅−⋅−+−−⋅−⋅

===

+

+

+

ii

ii

ii

i

i

i

xxxx

xx

xxx

, (47)

co prowadzi do następujących rezultatów:

Page 10: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

10

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

++−

⋅⋅

+−−

−++

⋅−⋅=

⎥⎥⎥

⎢⎢⎢

=071,0500,0500,0

000,0000,2500,1

0000,1500,0

143,00

500,0

143,0000,1

00

3

03

02

02

01

01

13

12

11

1 xx

x

x

xx

xxx

X , (48)

{ } { }

{ } 539,21

01

=−

X

XX , (49)

{ }

{ } 727,00

1

=−⋅

−⋅

DXA

DXA , (50)

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

++−

⋅⋅

+−−

−++

⋅−⋅=

⎥⎥⎥

⎢⎢⎢

=000,0571,1214,1

000,0000,2500,1

0000,1500,0

143,00

500,0

143,0000,1

01

3

13

12

12

11

11

23

22

21

2 xx

x

x

xx

xxx

X , (51)

{ } { }

{ } 649,02

12

=−

X

XX , (52)

{ }

{ } 518,00

2

=−⋅

−⋅

DXA

DXA , (53)

ostatecznie po 64 iteracjach:

{ }

{ }

{ }

{ } ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

=000403,0001567,1998943,0

633

632

631

63

xxx

X , { }

{ }

{ }

{ } ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

=000375,0001460,1999015,0

643

642

641

64

xxx

X , (54)

{ } { }

{ } εX

XX<=

−000094,064

6364

, (55)

{ }

{ } εDXA

DXA<=

−⋅

−⋅000097,00

64

. (56)

Metoda Gaussa-Seidla

Schemat iteracyjny metody Gaussa-Seidla różni się od schematu iteracyjnego metody Jacobiego tym, że nowych wartości zmiennych ix zaczyna się używać natychmiast jak tylko staną się dostęp-ne (poczynając od kolejnego równania) a nie dopiero w następnej iteracji:

{ } { } { }⎟⎟⎠

⎞⎜⎜⎝

⎛+⋅−⋅−⋅= ∑∑

+=

−−

=i

n

ij

njij

i

j

njij

ii

ni dxaxa

ax

1

11

1

1 . (57)

Warunki zakończenia obliczeń (41) i (42) są takie same jak w metodzie Jacobiego.

Poniżej rozwiążemy zadanie (45), (46) ponownie, przy tych samych warunkach zakończenia obli-czeń, tym razem jednak posługując się metodą Gaussa-Seidla. Zgodnie z (57) schemat iteracyjny wygląda tu następująco:

Page 11: Układ Liniowych Równań Algebraicznych - Ogłoszeniamichal/pdfy/Metody11.pdf · to zamiast układu równań (1) o n niewiadomych otrzymamy dwa układy równań (20) również o

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

Wydział Inżynierii Lądowej Politechnika Krakowska

11

{ }

{ }

{ }

{ } { }

{ } { }

{ } { } 02

127

1117

1

31

1

23

321

221

13

12

11

+⋅−⋅−+−−⋅−⋅

===

++

+

+

+

+

ii

ii

ii

i

i

i

xxxx

xx

xxx

, (58)

co prowadzi do następujących rezultatów:

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

++−

⋅⋅

+−−

−++

⋅−⋅=

⎥⎥⎥

⎢⎢⎢

=143,0500,1500,0

000,0000,2500,1

0000,1500,0

143,00

500,0

143,0000,1

00

3

03

12

02

11

11

13

12

11

1 xx

x

x

xx

xxx

X , (59)

{ } { }

{ } 710,01

01

=−

X

XX , (60)

{ }

{ } 151,00

1

=−⋅

−⋅

DXA

DXA , (61)

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

++−

⋅⋅

+−−

−++

⋅−⋅=

⎥⎥⎥

⎢⎢⎢

=112,0464,1679,0

000,0000,2500,1

0000,1500,0

143,00

500,0

143,0000,1

01

3

13

22

12

21

21

23

22

21

1 xx

x

x

xx

xxx

X , (62)

{ } { }

{ } 114,02

12

=−

X

XX , (63)

{ }

{ } 029,00

2

=−⋅

−⋅

DXA

DXA , (64)

ostatecznie po 48 iteracjach:

{ }

{ }

{ }

{ } ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

=000194,0000790,1999433,0

473

472

471

47

xxx

X , { }

{ }

{ }

{ } ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

=000168,0000686,1999508,0

483

482

481

48

xxx

X (65)

{ } { }

{ } ε<=−

000093,048

4748

X

XX , (66)

{ }

{ } ε<=−⋅

−⋅000052,00

48

DXA

DXA . (67)

Jak widać, w przypadku rozważanego zadania metoda Gaussa-Seidla okazała się istotnie szybsza niż metoda Jacobiego (przy tej samej dokładności obliczeń zysk na liczbie iteracji jest równy 33%, przy praktycznie identycznym czasie wykonania jednej iteracji każdą z metod). Sytuacja taka jest zgodna z oczekiwaniami, ponieważ stosując na każdym kroku iteracyjnym najbardziej aktualne in-formacje o postaci wektora niewiadomych (metoda Gaussa-Seidla) należało oczekiwać przyspie-szenia obliczeń.