Metody Numeryczne Rozwiązywanie układów równań liniowych

Preview:

Citation preview

Metody NumeryczneRozwiązywanie układów równań liniowych

Wojciech Szewczuk

Wojciech Szewczuk MN

Równania liniowe

Układ n równań liniowych z n niewiadomymi x1, x2, ..., xn można zapisać następująco:

a11x1 + a12x2 + ...+ a1nxn = b1

a21x1 + a22x2 + ...+ a2nxn = b2

.................................................

an1x1 + an2x2 + ...+ annxn = bn

aij , bi i rozwiązanie x1, x2, ..., xn są liczbami rzeczywistymi.Układ w formie macierzowej można wyrazić następująco:

a11 a12 . . . a1na21 a22 . . . a2n

......

. . ....

an1 an2 . . . ann

Ax = b

Wojciech Szewczuk MN

Własności macierzy

ilość wierszy, m, × ilość kolumn, n – rozmiar macierzy

maciecrz 1× n – wektor wierszowy

maciecrz m × 1 – wektor kolumnowy

macierz n × n – macierz kwadratowa o stopniu n

aij lub (A)ij – element znajdujący się na przecięciu i-tego wiersza i j-tej kolumny

(aij ) – macierz o elementach aij

AT – macierz transponowana – (AT)ij = aji

A = AT – macierz symetryczna

maciecrz stopnia n I =

1 0 . . . 00 1 . . . 0...

.... . .

...0 0 . . . 1

– macierz jednostkowa

IA = A = AI

Wojciech Szewczuk MN

Własności macierzy

λA, gdzie λ jest skalarem, a A maciecrzą zdefiniowana jest wzorem (λA)ij = λaij

suma dwóch macierzy (m× n) A+B określona jest wzorem (A+B)ij = aij + bij

iloczyn macierzy A o rozmiarze m × p i macierzy B o rozmiarze p × n jestmacierzą o rozmiarze m × n określoną wzorem

(AB)ij =p∑

k=1

aikbkj (1 ≤ i ≤ m, 1 ≤ j ≤ n)

mnożenie macierzy nie jest przemienne AB 6= BA

Wojciech Szewczuk MN

Własności macierzy

Wyznacznik

Definicja 1

Wyznacznikiem macierzy kwadratowej A,

A =

a11 a12 . . . a1na21 a22 . . . a2n

......

. . ....

an1 an2 . . . ann

nazywamy liczbę

detA =∑f

(−1)If a1α1a2α2 ...anαn ,

gdzie∑

f oznacza sumowanie po wszystkich permutacjach liczb naturalnych 1, 2, ..., n,a If to liczba inwersji w permutacji f .

Definicja ma niewielkie znaczenie praktyczne

Wojciech Szewczuk MN

Własności macierzy

Przykład 1

Obliczanie wyznacznika macierzy z definicji

n = 1 det(a11) = a11

n = 2możliwe permutacje: 1, 2 If = 0

2, 1 If = 1

detA =

∣∣∣∣ a11 a12

a21 a22

∣∣∣∣ = (−1)0a11a22 + (−1)1a12a21 =

= a11a22 − a12a21

Wojciech Szewczuk MN

Własności macierzy

można policzyć wyznacznik z rozwinięcia Laplace’a wzdłuż i-tego wiersza lubj-tej kolumny,

detA =n∑

j=1

aijAij ,

detA =n∑

j=1

ajkAjk ,

gdzie Aij jest dopełnieniem algebraicznym elementu aij macierzy A.

rozwinięcie Laplace’a wymaga n! mnożeń

praktyczne zastosowanie ma tylko dla małych n

Definicja 2

Dopełnienie algebraiczne elementu aij macierzy kwadratowej A stopnia n jest toiloczyn (−1)i+j oraz minora Mij , czyli wyznacznika podmacierzy stopnia n − 1powstałego z usunięcia i-tego wiersza oraz j-ej kolumny macierzy A.

Wojciech Szewczuk MN

Własności macierzy

UkładyAx = b

Bx = d

są równoważne, jeśli mają identyczne rozwiązania. Dzięki tej własności dany układrównań możemy przekształcić za pomocą pewnych elementarnych operacji na prostszyukład równoważny i dopiero ten rozwiązujemy.

Operacje elementarne:

1 przestawienie dwóch równań w układzie: Ei ↔ Ej (Ei oznacza i-te równanie)

2 pomnożenie obu stron przez liczbę różną od zera: λEi → Ei3 dodanie stronami do równania wielokrotności innego równania: Ei + λEj (i 6= j)

Wojciech Szewczuk MN

Własności macierzy

Twierdzenie 1

Jeśli układ równań wynika z innego układy przez skończony ciąg operacjielementarnych, to te dwa układy są równoważne.

Wojciech Szewczuk MN

Własności macierzy

AB = I

B jest prawą odwrotnością macierzy A

A jest lewą odwrotnością macierzy B

jeśli maciecrz ma prawą odwrotność, to nie musi być ona określonajednoznacznie, np.

[1 0 00 1 0

] 1 00 1α β

=

[1 00 1

]

Wojciech Szewczuk MN

Własności macierzy

Twierdzenie 2

Macierz kwadratowa ma co najwyżej jedną prawą odwrotność.

DowódWeźmy

AB = I

Oznaczmy j-tą kolumnę macierzy A przez A(j). Z AB = I mamy

n∑j=1

bjkA(j) = I(k) (1 ≤ k ≤ n).

Każda kolumna I jest więc kombinacją liniową kolumn A. Ponieważ kolumny macierzyjednostkowej są bazą przestrzeni Rn, więc to samo jest prawdą dla kolumn A. Z tegowynika, że współczynniki bjk w powyższych równościach są określone jednoznacznie.

Wojciech Szewczuk MN

Własności macierzy

Twierdzenie 3

Jeśli A i B są macierzami kwadratowymi takimi, że AB = I, to BA = I.

DowódWeźmy C = BA− I+ BAC = ABA− AI+ AB = A− A+ I = IC (podobnie jak B) jest więc prawą odwrotnością A. Z Twierdzenia 2 C = B, czyli

B = BA− I+ B

BA = I

Wojciech Szewczuk MN

Własności macierzy

odwrotność macierzy A (macierz odwrotną) oznaczamy A−1

jeśli macierz kwadratowa ma macierz odwrotną to jest nieosobliwa

jeśli macierz A jest nieosobliwa, to układ równań

Ax = b

ma rozwiązaniex = A−1b

Odwrotność A−1 pozwala znaleźć wektor x. Nie należy jednak rozwiązywaćukładów równań w ten sposób. Istnieją metody, które są efektywniejsze i dajądokładniejsze wyniki.

Wojciech Szewczuk MN

Własności macierzy

Twierdzenie 4

Jeśli A jest macierzą nieosobliwą, to macierz

A−1 =1

detAAD

jest macierzą odwrotną do macierzy A.

Macierzą dołączaną AD macierzy kwadratowej A = (aik ) nazywamy macierztransponowaną macierzy utworzonej z dopełnień algebraicznych elementów macierzyA, tzn.

