Slajdy - Katedra Informatyki

Transkrypt

Slajdy - Katedra Informatyki
Literatura
Rozwiazywanie
˛
układu równań
Obliczenia naukowe
Wykład nr 8
Paweł Zieliński
Katedra Informatyki,
Wydział Podstawowych Problemów Techniki,
Politechnika Wrocławska
Literatura
Rozwiazywanie
˛
układu równań
Literatura
Literatura podstawowa
[1] D. Kincaid, W. Cheney, Analiza numeryczna, WNT, 2005.
[2] M. T. Heath, Scientific Computing, An Introductory Survey, The
McGraw-Hill Companies, 1997.
[3] A. Bjorck, G. Dahlquist, Metody numeryczne, PWN, 1987.
[4] M. Dryja, J. i M. Jankowscy, Przeglad
˛ metod i algorytmów
numerycznych, cz. 2, WNT, 1988.
[5] Z. Fortuna, B. Macukow, J. Wasowski,
˛
Metody numeryczne,
WNT 1998.
[6] J. i M. Jankowscy, Przeglad
˛ metod i algorytmów numerycznych,
cz. 1, WNT, 1988.
[7] J. Stoer, R. Bulirsch, Wstep
˛ do analizy numerycznej, PWN, 1987.
Literatura uzupełniajaca
˛
[8] Kiełbasiński, H. Schwetlick, Numeryczna algebra liniowa, WNT,
1993.
Znaczna cze˛ ść wykładu została przygotowana na
podstawie ksiażki
˛
[1].
Literatura
Rozwiazywanie
˛
układu równań
Rozwiazywanie
˛
układu równań liniowych
U x = b , U ∈ Rn×n , x ∈ Rn , b ∈ Rn
u11 x1 + u12 x2 + · · · + u1n xn = b1
u22 x2 + · · · + u2n xn = b2
..
..
..
.
.
.
unn xn = bn
Zakładamy, że macierz U jest nieosobliwa. Stad
˛ ukk 6= 0,
k = 1, . . . , n. Wyznaczamy xn z ostatniego równania
bn
xn =
unn
Dalej wyznaczamy xk dla k = nP− 1, . . . , 1
bk − nj=k +1 ukj xj
xk =
ukk
Literatura
Rozwiazywanie
˛
układu równań
Rozwiazywanie
˛
układu równań liniowych - Eliminacja
Gaussa
A) 6= 0
Ax = b , A ∈ Rn×n , x ∈ Rn , b ∈ Rn , det(A
A (1) = A , b (1) = b
(1)
(1)
(1)
(1)
a11 x1 + a12 x2 + · · · + a1n xn = b1
(1)
(1)
(1)
(1)
a x1 + a22 x2 + · · · + a2n xn = b2
A (1)x = b (1) 21.
..
..
..
..
.
.
.
(1)
(1)
(1)
(1)
an1 x1 + an2 x2 + · · · + ann xn = bn
Eliminujemy zmienna˛ x1 z równań od 2-go do n-tego. Mnożymy
1-sze równanie przez
(1)
a
li1 = i1
i = 2, . . . , n
(1)
a11
i odejmujemy od pozostałych.
Literatura
Rozwiazywanie
˛
układu równań
Eliminacja Gaussa
Po pierwszym kroku otrzymujemy
(1)
A (2)x = b (2)
(1)
a11 x1 + a12 x2 + · · ·
(2)
a22 x2 + · · ·
..
.
(2)
an2 x2 + · · ·
(1)
(1)
+ a1n xn = b1
(2)
(2)
+ a2n xn = b2
..
..
.
.
(2)
(2)
+ ann xn = bn
Eliminujemy zmienna˛ x2 z równań od 3-go do n-tego. Mnożymy
2-gie równanie przez
(2)
a
i = 3, . . . , n
li2 = i2
(2)
a22
i odejmujemy od pozostałych.
Literatura
Rozwiazywanie
˛
układu równań
Eliminacja Gaussa
Ogólnie po k − 1 krokach otrzymujemy
(1)
(1)
a11 x1 + a12 x2 +
···
(2)
a22 x2 +
···
..
.
A (k )x = b (k )
(k )
akk xk
..
.
(k )
ank xk
(1)
(1)
(k )
(k )
a1n xn = b1
(2)
(2)
a2n xn = b2
..
..
.
.
(k )
(k )
+ · · · + akn xn = bk
..
..
.
.
+
+
+ · · · + ann xn = bn
Eliminujemy zmienna˛ xk z równań od k + 1-tego do n-tego.
Mnożymy k -te równanie przez
(k )
ai2
lik = (k ) i = k + 1, . . . , n
akk
i odejmujemy od pozostałych.
Literatura
Rozwiazywanie
˛
układu równań
Eliminacja Gaussa
Po n − 1 krokach dostajemy układ z macierza˛ górno trójkatn
˛ a˛
(1)
(1)
(1)
(1)
a11 x1 + a12 x2 + · · · + a1n xn = b1
(2)
(2)
(2)
a22 x2 + · · · + a2n xn = b2
A (n)x = b (n)
..
..
..
.
.
.
(n)
(n)
ann xn = bn
for k ← 1 to n − 1 do
for i ← k + 1 to n do
(k )
(k )
lik ← aik /akk
for j ← k + 1 to n do
(k +1)
(k )
(k )
aij
← aij − lik akj
end for
(k +1)
(k )
(k )
bi
← bi − lik bk
end for
end for
Literatura
Rozwiazywanie
˛
układu równań
Eliminacja Gaussa - Macierzowe sformułowanie
jednego kroku
Przejście od macierzy A (k ) do A (k +1) i od wektora b (k ) do b (k +1)
możemy zapisać
A (k +1) = L (k )A (k ) , b (k +1) = L (k )b (k ) ,
gdzie

(k )
L





=






1
..











.
1
−lk +1,k
−lk +2,k
..
.
−ln,k
1
..
.
1
Literatura
Rozwiazywanie
˛
układu równań
Eliminacja Gaussa jako algorytm rozkładu trójkatnego
˛
Proces sprowadzania macierzy A (1) do macierzy górno
trójkatnej
˛
A (n) w n − 1 krokach możemy zapisać
A (n) = L (n−1) · · · L (2)L (1)A (1)
Oznaczajac
˛ A (n) przez U oraz z tego, że A = A (1) mamy
U = L (n−1) · · · L (2)L (1)A
L(n−1) · · · L (2)L (1) )−1U
A = (L
−1
A = L (1) L (2)
−1
−1
· · · L (n−1) U
Literatura
Rozwiazywanie
˛
układu równań
Rozkład LU

L
(k )−1





=






1
..








L = 








.
1
lk +1,k
lk +2,k
..
.
ln,k
−1
1
..
.
1

l21 1
l31 l32
..
.



,


1
ln1 ln2 · · ·
..
ln,n−1 1
1
−1
−1
gdzie L = L(1) L(2) · · · L(n−1) .
Jak widać eliminacja Gaussa jest równoważna rozkładowi
A = LU
A na iloczyn
macierzyA
macierzy dolnej i górno trójkatnej.
˛
.
Literatura
Rozwiazywanie
˛
układu równań
Rozkład LU
W komputerowej realizacji rozkład LU pamietamy
˛
w jednej
(k )
tablicy umieszczajac
˛ mnożniki lik w miejscu zerowanych
(k )
elementów
aik .

a11 a12 · · ·
 a21 a22 · · ·

A= .
..
 ..
. ···
a1n
a2n
..
.
an1 an2 · · ·
an,n






 → LU = 


u11 u12 · · ·
l21 u22 · · ·
..
.
u1n
u2n
..
.
···
un,n
ln1
ln2
Znajac
˛ rozkład A = LU zadanie Ax = b sprowadzamy do
rozwiazania
˛
dwóch układów trójkatnych
˛
Ly = b i U x = y
Rozwiazanie
˛
układu Ly = b odpowiada
y = L −1b = L (n−1) · · · L (2)L (1)b = b (n) .





Literatura
Rozwiazywanie
˛
układu równań
Obliczanie wyznacznika i macierzy odwrotnej
Załóżmy, że znamy rozkład LU macierzy A wówczas
n
Y
A) = det(L
LU ) = det(L
L)det(U
U) =
det(A
uii .
i=1
Z definicji A −1 jest macierza˛ odwrotna˛ A , jeżeli
AA −1 = I
Oznaczajac
˛ A −1 przez X mamy
e (1) , . . . , e (n) ], x (i) , e (i) ∈ Rn
AX = I ⇔ A [xx (1) , . . . , x (n) ] = [e
gdzie x (i) jest i-ta˛ kolumna˛ macierzy odwrotnej, e (i) jest i-ta˛
kolumna˛ macierzy jednostkowej.
Literatura
Rozwiazywanie
˛
układu równań
Obliczanie macierzy odwrotnej
Znajac
˛ rozkład LU macierzy A wyznaczamy n kolumn macierzy
−1
A co jest równoważne rozwiazaniu
˛
2n układów trójkatnych
˛
Ly (i)
LU x (i) = e (i) , i = 1, . . . , n
= e (i) , U x (i) = y (i) i = 1, . . . , n
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
Wariant podstawowy metody eliminacji Gaussa może być
(k )
stosowany jeżeli wszystkie elementy przekatniowe
˛
akk ,
k = 1, 2, . . . , n − 1 sa˛ różne od zera. Warunek ten nie jest
spełniony nawet dla macierzy nieosobliwych, jak na przykład
poniższy układ
0 1
x1
1
=
1 1
x2
2
W tym przypadku wystarczy zamienić równania miejscami.
Należy podkreślić, że w numerycznej realizacji ważne jest nie
(k )
tylko, aby elementy akk były różne od zera, ale by nie były zbyt
małe co do wartości bezwzglednej.
˛
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
Rozważmy przykład układ równa
jest mała˛ liczba˛
ń,w którym
1
1
x1
=
x2
2
1 1
Po zastosowaniu eliminacji Gaussa otrzymujemy układ
trójkatny
˛
1
1
x1
=
x2
0 1 − −1
2 − −1
Rozwiazuj
˛ ac
˛ otrzymujemy
x2 = (2 − −1 )/(1 − −1 ), x1 = (1 − x2 )−1
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
Jeżeli jest wystarczajaco
˛ małe np. = 10−8 (−1 = 108 ) w
arytmetyce single, wówczas 2 − −1 ≈ −1 i 1 − −1 ≈ −1 .
Stad
˛ obliczone x2 ≈ 1 i x1 ≈ 0 znacznie różnia˛ sie˛ od
prawidłowych wartości x2 ≈ 1 i x1 ≈ 1.
Problem znika jeżeli zamienimy
równania
2
1 1
x1
=
x2
1
1
Stosujac
˛ eliminacj
˛
dostajemy
atny
e˛ Gaussa
układ trójk
1
1
x1
2
=
0 1−
x2
1 − 2
Rozwiazuj
˛ ac
˛ otrzymujemy prawidłowe
x2 = (1 − 2)/(1 − ) ≈ 1, x1 = (2 − x2 ) ≈ 1.
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
Rozważmy k -ty krok eliminacji Gaussa.
• eliminacja Gaussa z cz˛eściowym wyborem polega
znalezieniu elementu takiego, że
(k )
(k )
|apk | = max |aik |
k ≤i≤n
i przestawieniu w macierzy A (k ) wiersza p-tego z k -tym
oraz elementu p-tego z k -tym w wektorze b (k ) .
• eliminacja Gaussa z pełnym wyborem polega znalezieniu
elementu takiego, że
(k )
(k )
|apl | = max |aij |
k ≤i,j≤n
i przestawieniu w macierzy A (k ) wiersza p-tego z k -tym,
kolumny l-tej z k -ta˛ oraz elementu p-tego z k -tym w
wektorze b (k ) .
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
Niech P ij bedzie
˛
macierz
a˛ permutacji

1

..

.


0 ···


..
P ij = 
.


1 ···
















1
..
.
0
..
.
1
P ij różni sie˛ od macierzy jednostkowej elementami pii = pjj = 0
2
i pij = pji = 1. Ponadto P Tij = P ij = P −1
ij , P ij = I . P ij A jest
równoważne zamianie w macierzy A wiersza i-tego z j-tym.
AP ij jest równoważne zamianie w macierzy A kolumny i-tej z
j-ta.
˛
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
W zapisie macierzowym cz˛eściowy wybór ma postać
P pk A (k ) , P pk b (k )
Natomiast pełny wybór ma postać
P pk A (k )P kl , P pk b (k )
Metode˛ eliminacji Gaussa z pełnym wyborem możemy
przedstawić
L (n−1)P pn−1 n−1 · · · L (2)P p2 2L (1)P p1 1A (1)P 1j1 P 2j2 · · · P n−1jn−1
= A (n)
L(n−1)P pn−1 n−1 · · · L(2)P p2 2L(1)P p1 1P −1P A(1)P = A(n) ,
gdzie P = P pn−1 n−1 · · · P p2 2P p1 1 , P = P 1j1 P 2j2 · · · P n−1jn−1 .
L(n−1)P pn−1 n−1 · · · L (2)P p2 2L (1)P p2 2 · · · P pn−1 n−1 )−1 jest
L = (L
macierza˛ dolno trójkatn
˛ a˛ spełniajac
˛ a˛ równanie
L U = P AP
U = A (n) )
(U
Literatura
Rozwiazywanie
˛
układu równań
Wybór elementu głównego
W metodzie eliminacji Gaussa z cz˛eściowym wyborem P = I .
Zatem
LU = P A
Znany rozkład LU = P A możemy wykorzystać do rozwiazania
˛
układu równań Ax = b
Ly = P b i U x = y .
Wyznacznik macierzy obliczamy nastepuj
˛ aco
˛
A) = (−1)p
det(A
n
Y
uii ,
i=1
gdzie p jest liczba˛ przestawień kolumn i wierszy.