• Nie Znaleziono Wyników

Układ Liniowych Równań Algebraicznych

N/A
N/A
Protected

Academic year: 2021

Share "Układ Liniowych Równań Algebraicznych "

Copied!
11
0
0

Pełen tekst

(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

n a

j ij j i , 1,2,3 ,...,

1

=

=

=

..., (1) w którym oznaczono odpowiednio:

a - elementy macierzy głównej układu, ij

x - elementy wektora niewiadomych, j

d - elementy wektora prawej strony. i

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. m>n - nadokreślony układ równań, 2. m=n - oznaczony układ równań, 3. m<n - 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 a , miała wyznacznik różny od zera (ij det(A)≠0). 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:

(2)

⎥⎥

⎥⎥

⎢⎢

⎢⎢

=

mn mj

m

in ij

i

n j

a a

a

a a

a

a a

a

A

L

L M M

M

L

L M M

M

L L

1 1

1 1

11

,

⎥⎥

⎥⎥

⎢⎢

⎢⎢

=

n i

x x x X

M M1

,

⎥⎥

⎥⎥

⎢⎢

⎢⎢

=

n i

d d d D

M M1

. (3)

uwzględniając fakt, że m=n , 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

n nn nk

ni n

j jn jk

ji j

i in ik

ii i

n k

i

j

d a a

a a

d a a

a a

d a a

a a

d a a

a a

L L

L M M M M

M

L L

L M M M M

M L M L M L M M

M L L L

1 1 1

1 1 1

1 11

, (4)

⎥⎥

⎥⎥

⎢⎢

⎢⎢

n nn

i in ii

n i

d a

d a a

d a a

a

L

L M M M

M L M L M M

M L L

0 0

0

1 1 1

11

. (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 j=2,...,m , aby w pierwszej kolumnie pojawiło się w nich zero.

W tym celu dla każdego wiersza j wyznaczamy mnożnik mj1=−aj1 a11 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 j= i+1 , aż dojdziemy do kolumny n−1 i wiersza m . Ogólne wzory, pozwalające wyznaczyć nowe, zmienione wartości elementów tablicy (4) po wyeliminowaniu ele- mentu a w kolumnie i (patrz wzór (4)) mają postać: ji

n i

i k d m d d

n i

i j a m a a

n a i

m a

i ji j j

ik ji jk jk

ii ji ji

,..., 2 , 1

,..., 2 , 1

1 ,..., 2 , 1

+ +

=

⋅ +

=

+ +

=

⋅ +

=

=

=

. (6)

(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 x do n x1 :

ii n

i

j ij j

i

i d a x a

x 1

1

⎥⋅

⎢ ⎤

⎡ − ⋅

=

+

=

, i= nn, −1,...,1 . (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).

⎥⎥

⎢⎢

=⎡

⎥⎥

⎢⎢

⋅⎡

⎥⎥

⎢⎢

⎡− − −

43 0 1

2 31 13 42 2

3 2 1

x x x

. (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 , 4 000 , 1 000 , 2 000 ,

3,000 3,000 4,000 3,000 1,000 1,000 2,000 0,000 2

, (9)

mnożniki służące do wyeliminowania elementów a21 i a22 są równe odpowiednio:

500 , 2 1 3

500 , 2 0 1

11 31 31

11 21 21

=

=

=

=

=

=

a m a

a m a

(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 , 1,500 000 0

, 4 000 , 1 000 , 2 000 ,

31,,000000 31,,000000 42,,000000 03,,000000 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 , 4 000 , 4 500 , 0 000 ,

0,000 2,500 3,000 3,000 0,000 1,000 2,000 0,000 2

. (12)

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

200 , 500 0 , 2

500 , 0

22

32 32 =

= −

= a

m a , (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 , 000 0 , 4 000 , 4 500 , 0 000 ,

0,000 2,500 3,000 3,000 0,000 1,000 2,000 0,000 2

⎥×

⎢⎢

⎡ − −

. (14)

(4)

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

⎥⎥

⎢⎢

⎡ − −

600 , 4 600 , 4 000 , 0 000 ,

0,000 2,500 3,000 3,000 0,000 1,000 2,000 0,000 2

. (15)

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

000 , 1

000 , 0

000 , 1 000

, 0 000

, 2 000 , 1 000 , 2

000 , 3 000 , 3 500 , 2

600 , 4 600

, 4

1 2

3

3 2

1

3 2

3

===

⇒⇒

=

⋅ +

⋅ ⋅ + ⋅ =

− ⋅ =

x x

x x

x x

x x

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 (aii =0); 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:

U L

A= ⋅ , (17)

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

X U L X

A⋅ = ⋅ ⋅ = , (18)

jeżeli teraz wprowadzimy oznaczenie

(5)

Y X

U⋅ = , (19)

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

D Y L

Y X U

=

=

⋅ . (20)

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

n i

n i

i u k

u l a

l

n i

i k u l a

u

ii i j

ji kj ki

ki

i j

jk ij ik ik

,..., 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ą u lub ik l . ki

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

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

48 9 10

15 1 2

2 7 4

1 3 2

3 2 1

x x x

. (22)

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

A U

l l l

u u u

u u u

L

⎥⎥

⎢⎢

⎥⎥

⎢⎢

⎥⎥

⎢⎢

15 1 2

2 7 4

1 3 2 1 0 1

0 0 1

0 0 0

32 31 21

33 23 22

13 12 11

, (23)

co prowadzi do następującego zestawu równań na wyznaczenie niewiadomych u oraz ik l : ki

2 4

4 1 1 2

1 3 2

1 1

1 2 1

7 1

2 4 1 1

3 1

2 1

33 32

23 22 31 21 13 12 11

33 23

32 13 31

22 32 12 31

23 13

21

22 12

21

11 31

11 21

13 12 11

=

=

=

=

=

=

=

=

=

=

⋅ +

⋅ +

=

⋅ +

=

⋅ +

=

⋅ +

=

=

=

=

=

u l u u

l l u u u

u u

l u l

u l u l

u u

l

u u

l

u l

u l

u u u

, (24)

(6)

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

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

3 2 1

3 2 1 3 2 1

2 0 0

4 1 0

1 3 2

48 9 10 1

4 1

0 1 2

0 0 1

y y y

x x x y y y

, (25)

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

2 1 3 6

11 10

10 1

3 2

11 4

1

6 2

48 1

4 1

9 1

2

10 1

1 2 3 3 2

1

3 2 1

3 2

3 3 2 1

2 1

1

=

=

=

=

=

=

=

=

⋅ +

=

=

⋅ +

⋅ +

=

⋅ +

=

x x x y y

y

x x x

x x

x y y y

y y

y

. (27)

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

=

=

=

=

= n

i

uii

U U

L U

L A

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 (A=AT) oraz dodatnio określona (XTAX >0 dla każdego X takiego, że X ≠0 , przypadek taki jest dość częsty w praktyce, np. przy rozwiązywaniu problemów inżynierskich Me- todą Elementów Skończonych). Wówczas:

LT

L

A= ⋅ , (29)

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

D X L L X

A⋅ = ⋅ T⋅ = , (30)

oraz:

D Y L

Y X LT

=

=

⋅ . (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 n równań, z których jedynie 2 12⋅(n+1)⋅n 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.

(7)

1 ,..., 2 , 1 1

,..., 2 , 1

1 1

1 1

2

=

⎟⎟⋅

⎜⎜ ⎞

⎛ − ⋅

=

=

=

=

=

j l i

l l a l

n j

l a

l

jj j

k

jk ik ij

ij

j

k jk

jj jj

. (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ń:

⎥⎥

⎢⎢

⎡−

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

0 4 6

14 2 2

2 2 2

2 2 4

3 2 1

x x x

. (33)

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

A L

l l l

l l l

l l l

l l l

L

T

⎥⎥

⎢⎢

⎥⎥

⎢⎢

⎥⎥

⎢⎢

14 2 2

2 2 2

2 2 4 0 0 0

0 0 0

33 32 31

22 21 11

33 23 22

13 12 11

, (34)

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

2 3 1

1 1 2

14 2 2 2

2 4

33 32 23

22 31 13

21 12

11

2 33 23 32 13 31

23 22 13 21

2 22 12 21

13 11

12 11

2 11

=

=

=

=

=

=

=

=

=

= +

⋅ +

=

⋅ +

= +

=

=

=

l l l

l l l

l l

l

l l l l l

l l l l

l l l

l l

l l

l

. (35)

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

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

⎡ −

⎥⎥

⎢⎢

⎡−

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

3 2 1

3 2 1 3 2 1

2 0 0

3 1 0

1 1 2

0 4 6 2

3 1

0 1 1

0 0 2

y y y

x x x y y y

, (36)

i podobnie jak w metodzie rozkładu L·U wyznaczając z kolejnych równań najpierw niewiadome 3

, 2 , 1 , i=

yi a następnie 1xi , i=3,2, znajdujemy rozwiązanie problemu (33) w postaci (37):

(8)

3 1 0 0 1 3

3 1

1 2

1 3 1

0 2

0 2

3 1

4 1

1

6 2

1 2 3 3 2 1

3 2 1

3 2

3 3 2

1

2 1

1

=

=

=

=

=

=

=

⋅ +

=

⋅ +

=

=

⋅ +

⋅ +

=

⋅ +

=

x x x y y y

x x x

x x

x y y

y

y y

y

. (37)

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

2

1

)2

det(

) det(

) det(

) det(

)

det( ⎟

⎜ ⎞

=⎛

=

=

=

= n i

ii T

T L L L l

L L

A . (38)

Metody iteracyjne

Każda metoda iteracyjna dotycząca rozwiązania problemu F(X)=0 , 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 X , gdzie { }n

{ }

n oznacza numer iteracji:

{ } { }

{ }n z

n n

X ε X

X−1

; (39)

2. błąd residuum, rozumiany jako iloraz normy z wyrażenia )F( X obliczonej dla rozwiązania bie- żącego

{ }

n i rozwiązania początkowego

{ }

0 :

( )

{ }

( )

{ } r

n

X ε F

X

F 0 ≤ . (40)

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

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

{ } { }

( )

( )

{ } z

n i

n i n

i

n i n i

ε x

x x

=

=

1 2 1

1 2

; (41)

(9)

2. błąd residuum:

{ }

{ }

r n

i n

j ij j j

n i

j n

j

n j ij

ε d

x a

d x a

⎟⎟⎠

⎜⎜ ⎞

⎛ ⋅ −

⎟⎟⎠

⎜⎜⎝

⎛ ⋅ −

∑ ∑

∑ ∑

= =

= =

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

i j

j ij

ii a

a

1

, (43)

lub dodatnia określoność macierzy A .

Metoda Jacobiego

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

{ } { }

⎟⎟

⎜⎜

+

=

=

i n

i j j

n j ij ii

n

i a x d

x a

1

1 1

. (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:

0 4 6

14 2

2

2 2

2

2 2 4

0 4 6

14 2 2

2 2 2

2 2 4

3 2

1

3 2

1

3 2 1

3 2

1

=

=

=

⋅ +

⋅ +

⋅ +

⋅ +

⋅ +

⎥⎥

⎢⎢

⎡−

=

⎥⎥

⎢⎢

⎥⎥

⎢⎢

x x

x

x x

x

x x x

x x x

. (45)

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

{ } { } { }

{ } ⎥⎥⎥

⎢⎢

⎡−

=

⎥⎥

⎢⎢

=

000 , 0

000 , 2

500 , 1

0 3

0 2

0 1 0

x x x

X (46)

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

{ } { } { }

{ } { }

{ } { }

{ } { } 0

2

7 2 1 1

17

3 1

32 2 3

2 1 12

1 3

1 2

1 1

+

+

=

=

=

+ + +

i i

i i

i i

i i i

x x

x x

x x

x x x

, (47)

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

(10)

{ } { } { } { }

{ } { }

{ }

{ }

{ } { }

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

+ +

⋅ +

− + +

=

⎥⎥

⎢⎢

=

071 , 0

500 , 0

500 , 0 000

, 0

000 , 2

500 , 1 0

000 , 1

500 , 0 143

, 0

0 500 , 0 143

, 0

000 , 1

0

0 3

0 3

0 2

0 2

0 1

0 1 1

3 1 2

1 1

1 x

x

x x

x x x

x x

X , (48)

{ } { }

{ }1 2,539

0 1

− = X

X

X , (49)

{ }

{ }0 0,727

1

− =

D X A

D X

A , (50)

{ } { } { } { }

{ } { }

{ }

{ }

{ } { }

⎥⎥

⎢⎢

⎡−

=

⎥⎥

⎢⎢

+ +

⋅ +

− + +

=

⎥⎥

⎢⎢

=

000 , 0

571 , 1

214 , 1 000

, 0

000 , 2

500 , 1 0

000 , 1

500 , 0 143

, 0

0 500 , 0 143

, 0

000 , 1

0

1 3

1 3

1 2

1 2

1 1

1 1 2

3 2 2

2 1

2 x

x

x x

x x x

x x

X , (51)

{ } { }

{ }2 0,649

1 2

− = X

X

X , (52)

{ }

{ }0 0,518

2

− =

D X A

D X

A , (53)

ostatecznie po 64 iteracjach:

{ }

{ } { }

{ } ⎥⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

=

000403 ,

0

001567 ,

1

998943 ,

0

63 3

63 2

63 1 63

x x x

X , { }

{ } { }

{ } ⎥⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

=

000375 ,

0

001460 ,

1

999015 ,

0

64 3

64 2

64 1 64

x x x

X , (54)

{ } { }

{ } ε

X X

X − = <

000094 ,

64 0

63 64

, (55)

{ }

{ } ε

D X A

D X

A = <

0 0,000097

64

. (56)

Metoda Gaussa-Seidla

Schemat iteracyjny metody Gaussa-Seidla różni się od schematu iteracyjnego metody Jacobiego tym, że nowych wartości zmiennych xi 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 i j

n j ij i

j

n j ij ii

n

i a x a x d

x a

1 1 1

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:

(11)

{ } { } { }

{ } { }

{ } { }

{ } { } 0

2

1 7 2 1 1 7 1 1

3 1

1

32 2 3

2 1 12

1 3

1 2

1 1

+

+

=

=

=

+ +

+ +

+ +

i i

i i

i i

i i i

x x

x x

x x

x x x

, (58)

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

{ } { } { } { }

{ } { }

{ }

{ }

{ } { }

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

+ +

⋅ +

− + +

=

⎥⎥

⎢⎢

=

143 , 0

500 , 1

500 , 0 000

, 0

000 , 2

500 , 1 0

000 , 1

500 , 0 143

, 0

0 500 , 0 143

, 0

000 , 1

0

0 3

0 3

1 2

0 2

1 1

1 1 1

3 1 2

1 1

1 x

x

x x

x x x

x x

X , (59)

{ } { }

{ }1 0,710

0 1

− = X

X

X , (60)

{ }

{ }0 0,151

1

− =

D X A

D X

A , (61)

{ } { } { } { }

{ } { }

{ }

{ }

{ } { }

⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

+ +

⋅ +

− + +

=

⎥⎥

⎢⎢

=

112 , 0

464 , 1

679 , 0 000

, 0

000 , 2

500 , 1 0

000 , 1

500 , 0 143

, 0

0 500 , 0 143

, 0

000 , 1

0

1 3

1 3

2 2

1 2

2 1

2 1 2

3 2 2

2 1

1 x

x

x x

x x x

x x

X , (62)

{ } { }

{ }2 0,114

1 2

− = X

X

X , (63)

{ }

{ }0 0,029

2

− =

D X A

D X

A , (64)

ostatecznie po 48 iteracjach:

{ }

{ } { }

{ } ⎥⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

=

000194 ,

0

000790 ,

1

999433 ,

0

47 3

47 2

47 1 47

x x x

X , { }

{ } { }

{ } ⎥⎥⎥

⎢⎢

=

⎥⎥

⎢⎢

=

000168 ,

0

000686 ,

1

999508 ,

0

48 3

48 2

48 1 48

x x x

X (65)

{ } { }

{ } = <ε

48 0,000093

47 48

X X

X , (66)

{ }

{ } = <ε

0 0,000052

48

D X A

D X

A . (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ń.

Cytaty

Powiązane dokumenty

Przekształcenie polega na tym, że równania, których współczynniki „nie mieszczą” się w minorze zostają skreślone, zaś zmienne, których współczynniki

Jeśli jednak liczby na diagonali macierzy L są dodatnie wówczas rozkład jest jednoznaczny, a elementy macierzy wyznaczamy ze wzorów.. Nakład obliczeń dla rozkładu

W dalszych rozważaniach zakładamy że macierz A jest symetryczna i dodatniookreślona, wówczas możemy użyć formy kwadratowej postaci. która ma minimum w

W dalszych rozważaniach zakładamy że macierz A jest symetryczna i dodatniookreślona, wówczas możemy użyć formy kwadratowej postaci. która ma minimum w

Algorytm metody CG można przedstawić w alternatywnej postaci, gdzie wymagamy tylko jednego mnożenia macierz-wektor:. Maksymalna liczba iteracji w metodzie CG wynosi n+1 – więc

Struktura zbioru rozwiązań układu

Proszę zapoznajcie się z filmem dydaktycznym poświeconym rozwiązywaniu układów równań metodą graficzną, link do filmu

b jest róŜna od zera, to układ nazywamy układem równań liniowych niejednorodnych... Rozwiązaniem układu równań liniowych nazywamy taki zbiór wartości niewiadomych,