AD =

A11 A21 . . . An1A11 A22 . . . An2

......

. . ....

A1n A2n . . . Ann

gdzie Aik jest dopełnieniem algebraicznym elementu aik .UWAGA! Istnieją efektywniejsze sposoby wyznaczania macierzy odwrotnych.

Wojciech Szewczuk MN

Własności macierzy

Przykład 2

Oblicz macierz odwrotną do macierzy

A =

1 0 −10 2 −3−4 1 3

A =

∣∣∣∣∣∣1 0 −1 1 00 2 −3 0 2−4 1 3 −4 1

∣∣∣∣∣∣detA =1∗2∗3+0∗(−3)∗(−4)+(−1)∗0∗1−((−1) ∗ 2 ∗ (−4) + 1 ∗ (−3) ∗ 1 + 0 ∗ 0 ∗ 3) = 1

Wojciech Szewczuk MN

Własności macierzy

Przykład c.d.

Obliczamy dopełnienia algebraiczne elementów macierzy A:

A11 =∣∣∣∣ 2 −3

1 3

∣∣∣∣ = 9

A12 = −∣∣∣∣ 0 −3−4 3

∣∣∣∣ = 12

A13 =∣∣∣∣ 0 2−4 1

∣∣∣∣ = 8

A21 = −∣∣∣∣ 0 −1

1 3

∣∣∣∣ = −1

...

Wojciech Szewczuk MN

Własności macierzy

Przykład c.d.

AD =

9 −1 212 −1 38 −1 2

A−1 =1

1∗

9 −1 212 −1 38 −1 2

Wojciech Szewczuk MN

Własności macierzy

operacje elementarne możemy traktować jako mnożenie macierzy

macierzą elementarną jest macierz stopnia n, która powstaje z macierzy

jednostkowej stopnia n przez wykonanie którejś z operacji elementarnych1 zamiana dwóch wierszy: As ↔ At2 mnożenie wiersza przez niezerową stałą: λAs → As3 dodawanie do wiersza wielokrotności innego wiersza: As + λAt → As

Wojciech Szewczuk MN

Własności macierzy

Każdą z operacji z poprzedniego slajdu można wykonać, mnożąc macierz A z lewejstrony przez pewną macierz elementarną.

Przykład 3 1 0 00 0 10 1 0

a11 a12 a13a21 a22 a23a31 a32 a33

=

a11 a12 a13a31 a32 a33a21 a22 a23

1 0 0

0 λ 00 0 1

a11 a12 a13a21 a22 a23a31 a32 a33

=

a11 a12 a13λa21 λa22 λa23a31 a32 a33

1 0 0

0 1 00 λ 1

a11 a12 a13a21 a22 a23a31 a32 a33

=

a11 a12 a13a21 a22 a23

λa21 + a31 λa22 + a32 λa23 + a33

Wojciech Szewczuk MN

Własności macierzy

EmEm−1...E2E1A – ciąg operacji elementarnych na A

jeśli maciecrz jest nieosobliwa, to stosując do niej ciąg operacji elementarnychmożemy ją zredukować do I

EmEm−1...E2E1A = I

A−1 = EmEm−1...E2E1I – odwrotność A−1 można otrzymać stosując do I tensam ciąg operacji

Wojciech Szewczuk MN

Własności macierzy

Przykład 4

Oblicz macierz odwrotną do macierzy

A =

1 0 −10 2 −3−4 1 3

za pomocą przekształceń elementarnych.Dostawiamy do A macierz jednostkową

A =

1 0 −1 1 0 00 2 −3 0 1 0−4 1 3 0 0 1

Wojciech Szewczuk MN

Własności macierzy

Przykład c.d.

Stosując przekształcenia elementarne dążymy po lewej stronie do macierzyjednostkowej

A =

1 0 −1 1 0 00 2 −3 0 1 00 1 −1 4 0 1

w3 + 4w1

A =

1 0 −1 1 0 00 0 −1 −8 1 −20 1 −1 4 0 1

w2 − 2w3

A =

1 0 −1 1 0 00 0 −1 −8 1 −20 1 −1 4 0 1

w2 ∗ (−1) w2 ↔ w3

A =

1 0 −1 1 0 00 1 −1 4 0 10 0 1 8 −1 2

w2 ∗ (−1) w2 ↔ w3

Wojciech Szewczuk MN

Własności macierzy

Przykład c.d.

A =

1 0 0 9 −1 20 1 0 12 −1 30 0 1 8 −1 2

w2 + w3 w1 + w3

Ostatecznie

A−1 =

9 −1 212 −1 38 −1 2

Wojciech Szewczuk MN

Własności macierzy

Twierdzenie 5

Dla macierzy kwadratowej A stopnia n następujące własności są równoważne:

1 Istnieje odwrotność macierzy A, czyli ta macierz jest nieosobliwa.

2 Wyznacznik macierzy A jest różny od 0.

3 Wiersze macierzy A tworzą bazę przestrzeni Rn.

4 Kolumny macierzy A tworzą bazę przestrzeni Rn.

5 Odwzorowanie Rn na Rn określone przez macierz A jest iniekcją (jest wzajemniejednoznaczne).

6 Odwzorowanie z 5 jest suriekcją (odwzorowanie „na”).

7 Z równości Ax = 0 wynika, że x = 0.

8 Dla każdego b ∈ Rn istnieje dokładnie jedno x ∈ Rn takie, że Ax = b.9 Macierz A jest iloczynem macierzy elementarnych.

10 Liczba 0 nie jest wartością własną macierzy A.

Wojciech Szewczuk MN

Własności macierzy

Definicja 3

Macierz A jest dodatnio określona, jeśli xTAx > 0 dla każdego niezerowego wektorax ∈ Rn. xTAx nazywamy formą kwadratową.

Przykład 5

A =

[2 11 2

]

xTAx =[

x1 x2] [ 2 1

1 2

] [x1x2

]= (x1 + x2)2 + x2

1 + x22 > 0,

jeśli x1 6= 0 lub x2 6= 0.

W praktyce z definicji nie jest łatwo ustalić, czy macierz jest dodatnio określona.

Definicja 4

Macierz A jest dodatnio półokreślona, jeśli xTAx ≥ 0 dla każdego x ∈ Rn.

Wojciech Szewczuk MN

Własności macierzy – macierze blokowe

Macierze można podzielić na podmacierze (bloki) i mnożyć macierze tak, jakby blokibyły liczbami:

1 2 1 −1 0 1−1 1 1 0 −1 10 1 −1 1 0 11 −1 0 0 1 01 0 1 2 1 0

1 0 1 2 1−1 1 2 0 11 0 1 1 2−1 1 0 0 12 1 0 −2 10 1 1 −1 1

=

1 2 7 2 5−3 1 3 0 2−3 3 2 −2 14 0 −1 0 12 3 2 1 6

Bloki możemy oznaczyć symbolami i powyższą równość przepisać w formie:[A11 A12A21 A22

] [B11 B12B21 B22

]=

