![Page 1: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/1.jpg)
Metody NumeryczneRozwiązywanie układów równań liniowych
Wojciech Szewczuk
Wojciech Szewczuk MN
![Page 2: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/2.jpg)
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
![Page 3: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/3.jpg)
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
![Page 4: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/4.jpg)
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
![Page 5: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/5.jpg)
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
![Page 6: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/6.jpg)
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
![Page 7: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/7.jpg)
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
![Page 8: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/8.jpg)
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
![Page 9: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/9.jpg)
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
![Page 10: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/10.jpg)
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
![Page 11: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/11.jpg)
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
![Page 12: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/12.jpg)
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
![Page 13: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/13.jpg)
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
![Page 14: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/14.jpg)
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
![Page 15: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/15.jpg)
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
![Page 16: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/16.jpg)
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
![Page 17: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/17.jpg)
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
![Page 18: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/18.jpg)
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
![Page 19: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/19.jpg)
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
![Page 20: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/20.jpg)
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
![Page 21: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/21.jpg)
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
![Page 22: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/22.jpg)
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
![Page 23: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/23.jpg)
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
![Page 24: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/24.jpg)
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
![Page 25: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/25.jpg)
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
![Page 26: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/26.jpg)
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
![Page 27: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/27.jpg)
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
![Page 28: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/28.jpg)
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
![Page 29: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/29.jpg)
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
![Page 30: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/30.jpg)
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
![Page 31: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/31.jpg)
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
![Page 32: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/32.jpg)
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
![Page 33: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/33.jpg)
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
![Page 34: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/34.jpg)
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
![Page 35: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/35.jpg)
Rozkład LU
Istnieją różne wersje rozkładów LU
Doolittle’a
Crouta
Cholesky’ego
Eliminacja Gaussa
Wojciech Szewczuk MN
![Page 36: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/36.jpg)
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
![Page 37: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/37.jpg)
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
![Page 38: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/38.jpg)
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
![Page 39: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/39.jpg)
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
![Page 40: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/40.jpg)
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
![Page 41: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/41.jpg)
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
![Page 42: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/42.jpg)
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
![Page 43: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/43.jpg)
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
![Page 44: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/44.jpg)
Eliminacja Gaussa – elementy główne
Rozważmy układ [0 11 1
] [x1
x2
]=
[12
]
Wojciech Szewczuk MN
![Page 45: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/45.jpg)
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
![Page 46: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/46.jpg)
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
![Page 47: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/47.jpg)
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
![Page 48: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/48.jpg)
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
![Page 49: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/49.jpg)
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
![Page 50: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/50.jpg)
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
![Page 51: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/51.jpg)
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
![Page 52: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/52.jpg)
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
![Page 53: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/53.jpg)
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
![Page 54: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/54.jpg)
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
![Page 55: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/55.jpg)
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
![Page 56: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/56.jpg)
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
![Page 57: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/57.jpg)
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
![Page 58: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/58.jpg)
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
![Page 59: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/59.jpg)
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
![Page 60: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/60.jpg)
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
![Page 61: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/61.jpg)
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
![Page 62: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/62.jpg)
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
![Page 63: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/63.jpg)
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
![Page 64: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/64.jpg)
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
![Page 65: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/65.jpg)
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
![Page 66: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/66.jpg)
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
![Page 67: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/67.jpg)
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
![Page 68: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/68.jpg)
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
![Page 69: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/69.jpg)
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
![Page 70: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/70.jpg)
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
![Page 71: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/71.jpg)
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
![Page 72: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/72.jpg)
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
![Page 73: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/73.jpg)
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
![Page 74: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/74.jpg)
Wskaźnik uwarunkowania
Definicja 10
Wielkośćκ(A) := ‖A‖
∥∥A−1∥∥
nazywamy wskaźnikiem uwarunkowania.
Wojciech Szewczuk MN
![Page 75: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/75.jpg)
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
![Page 76: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/76.jpg)
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
![Page 77: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/77.jpg)
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
![Page 78: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/78.jpg)
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
![Page 79: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/79.jpg)
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
![Page 80: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/80.jpg)
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
![Page 81: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/81.jpg)
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
![Page 82: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/82.jpg)
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
![Page 83: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/83.jpg)
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
![Page 84: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/84.jpg)
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
![Page 85: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/85.jpg)
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
![Page 86: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/86.jpg)
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
![Page 87: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/87.jpg)
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
![Page 88: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/88.jpg)
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
![Page 89: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/89.jpg)
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
![Page 90: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/90.jpg)
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
![Page 91: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/91.jpg)
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
![Page 92: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/92.jpg)
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
![Page 93: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/93.jpg)
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
![Page 94: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/94.jpg)
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
![Page 95: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/95.jpg)
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
![Page 96: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/96.jpg)
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
![Page 97: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/97.jpg)
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
![Page 98: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/98.jpg)
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
![Page 99: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/99.jpg)
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
![Page 100: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/100.jpg)
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
![Page 101: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/101.jpg)
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
![Page 102: Metody Numeryczne Rozwiązywanie układów równań liniowych](https://reader030.vdocuments.site/reader030/viewer/2022012521/619585fae48b275c254b48ab/html5/thumbnails/102.jpg)
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