[C11 C12C21 C22

]

Cij =2∑

s=1

AisBsj

np.

C11 = A11B11 + A12B21 =[

1 2] [ 1 0 1−1 1 2

]+[

1 −1 0 1]

1 0 1−1 1 02 1 00 1 1

=

=[

1 2 7]

Wojciech Szewczuk MN

Własności macierzy – macierze blokowe

Twierdzenie 6

Przyjmijmy, że macierze A, B, C są podzielone na bloki w następujący sposób

A =

A11 A12 . . . A1nA21 A22 . . . A2n

.

.

....

. . ....

An1 An2 . . . Ann

B =

B11 B12 . . . B1nB21 B22 . . . B2n

.

.

....

. . ....

Bn1 Bn2 . . . Bnn

C =

C11 C12 . . . C1nC21 C22 . . . C2n

.

.

....

. . ....

Cn1 Cn2 . . . Cnn

Jeśli każdy z iloczynów AisBsj jest określony i jeśli Cij =

∑ns=1 AisBsj to C = AB.

Wojciech Szewczuk MN

Układy równań liniowych

a11 a12 . . . a1n

a21 a22 . . . a2n....... . .

...an1 an2 . . . ann

x1

x2...xn

=

b1

b2...bn

Ax = b

Wojciech Szewczuk MN

Układy równań liniowych

Układ z macierzą przekątniowąa11 0 . . . 00 a22 . . . 0...

.... . .

...0 0 . . . ann

x1x2...xn

=

b1b2...bn

x =

b1/a11b2/a22

...bn/ann

jeśli dla pewnego i jest aii = 0 i bi = 0, to xi może być dowolną liczbą

jeśli aii = 0 i bi 6= 0, to układ nie ma rozwiązań

Wojciech Szewczuk MN

Układy równań liniowych

Układ z macierzą trójkątną dolnąa11 0 . . . 0a21 a22 . . . 0

......

. . ....

an1 an2 . . . ann

x1x2...xn

=

b1b2...bn

załóżmy aii 6= 0

z pierwszego równania wyznaczmy x1

znane już x1 możemy podstawić do drugiego równania i wyznaczyć x2

postępując analogicznie możemy wyznaczyć kolejno x3, x4, ..., xn

otrzymaliśmy algorytm nazywany podstawieniem w przód

Wojciech Szewczuk MN

Układy równań liniowych – podstawienie w przód

input n, (aij ), (bi )for i = 1 to n do

xi ← (bi −∑i−1

j=1 aij xj )/aiiend dooutput (xi )

Wojciech Szewczuk MN

Układy równań liniowych – podstawienie wstecz

Układ z macierzą trójkątną górnąa11 a12 . . . a1n0 a22 . . . a2n...

.... . .

...0 0 . . . ann

x1x2...xn

=

b1b2...bn

input n, (aij ), (bi )for i = n to 1 step −1 do

xi ← (bi −∑n

j=i+1 aij xj )/aiiend dooutput (xi )

Wojciech Szewczuk MN

Układy równań liniowych – rozkład LU

Jeśli macierz A można wyrazić jako iloczyn maciecrzy trójkątnej dolenj L i trójkątnejgórnej U

L =

l11 0 . . . 0l21 l22 . . . 0...

.... . .

...ln1 ln2 . . . lnn

U =

u11 u12 . . . u1n0 u22 . . . u2n...

.... . .

...0 0 . . . unn

A = LU

to rozwiązanie układu równańAx = b

można podzielić na dwa etapy

rozwiązanie Lz = b względem z

rozwiązanie Ux = z względem x

Wojciech Szewczuk MN

Układy równań liniowych

nie każda macierz A ma rozkład LU

równość A = LU nie określa czynników L i U jednoznaczne

dla każdego i można wybrać dowolną wartość różną od 0 dla jednej z liczb lii ,uii (ale nie obu)

w szczególności można przyjąć, że lii = 1 lub uii = 1 dla każdego i (dostaniemyodpowiednio macierz jedynkową trójkątną dolną lub macierz jedynkowątrójkątną górną)

Wojciech Szewczuk MN

Rozkład LU

Istnieją różne wersje rozkładów LU

Doolittle’a

Crouta

Cholesky’ego

Eliminacja Gaussa

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Rozważmy układ: 6 −2 2 4

12 −8 6 103 −13 9 3−6 4 1 −18

x1x2x3x4

=

123427−38

odejmijmy stronami pierwsze równanie pomnożone przez 2 od drugiego

odejmijmy stronami pierwsze równanie pomnożone przez 12 od trzeciego

odejmijmy stronami pierwsze równanie pomnożone przez −1 od czwartego

liczby 2, 12 , −1 nazywamy mnożnikami dla pierwszego kroku eliminacji

liczbę 6 używaną jako dzielnik przy obliczaniu 2, 12 , −1 nazywamy elementem

głównym

pierwszy wiersz w pierwszym kroku nazywamy wierszem głównym

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Po wykonaniu pierwszego kroku otrzymamy6 −2 2 40 −4 2 20 −12 8 10 2 3 −14

x1x2x3x4

=

121021−26

w drugim kroku wierszem głównym jest wiersz drugi

elementem głównym jest liczba −4

w drugim kroku mnożnikami są liczby 3 i − 12

odejmijmy wiersz drugi pomnożony przez 3 od trzeciego

odejmijmy wiersz drugi pomnożony przez − 12 od czwartego

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Po wykonaniu drugiego kroku otrzymamy6 −2 2 40 −4 2 20 0 2 −50 0 4 −13

x1x2x3x4

=

1210−9−21

w trzecim, ostatnim kroku wierszem głównym jest wiersz trzeci

elementem głównym jest liczba 2

mnożnikiem jest liczba 2

odejmijmy wiersz trzeci pomnożony przez 2 od czwartego

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Ostatecznie otrzymamy układ o macierzy trójkątnej górnej6 −2 2 40 −4 2 20 0 2 −50 0 0 −3

x1x2x3x4

=

1210−9−3

x =

1−3−21

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Mnożniki użyte do przekształcenia układu są elementami macierzy jedynkowejtrójkątnej dolnej (każdy mnożnik występuje na pozycji zera w macierzy układu, doktórego powstania posłużył):

L =

1 0 0 02 1 0 012 3 1 0−1 − 1

2 2 1

U =

6 −2 2 40 −4 2 20 0 2 −50 0 0 −3

A = LU

6 −2 2 4

12 −8 6 103 −13 9 3−6 4 1 −18

=

1 0 0 02 1 0 012 3 1 0−1 − 1

2 2 1

6 −2 2 40 −4 2 20 0 2 −50 0 0 −3

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

macierz Ak+1 powstaje w k-tym kroku eliminacji Gaussa

aby otrzymać zera w k-tej kolumnie pod elementem głównym a(k)kk , odejmujemy

odpowiednie wielokrotności k-tego wiersza od wierszy leżących niżej (wiersze1, 2, ..., k pozostają bez zmian)

a(k+1)ij =

a(k)ij gdy i ≤ k

a(k)ij − (a

(k)ik /a

(k)kk )a

(k)kj gdy i ≥ k + 1, j ≥ k + 1

0 gdy i ≥ k + 1, j ≤ k

U = A(n)

L określamy

lik =

a(k)ik /a

(k)kk gdy i ≥ k + 1

1 gdy i = k0 gdy i ≤ k − 1

eliminacja załamuje się, jeśli któryś z elementów głównych znika

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa

Twierdzenie 7

Jeśli wszystkie elementy główne a(k)kk są różne od zera, to A = LU

Dowód

a(k+1)ij = a

(k)ij gdy i ≤ k lub j ≤ k − 1

ukj = a(n)kj = a

(k)kj

lik = 0 gdy k > iukj = 0 gdy k > jgdy i ≤ j

(LU)ij =n∑

k=1

likukj =i∑

k=1

liku(k)kj =

i∑k=1

lika(k)kj =

i−1∑k=1

lika(k)kj + liia

(i)ij =

=

i−1∑k=1

(a(k)ik /a

(k)kk )a

(k)kj + a

(i)ij =

i−1∑k=1

(a(k)ij − a

(k+1)ij ) + a

(i)ij = a

(1)ij = aij

gdy i > j

(LU)ij =

j∑k=1

lika(k)kj =

j∑k=1

(a(k)ij − a

(k+1)ij ) = a

(1)ij − a

(j+1)ij = a

(1)ij = aij

bo a(k)ij = 0 dla i ≥ j + 1 i k ≥ j + 1.

Wojciech Szewczuk MN

Podstawowa eliminacja Gaussa – algorytm

input n, (aij )for k = 1 to n − 1 do

for i = k + 1 to n doz ← aik/akkaik ← 0for j = k + 1 to n doaij ← aij − zakj

end doend do

end dooutput (aij )

Wojciech Szewczuk MN

Eliminacja Gaussa – elementy główne

Rozważmy układ [0 11 1

] [x1

x2

]=

[12

]

Wojciech Szewczuk MN

Eliminacja Gaussa – elementy główne

Rozważmy układ [ε 11 1

] [x1x2

]=

[12

],

gdzie ε jest małą liczbą i ε 6= 0. Stosując algorytm Gaussa otrzymamy[ε 10 1− ε−1

] [x1x2

]=

[1

2− ε−1

],

x2 = (2− ε−1)/(1− ε−1), x1 = (1− x2)ε−1

w obliczeniach komputerowych, gdy ε jest dostatecznie małe

2− ε−1 = 1− ε−1 = ε−1 ⇒ x2 = 1 x1 = 0

rozwiązanie dokładne x1 = 11−ε ≈ 1, x2 = 1−2ε

1−ε ≈ 1

Wojciech Szewczuk MN

Eliminacja Gaussa – elementy główne

problemy powoduje nie to, że element główny jest mały, ale że jest taki wporównaniu z innymi elementami wiersza w jakim się znajduje

kłopoty znikają po przestawieniu równań[1 1ε 1

]=

[x1x2

]=

[21

]z eliminacji dostaniemy[

1 10 1− ε

]=

[x1x2

]=

[2

1− 2ε

]x2 = 1 i x1 = 2− x2 = 1

Wojciech Szewczuk MN

Eliminacja Gaussa – algorytm

dobry algorytm musi uwzględniać przestawianie równań układu

nie przenosimy wierszy w pamięci komputera, ale inaczejwybieramy wiersze główne. Zamiast naturalnego porządku1, 2, ..., n − 1, wybieramy wiersze o wskaźnikachp1, p2, ..., pn−1, gdzie (p1, p2, ..., pn−1) jest pewną permutacjązbioru (1, 2, ..., n).

Wojciech Szewczuk MN

Eliminacja Gaussa – algorytm

input n, (aij ), (pi )for k = 1 to n − 1 do

for i = k + 1 to n doz ← api k

/apk kapi k← 0

for j = k + 1 to n doapi j← api j

− zapk jend do

end doend dooutput (aij )

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych

Ax = b

szukamy pewnej permutacji (p1, p2, ..., pn) zbioru (1, 2, ..., n) i rozkładu

LU = PA,

gdzie P jest taka, że (P)ij = δpi j

Lz = Pb

Ux = z

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych

wyznaczamy skalę każdego wiersza

si = max1≤j≤n

|aij | (1 ≤ i ≤ n)

tworzymy startowy wariant (1, 2, ..., n) permutacji (p1, p2, ..., pn)

w pierwszym kroku rozkładu wyznaczamy pierwszy wiersz główny – ten dlaktórego |ai1|/si jest największe (załóżmy, że jego wskaźnikiem jest j)

w tablicy p przestawiamy p1 z pj

teraz p1 jest wskaźnikiem wybranego wiersza głównego ⇒ |ap11|/sp1 ≥ |ai1|/sidla 1 ≤ i ≤ n

odejmujemy odpowiednie wielokrotności wiersza głównego od pozostałychwierszy macierzy A

w dalszych obliczenia wiersz p1 nie zmienia się

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych

załóżmy, że po k − 1 przekształceniach A chcemy wyzerować jej k-tą kolumnę

wybieramy największą z liczb |api k |/spi dla k ≤ i ≤ n (załóżmy, że jej wskaźnikto j)

przestawiamy pk z pj

odejmujemy wiersz pk pomnożony przez api k/apkk od wiersz pi (k + 1 ≤ i ≤ n)

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych

Przykład 6

A =

2 3 −61 −6 83 −2 1

p = (1, 2, 3)

s = (6, 8, 3)

z ilorazów 2/6, 1/8, 3/3 największy jest trzeci

pierwszym wierszem głównym będzie wiersz trzeci

przestawiamy p1 z p3 ⇒ p = (3, 2, 1)

od wierszy pierwszego i drugiego odejmujemy takie wielokrotności wierszatrzeciego, aby wyzerować w nich elementy pierwszej kolumny 2

3133 − 20

313 − 16

3233

3 −2 1

liczby na niebiesko są mnożnikami

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych

Przykład 7

c.d.

w kolejnym kroku wybór wiersza głównego zależy od:

|ap22|/sp2 =163 /8 = 2/3

|ap32|/sp3 =133 /6 = 13/18

większa jest ta druga, j = 3 i przestawiamy p2 z p3

p = (3, 1, 2) 23

133 − 20

313 − 16

13 − 713

3 −2 1

P =

0 0 11 0 00 1 0

PA =

3 −2 12 3 −61 −6 8

=

1 0 023 1 013 − 16

13 1

3 −2 10 13

3 − 203

0 0 − 713

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych – algorytm

Algorytm rozkładu dla eliminacji Gaussa ze skalowalnym wyborem wierszy głównych:input n, (aij )for i = 1 to n do

pi ← isi ← max

1≤j≤n|aij |

end dofor k = 1 to n − 1 do

wybór takiego j ≥ k, że|apj k |/spj ≥ |api k |/spi dla i = k, k + 1, ..., n

pk ↔ pjfor i = k + 1 to n doz ← api k

/apk kapi k← z

for j = k + 1 to n doapi j← api j

− zapk jend do

end doend dooutput (aij ), (pi )

Wojciech Szewczuk MN

Skalowany wybór wierszy głównych – algorytm

Rozwiązanie Ax = b po znalezieniu PA = LU wyznaczamy za pomocą:

input n, (aij ), (pi ), (bi )for k = 1 to n − 1 do

for i = k + 1 to n dobpi ← bpi − api k

bpkend do

end dofor i = n to 1 step -1 do

xi ← (bpi −∑n

j=i+1 api jxj )/api i

end dooutput (xi )

pierwsza część rozwiązuje układ Lz = Pb

druga część rozwiązuje układ Ux = z

Wojciech Szewczuk MN

Wybór elementów głównych

częściowy wybór elementów głównych polega na tym, że k-ty z nich jest tymspośród n − k + 1 elementów dolnej części k-tej kolumny A(k), który manajwiększą wartość bezwzględną

pełny wybór elementów głównych polega na tym, że badamy (n − k + 1)2

elementów w dolnej prawej części macierzy A(k)

zwykle pełny wybór elementów głównych, bardziej kosztowny obliczeniowo, niema istotnych zalet w porównaniu z częściowym wyborem

Wojciech Szewczuk MN

PA = LU

Załóżmy, że p1, p2, ..., pn są wskaźnikami kolejnych wierszy głównych. Dla A(1) = Amacierze A(2), A(3), ...,A(n) określone są wzorem rekurencyjnym

a(k+1)pi j

=

a(k)pi j

gdy i ≤ k lub i > k > j

a(k)pi j− (a

(k)pi k/a

(k)pkk

)a(k)pk j

gdy i > k, j > k

a(k)pi k/a

(k)pkk

gdy i > k, j = k

Twierdzenie 8

Niech macierze: permutacji P, trójkątna górna U i jedynkowa trójkątna dolna L będąokreślone odpowiednio wzorami (P)ij = δpi j , uij = a

(n)pi j

dla j ≥ i oraz lij = a(n)pi j

dlaj < i Wtedy PA = LU.

Wojciech Szewczuk MN

PA = LUDowódZ definicji A(k) mamy

ukj = a(n)pk j

= a(k)pk j

(j ≥ k)

lik = a(n)pi k

= a(k+1)pi k

= a(k)pi k/a

(k)pkk

(i ≥ k)

wiersz pk macierzy ustala się w k-tym kroku, a k-tą kolumnę w (k + 1)-szymkroku

wzór dla lik jest poprawny dla i = k, bo daje wtedy wartość 1

Załóżmy, że i ≤ j

(LU)ij =i∑

k=1

likukj =

i−1∑k=1

(a(k)pi k/a

(k)pkk

)a(k)pk j

+liia(i)pi j

=

i−1∑k=1

(a(k)pi j−a(k+1)

pi j)+a

(i)pi j

= a(1)pi j

= api j

gdy i > j

(LU)ij =

j∑k=1

likukj =

j−1∑k=1

(a(k)pi k/a

(k)pkk

)a(k)pk j

+ (a(j)pi j/a

(j)pj j

)a(j)pj j

=

=

j−1∑k=1

(a(k)pi j− a

(k+1)pi j

) + a(j)pi j

= a(1)pi j

= api j

Wojciech Szewczuk MN

PA = LU

Z drugiej strony

(PA)ij =n∑

k=1

(P)ikakj =n∑

k=1

δpi kakj = api j

Dla wszystkich par (i , j) zachodzi więc (PA)ij = (LU)ij

Wojciech Szewczuk MN

Koszt obliczeń

czas wykonania mnożenia i dzielenia jest zwykle podobny

czas wykonania mnożenia i dzielenia jest dłuższy niż dodawania i odejmowania

przyjęło się mierzyć koszt obliczeń liczbą długich działań (op) – parmnożenie-dodawanie itp.

Twierdzenie 9

Jeśli eliminację Gaussa wykonano ze skalowanym wyborem elementów głównych, torozwiązanie m układów Ax = b o wspólnej macierzy A i m różnych wektorach bwymaga około 1

3n3 + (m + 1

2 )n2 długich działań.

odwrotność A−1 można obliczyć rozwiązując n układów Ax(i) = ei

Wojciech Szewczuk MN

Macierze dominujące przekątniowo

Definicja 5

Macierz jest dominująca przekątniowo jeśli

|aii | >n∑

j=0,j 6=i

|aij | (1 ≤ i ≤ n)

Przykład 8 4 −1 0 0 −1−1 4 0 −1 0−1 0 4 0 −10 −1 −1 −4 −10 0 0 0 −6

Wojciech Szewczuk MN

Macierze dominujące przekątniowo

Jeśli macierz układu równań jest dominująca przekątniowo, to w pierwszymkroku eliminacji Gaussa wierszem głównym może być wiersz pierwszy (na mocyDefinicji 5 a11 jest różny od 0).

Twierdzenie 10

Eliminacja Gaussa bez wyboru elementów głównych zachowuje dominacjęprzekątniową macierzy.

Wniosek 1

Każda macierz dominująca przekątniowo jest nieosobliwa i ma rozkład LU.

Wniosek 2

Niech macierz będzie dominująca przekątniowo. Jeśli w eliminacji Gaussa zeskalowalnym wyborem wierszy głównych tablicę skal oblicza się na nowo po każdymkroku, to wiersze główne mają naturalny porządek: 1, 2, ..., n, czyli można pominąćkroki określające wybór tych wierszy.

Wojciech Szewczuk MN

Układy trójprzekątniowe

Definicja 6

Macierz A jest trójprzekątniowa jeśli aij = 0 dla |i − j | > 1.

d1 c1a1 d2 c2

a2 d3 c3

. . .. . .

. . .an−2 dn−1 cn−1

an−1 dn

x1x2x3...

xn−1xn

=

b1b2b3...

bn−1bn

Wojciech Szewczuk MN

Układy trójprzekątniowe

d1 c1a1 d2 c2

a2 d3 c3

. . .. . .

. . .an−2 dn−1 cn−1

an−1 dn

x1x2x3

.

.

.xn−1xn

=

b1b2b3

.

.

.bn−1bn

załóżmy, że macierz nie wymaga stosowania wyboru elementów głównych (np.jest symetryczna dodatnio określona)

możemy użyć zwykłej eliminacji Gaussa z dodatkiem jednoczesnego

przetwarzania wektora bw pierwszym kroku od wiersza 2 odejmujemy taką wielokrotność wiersza 1, żeby wyzerowaćelement na pozycji zajmowanej dotąd przez a1d2 i b2 zmieniają się, ale nie c2mnożnikiem jest a1/d1w tym kroku wykonujemy podstawienia d2 ← d2 − (a1/d1)c1 oraz b2 ← b2 − (a1/d1)b1następne kroki eliminacji w przód są takie samepodstawienie wstecz zaczyna się od xn ← bn/dndrugim krokiem jest xn−1 ← (bn−1 − cn−1xn)/dn−1pozostałe podstawienia są podobne

kompletny algorytm o nazwie tri przedstawiony jest na kolejnym slajdzie

Wojciech Szewczuk MN

Algorytm tri

input n, (ai ), (bi ), (ci ), (di )for i = 2 to n do

di ← di − (ai−1/di−1)ci−1bi ← bi − (ai−1/di−1)bi−1

end doxn ← bn/dnfor i = n − 1 to 1 step -1 do

xi ← (bi − ci xi+1)/diend dooutput (xi )

Wojciech Szewczuk MN

Normy wektorów

Definicja 7

W przestrzeni wektorowej V norma jest funkcją ‖·‖ określoną na V , o wartościachrzeczywistych nieujemnych, która ma trzy własności:

‖x‖ > 0 dla x 6= 0, x ∈ V ,

‖λx‖ = |λ| ‖x‖ dla λ ∈ R, x ∈ V ,

‖x + y‖ ≤ ‖x‖+ ‖y‖ dla x , y ∈ V (nierówność trójkąta).

Normę ‖x‖ można uznać za długość albo wielkość wektora x .Jest to uogólnienie pojęcia wartości bezwzględnej

Wojciech Szewczuk MN

Normy wektorów

Definicja 8

‖x‖2 :=(∑n

i=1 x2i

)1/2, gdzie x = (x1, x2, ..., xn)T

‖x‖∞ := max1≤i≤n

|xi |

‖x‖1 :=∑n

i=1 |xi |

Przykład 9

Weźmy wektoryx := (4, 4− 4) v := (0, 5, 5) w := (6, 0, 0)

‖x‖1 ‖x‖2 ‖x‖∞x 12 6.93 4v 10 7.07 5w 6 6 6

Wojciech Szewczuk MN

Normy wektorów

Rozważmy przestrzeń R2 oraz zbiór{x : x ∈ R2, ‖x‖ ≤ 1}.

Rysunek po lewej przedstawia kostkę(kulę) jednostkowąw dwuwymiarowej przestrzeni.

Wojciech Szewczuk MN

Normy macierzy

Formalnie rzecz biorąc wystarczy, żeby norma macierzy spełniała warunki podane dlanormy wektorowej.

Definicja 9

Dla ustalonej normy ‖·‖ wektora indukowana przez nią norma macierzy kwadratowej Astopnia n jest określona wzorem

‖A‖ := sup‖u‖=1

{‖Au‖ : u ∈ Rn} (1)

Twierdzenie 11

Dla dowolnej normy ‖·‖ w Rn wzór 1 określa normę w przestrzeni liniowej macierzystopnia n.

Z definicji 9 wynika, że‖Ax‖ ≤ ‖A‖ ‖x‖ x ∈ Rn

Wojciech Szewczuk MN

Normy macierzy

Twierdzenie 12

Norma macierzowa indukowana przez normę wektorową „nieskończoność” wyraża sięwzorem

‖A‖∞ = max1≤i≤n

n∑j=1

|aij |

Twierdzenie 13

Norma macierzowa indukowana przez normę wektorową euklidesową zwana jest normąspektralną i wyraża się wzorem

‖A‖2 = sup‖x‖2=1

‖Ax‖2

lub równoważnie

‖A‖2 =√ρ(ATA),

gdzie promień spektralny ρ(ATA) jest z definicji największą wartością własną macierzyATA.

Wojciech Szewczuk MN

Normy macierzy

Oprócz poznanych własności, norma macierzowa indukowana przez dowolną normęwektorową ma jeszcze następujące własności:

‖I‖ = 1

‖AB‖ ≤ ‖A‖ ‖B‖

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Rozważmy układ Ax = b o macierzy kwadratowej nieosobliwej.Jeśli macierz A−1 jest zaburzona (tzn. zamiast macierzy A−1 mamy macierz B), tozaburzenie przeniesie się na rozwiązanie x = A−1b , zamiast którego otrzymamyx = Bb .Zbadajmy jak duże jest zaburzenie rozwiązania.Dla dowolnej normy wektorowej i indukowanej przez nią normy macierzowej wielkośćzaburzenia bezwzględnego wynika z nierówności

‖x− x‖ = ‖x− Bb‖ = ‖x− BAx‖ = ‖(I− BA)x‖ ≤ ‖I− BA‖ ‖x‖ ,

a zaburzenia względnego‖x− x‖‖x‖

≤ ‖I− BA‖ .

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Przykład 10

Załóżmy, że zamiast b mamy wektor zaburzony b. Niech x i x spełniają równania

Ax = b

Ax = b

Zbadajmy jak różnią się x i x. Jeśli macierz A jest nieosobliwa to

||x− x|| = ||A−1b− A−1b|| = ||A−1(b− b)|| ≤ ||A−1|| ||b− b||

Jest to zaburzenie bezwzględne.Zaburzenie względne otrzymamy zakładając b 6= 0.

||x− x|| ≤ ||A−1|| ||b− b|| = ||A−1|| ||Ax||||b− b||||b||

≤ ||A−1|| ||A|| ||x||||b− b||||b||

Stąd otrzymamy||x− x||||x||

≤ κ(A)||b− b||||b||

gdzie κ(A) = ||A−1|| ||A||.

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Definicja 10

Wielkośćκ(A) := ‖A‖

∥∥A−1∥∥

nazywamy wskaźnikiem uwarunkowania.

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Własności wskaźnika uwarunkowania:

wskaźnik uwarunkowania zależy od wybranej normy macierzy (κ∞(A), κ2(A),...)

κ(A) ≥ 1

błąd względny obliczonego rozwiązania x nie przewyższa błędu względnego

prawej strony pomnożonego przez wskaźnik uwarunkowania

⇒ jeśli wskaźnik uwarunkowania jest mały to małe zaburzenie prawejstrony b nieznacznie zaburzy rozwiązanie x

⇒ jeśli wskaźnik uwarunkowania jest duży to małe zaburzenie prawej

strony b znacznie zaburzy rozwiązanie x

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Przykład 11

Weźmy macierz

A =

[1 1 + ε

1− ε 1

]A−1 = ε−2

[1 −1− ε

−1 + ε 1

]i ε > 0.Z Twierdzenia 12 otrzymamy||A||∞ = 2 + ε i ||A−1||∞ = ε−2 (2 + ε)

κ (A) = [(2 + ε) /ε]2 > 4/ε2

ε ≤ 0.01⇒ κ (A) > 40 000

A więc małe zburzenie względne wektora b może spowodować 40 000 razy większezaburzenie względne rozwiązania układu

Ax = b

.

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Rozwiązując numerycznie układ równań

Ax = b

otrzymujemy zamiast rozwiązania dokładnego x rozwiązanie przybliżone x.Jego dokładność sprawdzamy porównując Ax z b.

r := b− Ax – wektor residualny

e := x− x – wektor błędu

Ae = r

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Twierdzenie 14

Wektory residualny i wektor błędu oraz wskaźnik uwarunkowania spełniają nierówność

1

κ(A)‖r‖‖b‖≤‖e‖‖x‖≤ κ(A)

‖r‖‖b‖

. (2)

Wojciech Szewczuk MN

Dowód Twierdzenia 14.

Prawa strona nierówności 2 jest równoważna temu, że

||e|| ||b|| ≤ ||A|| ||A−1|| ||r|| ||x||

a to jest prawdą na podstawie:

||e|| ||b|| = ||A−1r || ||Ax|| ≤ ||A−1|| ||r|| ||A|| ||x||.

Lewą stronę nierówności 2 możemy zapisać w postaci

||r|| ||x|| ≤ ||A|| ||A−1|| ||b|| ||e||

a to mamy z faktu, że

||r|| ||x|| = ||Ae|| ||A−1b|| ≤ ||A|| ||e|| ||A−1|| ||b||

Wojciech Szewczuk MN

Wskaźnik uwarunkowania

Macierz A o dużym κ(A) nazywamy źle uwarunkowaną. W takim przypadkurozwiązanie układu Ax = b może być bardzo czułe na zmiany wektora b.

Macierz A o małym κ(A) nazywamy dobrze uwarunkowaną.

Wojciech Szewczuk MN

Układy o kłopotliwych macierzach

Wstępne wyważanie wierszy.

Wstępne wyważanie kolumn.

Pełny wybór elementów głównych.

Wyważanie lub skalowanie w każdym kroku eliminacji.

Poprawianie iteracyjne rozwiązania końcowego.

Wojciech Szewczuk MN

Wyważanie wierszy

Wyważanie wierszy polega na dzieleniu wszystkich elementów każdego wierszamacierzy współczynników przez ten z nich, który ma największą wartość bezwzględną(Przy rozwiązywaniu układu należy pamiętać, że wektor b też musi być odpowiedniopodzielony).i-te równanie układu:

n∑j=1

aijxj = bi −→n∑

j=1

(riaij )xj = ribi ,

gdzie ri := 1/ max1≤j≤n

|aij | (1 ≤ i ≤ n).

W praktyce lepiej jest wybrać ri równe 2m (m ∈ Z) najbliższe 1/ max1≤j≤n

|aij |.

Wojciech Szewczuk MN

Wyważanie kolumn

Wyważanie kolumn polega na tym, że j-tą kolumnę mnożymy przezcj := 1/ max

1≤i≤n|aij | (1 ≤ j ≤ n) (lub bliską tej wartości liczbę 2m).

i-te równanie układu:

n∑j=1

aijxj = bi −→n∑

j=1

(cjaij )xj

cj= bi .

Rozwiązanie da wielkościxjcj

, więc aby otrzymać rozwiązanie oryginalnego układu,

należy je pomnożyć przez cj .

Wojciech Szewczuk MN

Poprawianie iteracyjne

Niech x będzie obliczonym rozwiązaniem równania Ax = b.Poczynając od k = 0 aż do uzyskania pożądanej dokładności:

1 r(k) = b− Ax(k) (x(0) = x)2 Ae = r(k) (używamy znanego z poprzednich obliczeń rozkładu LU macierzy A)

3 x(k+1) = x(k) + e

Ze względu na znoszenie błędów wektor residualny powinien być liczony z większąprecyzją niż pozostałe obliczenia.

Wojciech Szewczuk MN

Poprawianie iteracyjne

Przykład 12 1 12

13

12

13

14

13

14

15

x1x2x3

=

323124330

x = [1, 2, 3]T

Rozkład LU wygląda następująco:

L =

1 0 012 1 013 1 1

, U =

1 12

13

0 112

112

0 0 1180

Wprowadźmy błąd do LU używając tylko sześciu cyfr do reprezentacji liczb:

L =

1 0 00.5 1 0

0.333333 1 1

, U =

1 12 0.333333

0 0.0833333 0.08333330 0 0.555556× 10−2

x(0) =

1.000029600035121.999824400142893.00017759985791

Wojciech Szewczuk MN

Poprawianie iteracyjne

Przykład c.d.

r(0) = 10−5 ×

−0.10000591998960−0.06666963332513−0.14866856774542

Rozwiązujemy układ LUe = r(0)

e = 10−3 ×

−0.029600080246190.17559977427749−0.17759977587713

x(1) = x(0) + e =

0.999999999954871.999999999917163.00000000008204

Wojciech Szewczuk MN

Rozwiązywanie układów równań liniowych metodami iteracyjnymi

Algorytm Gaussa jest metodą bezpośrednią rozwiązywanie układu Ax = b. Poskończonej liczbie kroków dostajemy rozwiązanie, które byłoby dokładne, gdybynie błędy zaokrągleń.

Metoda iteracyjna tworzy ciąg wektorów zbieżny do rozwiązania!

dla wielkich układów (tysiące równań) często górują nad metodamibezpośrednimi szybkością działania i wymaganiami dotyczącymi pamięcioperacyjnejsą często efektywne dla układów rzadkich

są zazwyczaj stabilne, błędy zaokrągleń są wygaszane w dalszych

obliczeniach

Wojciech Szewczuk MN

Rozwiązywanie układów równań liniowych metodami iteracyjnymi

Przykład 13

Rozważmy układ[7 −6−8 9

] [x1x2

]=

[3−4

]o rozwizaniem dokadnym x =

[ 15− 4

15

]Wyraźmy i−tą niewiadomą z i−tego równania przez:

x(k)1 =

6

7x(k−1)2 +

3

7

x(k)2 =

8

9x(k−1)1 −

4

9

Otrzymaliśmy metodę (iterację) Jacobiego.

W pierwszym kroku metody musimy wybrać przybliżenia początkowe x(0)1 i x(0)2 (jak

nie mamy lepszych, mogą to być zera).

Wojciech Szewczuk MN

Rozwiązywanie układów równań liniowych metodami iteracyjnymi

Przykład c.d.

k x(k)1 x

(k)2

0 0.00000 0.0000010 0.14865 −0.1982020 0.18682 −0.2490930 0.19662 −0.2621540 0.19913 −0.2655150 0.19978 −0.26637

Wojciech Szewczuk MN

Rozwiązywanie układów równań liniowych metodami iteracyjnymi

Przykład 14

Metodę z przykładu 13 można zmodyfikować tak, żeby ostatnio obliczone x(k)1 było od

razu użyte do wyznaczenia x(k)2 .

x(k)1 =

6

7x(k−1)2 +

3

7

x(k)2 =

8

9x(k)1 −

4

9

Otrzymaliśmy metodę (iterację) Gaussa-Seidela.

k x(k)1 x

(k)2

0 0.0000010 0.21978 −0.2490920 0.20130 −0.2653130 0.20009 −0.2665940 0.20001 −0.2666650 0.20000 −0.26667

Możemy przypuszczać, że dwie metody dają ciągi przybliżeń zbieżne do rozwiązaniadokładnego

( 15 , −

415

)i że druga jest zbieżna szybciej.

Wojciech Szewczuk MN

Ogólna metoda iteracyjna

Rozważmy układ

Ax = b. (3)

Dla ustalonej macierzy Q wyraźmy ten układ w równoważnej postaci

Qx = (Q− A)x+ b. (4)

Spodziewamy się, że proces iteracyjny możemy opisać równaniem

Qx(k) = (Q− A)x(k−1) + b (k ≥ 1). (5)

wektor x(0) może być dowolny (warto wykorzystać jakąkolwiek informację orozwiązaniu dokładnym)

metoda iteracyjna oparta na równaniu 5 jest zbieżna, jeśli ciąg {x(k)} jestzbieżny do x dla dowolnego wektora początkowego x(0).

Wojciech Szewczuk MN

Ogólna metoda iteracyjna

Macierz Q powinna spełniać następujące warunki:

Obliczanie przybliżeń x(k) jest łatwe.

Ciąg {x(k)} jest zbieżny do rozwiązania.

Drugi warunek jest spełniony, jeśli Q−1 jest dobrym przybliżeniem A−1.

Wojciech Szewczuk MN

Ogólna metoda iteracyjna

Załóżmy, że macierz A i Q są nieosobliwe. Wtedy z równania 5 możemy napisaćteoretyczny wzór

x(k) := (I−Q−1A)x(k−1) +Q−1b (6)

Uwaga w praktyce numerycznej wektor x(k) oblicza się z równania 5.Dokładne rozwiązanie spełnia równanie

x = (I−Q−1A)x+Q−1b. (7)

x jest więc punktem stałym odwzorowania

x 7→ (I−Q−1A)x+Q−1b. (8)

Odejmijmy stronami równanie 7 od 6:

x(k) − x = (I−Q−1A)(x(k−1) − x) (9)

Wojciech Szewczuk MN

Ogólna metoda iteracyjna

Dla dowolnej normy wektorowej i indukowanej przez nią normy macierzowej równanie9 daje nierówność ∥∥∥x(k) − x∥∥∥ ≤ ∥∥I−Q−1A

∥∥∥∥∥x(k−1) − x∥∥∥ ,

a z tego wynika, że ∥∥∥x(k) − x∥∥∥ ≤ ∥∥I−Q−1A∥∥k ∥∥∥x(0) − x∥∥∥ .

A więc jeśli ∥∥I−Q−1A∥∥ < 1,

tolim

k→∞

∥∥∥x(k) − x∥∥∥ = 0

dla dowolnego x(0).

Wojciech Szewczuk MN

Ogólna metoda iteracyjna

Twierdzenie 15

Jeśli ∥∥I−Q−1A∥∥ < 1

dla pewnej normy indukowanej macierzy, to ciąg określony równaniem

Qx(k) = (Q− A)x(k−1) + b (k ≥ 1)

jest zbieżny do rozwiązania układuAx = b

dla dowolnego wektora początkowego x(0).

Zakładając, że norma δ :=∥∥I−Q−1A

∥∥ < 1, możemy zakończyć proces iteracyjny, gdywielkość

∥∥x(k) − xk−1∥∥ jest dostatecznie mała.∥∥∥x(k) − x∥∥∥ ≤ δ

1− δ

∥∥∥x(k) − xk−1∥∥∥

Wojciech Szewczuk MN

Metoda Jacobiego

W metodzie Jacobiego macierz Q jest macierzą przekątniową o elementach aii takichjak w A. Wtedy

(Q−1A)ij = aij/aii

i ta macierz ma jedynki na głównej przekątnej. Dlatego

∥∥I−Q−1A∥∥∞ = max

1≤i≤n

n∑j=1,j 6=i

|aij/aii |. (10)

Wojciech Szewczuk MN

Metoda Jacobiego

Twierdzenie 16

Jeśli macierz A jest dominująca przekątniowo, to dla dowolnego wektorapoczątkowego metoda Jacobiego tworzy ciąg zbieżny do rozwiązania układu Ax = b.

Dowód:Z założenia mamy

|aii | >n∑

j=1,j 6=i

|aij |

. Biorąc powyższe i równanie 10 dostaniemy∥∥I−Q−1A∥∥∞ < 1

i na mocy twierdzenia 15 metoda Jacobiego jest zbieżna.

Wojciech Szewczuk MN

Metoda Jacobiego – algorytm

input n, (aij ), (bi ), (xi ), Mfor k = 1 to M do

for i = 1 to n doui ← (bi −

∑nj=1,j 6=i aij xj )/aii

end dofor i = 1 to n doxi ← ui

end dooutput k, (xi )

end do

Algorytm można poprawić, wykonując wszystkie dzielenia przed rozpoczęciem iteracji.for i = 1 to n do

d ← 1/aiibi ← dbi

for j = 1 to n do

aij ← daij

end do

end do

Wtedy główna instrukcja uprości się do postaci

ui ← bi −n∑

j=1,j 6=i

aijxj

Wojciech Szewczuk MN

Metoda Gaussa-Seidela

W metodzie Gaussa-Seidela Q jest częścią trójkątną dolną (wraz z główną przekątną)macierzy A.

Twierdzenie 17

Jeśli macierz A jest dominująca przekątniowo, to metoda Gaussa-Seidela jest zbieżnadla dowolnego wektora początkowego.

Wojciech Szewczuk MN

Metoda Gaussa-Seidela – algorytm

input n, (aij ), (bi ), (xi ), Mfor k = 1 to M do

for i = 1 to n doxi ← (bi −

∑nj=1,j 6=i aij xj )/aii

end dooutput k, (xi )

end do

Wojciech Szewczuk MN

Metoda Gaussa-Seidela – algorytm

Efektywność metody Gaussa-Seidela można zwiększyć , odpowiednio przekształcającukład.

Przykład 15

Rozważmy układ 2 −1 01 6 −24 −3 8

x1x2x3

=

2−45

i weźmy x(0) = (0, 0, 0)T .Układ skalujemy, czyli wyrażamy w postaci:

D−1Ax = D−1b,

gdzie D = diag(aii ). 1 − 12 0

16 1 − 1

312 − 3

8 1

x1x2x3

=

1− 2

358

Wojciech Szewczuk MN

Metoda Gaussa-Seidela – algorytm

Przykład c.d.

x(k)1 =

1

2x(k−1)2 + 1

x(k)2 = −

1

6x(k)1 +

1

3x(k−1)3 −

2

3

x(k)3 = −

1

2x(k)1 +

3

8x(k)2 +

5

8

k x(k)1 x

(k)2 x

(k)3

1 1.000000 −0.833333 −0.1875005 0.622836 −0.760042 0.028566

10 0.620001 −0.760003 0.02999813 0.620000 −0.760000 0.030000

Rozwiązanie dokładne:

x =(

62

100, −

76

100,

3

100

)T

Wojciech Szewczuk MN

Recommended