Wykład 2
Transkrypt
Wykład 2
Wstep ˛ do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : Rn → Rm bedzie ˛ pewna˛ funkcja˛ odpowiednio wiele razy różniczkowalna˛ i niech x ∈ Rn. Definicja: Mówimy, że zagadnienie obliczenia ϕ(x) jest numerycznie dobrze uwarunkowane, jeżeli niewielkie wzgledne ˛ zmiany danych daja˛ niewielkie wzgledne ˛ zmiany rozwiazania. ˛ Zagadnienia, które nie sa˛ numerycznie dobrze uwarunkowane, nazywamy źle uwarunkowanymi. c 2012 P. F. Góra Copyright 2–2 Przykład Rozważmy problem znalezienia rozwiaza ˛ ń równania x2 + bx + c = 0 , (1) przy czym zakładamy, że b2 − 4c > 0. Wiadomo, że rozwiazania ˛ maja˛ w tym wypadku postać 1 −b ± x1,2 = 2 q b2 − 4c . (2) Jak dobrze uwarunkowane jest zagadnienie obliczania (2)? Danymi sa˛ tu współczynniki trójmianu, b, c. Zaburzmy te współczynniki: b → b + ε2, c → c + ε3 . c 2012 P. F. Góra Copyright 2–3 Rozwiazaniami ˛ sa˛ teraz x̄1,2 = 1 2 −b + ε2 ± q (b + ε2)2 − 4(c + ε3) ' 1 −b ± 2 2bε2 − 4ε3 2 b − 4c + ε2 ± q , 2 2 b − 4c q (3) gdzie dokonaliśmy rozwiniecia ˛ Taylora do pierwszego rz˛edu w ε1,2. Widzimy, że bład ˛ wzgledny ˛ x̄ 1,2 − x1,2 x1,2 (4) rośnie nieograniczenie, gdy b2 − 4c → 0+. Problem wyznaczania pierwiastków trójmianu (1) jest wówczas numerycznie źle uwarunkowany. Problem ten jest dobrze uwarunkowany, gdy b2 − 4c 0. c 2012 P. F. Góra Copyright 2–4 Współczynnik uwarunkowania Niech ϕ : Rn → Rm bedzie ˛ pewna˛ funkcja, ˛ x ∈ Rn dokładna˛ wartościa˛ argumentu, a x̄ ∈ Rn znanym numerycznym przybliżeniem x. Definicja: Jeżeli istnieje κ ∈ R taka, że ∀x, x̄ : kx − x̄kRn kϕ(x) − ϕ(x̄)kRm 6κ· kϕ(x)kRm kxkRn (5) nazywamy ja˛ współczynnikiem uwarunkowania zagadnienia wyliczenia wartości ϕ(·) (wzgledem ˛ zadanych norm). c 2012 P. F. Góra Copyright 2–5 Współczynnik uwarunkowania mówi jak bardzo bład ˛ wzgledny ˛ wyniku obliczeń “przekracza” bład ˛ wzgledny ˛ samej rónicy przybliżenia i wartości dokładnej. Spodziewamy sie, ˛ że jeżeli przybliżenie znacznie różni sie˛ od wartości dokładnej, także wyniki obliczeń bed ˛ a˛ sie˛ znacznie różnić. W zagadnieniach numerycznie źle uwarunkowanych może sie˛ zdarzyć, że nawet niewielkie odchylenie przybliżenia od wartości dokładnej doprowadzi do znacznej różnicy wyników. c 2012 P. F. Góra Copyright 2–6 Układy równań liniowych Niech A ∈ Rn×n bedzie ˛ macierza, ˛ x, b ∈ Rn. Rozpatrujemy równanie Ax = b , (6) Zakładamy, ˛ że macierz A oraz wektor wyrazów wolnych b sa˛ znane. Poszukujemy wektora x. Równanie (6) jest równoważne nastepuj ˛ acemu ˛ układowi równań liniowych: a11x1 a21x1 a31x1 ... a x n1 1 + a12x2 + a22x2 + a32x2 ... + an2x2 + a13x3 + a23x3 + a33x3 ... + an3x3 + ... + ... + ... ... + ... + a1n + a2n + a3n ... + ann = b1 = b2 = b3 ... = bn (7) gdzie aij sa˛ elementami macierzy A, natomiast xj , bj sa˛ elementami wektorów, odpowiednio, x, b. c 2012 P. F. Góra Copyright 2–7 Rozwiazywanie ˛ układów równan liniowych rzadko stanowi “samoistny” problem numeryczny. Zagadnienie to wystepuje ˛ jednak bardzo czesto ˛ jako pośredni etap wielu problemów obliczeniowych. Dlatego też dogłebna ˛ znajomość algorytmów numerycznego rozwiazywania ˛ układów równań liniowych jest niezwykle ważna. c 2012 P. F. Góra Copyright 2–8 Rozwiazywalno ˛ ść układów równań liniowych Układ równań (6) ma jednoznaczne rozwiazanie ˛ wtedy i tylko wtedy, gdy det A 6= 0 . (8) Z elementarnej algebry wiadomo, że rozwiazania ˛ można wówczas skonstruować posługujac ˛ sie˛ wzorami Cramera. Uwaga: Numeryczne korzystanie ze wzorów Cramera jest koszmarnie drogie i dlatego w praktyce korzystamy z innych algorytmów. Jak dobrze uwarunkowane jest zagadnienie rozwiazania ˛ równania (6)? c 2012 P. F. Góra Copyright 2–9 Przykład Rozważmy nastepuj ˛ ace ˛ układy równań: 2x + 6y 2x + 6.00001y =8 = 8.00001 2x + 6y 2x + 5.99999y =8 = 8.00002 Współczynniki tych układów równan różnia˛ sie˛ co najwyżej o 0.00002 = 2 · 10−5. Rozwiazaniem ˛ pierwszego sa˛ liczby (1, 1), drugiego — liczby (10, −2). Widzimy, że mała zmiana współczynników powoduje, że różnica rozwiaza ˛ ń jest ∼106 razy wieksza, ˛ niż zaburzenie współczynników. Powyższe układy równań sa˛ źle uwarunkowane. c 2012 P. F. Góra Copyright 2–10 Normy wektorów Niech x ∈ Rn oraz kxk oznacza norme˛ w przestrzeni Rn. Najcz˛eściej używa sie˛ jednej z trzech norm: • Norma taksówkowa: kxk1 = |x1| + |x2| + · · · + |xn| (9a) • Norma Euklidesowa: q kxk2 = xT x = q 2 2 x2 1 + x2 + · · · + xn (9b) • Norma maximum (worst offender ): kxk∞ = max |xi| i=1,...,n (9c) Jeżeli nie zazanaczymy inaczej, przez norme˛ wektorowa˛ bedziemy ˛ rozumieć norme˛ Euklidesowa. ˛ c 2012 P. F. Góra Copyright 2–11 Norma macierzy Niech A ∈ RN ×N . Norma˛ macierzy (indukowana) ˛ nazywam ( kAk = max ) kAxk : x ∈ RN , x 6= 0 = max {kAxk} kxk kxk=1 (10) Promieniem spektralnym macierzy A ∈ RN ×N nazywam r T ρ = AA c 2012 P. F. Góra Copyright (11) 2–12 Współczynnik uwarunkowania układu równań liniowych Rozwiazujemy ˛ układ rownań (det A 6= 0) Ay = b (12a) Przypuśćmy, że wyraz wolny b jest obarczony jakimś błedem ˛ ∆b, czyli rozwiazujemy ˛ Aỹ = b + ∆b (12b) Zauważmy, że ỹ − y = A−1 (b + ∆b) − A−1y = A−1∆b. c 2012 P. F. Góra Copyright 2–13 Jak bład ˛ wyrazu wolnego wpływa na rozwiazanie? ˛ Obliczamy kỹ − yk = kyk −1 A ∆b kyk 6 −1 A · k∆bk kyk (13a) Z drugiej strony kbk = kAyk 6 kAk · kyk skad ˛ wynika, że 1 kAk 6 kyk kbk (13b) kỹ − yk −1 k∆bk 6 A · A · kyk {z } kbk | (13c) Ostatecznie κ c 2012 P. F. Góra Copyright 2–14 Współczynnik uwarunkowania macierzy symetrycznej, rzeczywistej Niech A ∈ RN bedzie ˛ odwracalna˛ macierza˛ symetryczna, ˛ rzeczywista. ˛ W takim wypadku jej wartości własne sa˛ rzeczywiste a jej unormowane n . Oznaczmy wartości własne wektory własne {ei}n stanowi a ˛ baz˛ e w R i=1 n taki, że kxk = 1. tej macierzy przez {λi}n . Weźmy dowolny x ∈ R i=1 Wówczas x= n X i=1 αiei , n X α2 i = 1. (14) i=1 v u n n n n uX 2 2 X X X αi λi kAxk = A αi e i = αiAei = αiλiei = t i=1 i=1 i=1 i=1 v v u n u n uX 2 uX 2 2 t 6 αi max(λi ) = max |λi| · t αi = max |λi| (15) i i i=1 i=1 c 2012 P. F. Góra Copyright 2–15 Uwzgledniaj ˛ ac ˛ (10), widzimy, że kAk = max |λi|: norma odwracalnej i macierzy symetrycznej, rzeczywistej jest równa najwiekszemu ˛ modułowi spośród jej wartości własnych. Rozważmy teraz macierz A−1. Ma ona te same wektory własne, co A, natomiast jej wartości własne sa˛ odwrotnościami wartości własnej macierzy nieodwróconej, A−1ei = λ1 ei. Postepuj ˛ ac ˛ jak powyżej, łatwo możemy i pokazać, że 1 1 −1 = . A = max i |λi | min |λi| i c 2012 P. F. Góra Copyright (16) 2–16 Uwzgledniaj ˛ ac ˛ (13c), (15) i (16), widzimy, że zachodzi nastepuj ˛ ace ˛ Twierdzenie: Współczynnik uwarunkowania odwracalnej macierzy symetrycznej, rzeczywistej jest równy ilorazowi najwiekszego ˛ i najmniejszego modułu spośród jej wartości własnych. max |λi| κ= i min |λi| . (17) i c 2012 P. F. Góra Copyright 2–17 Co można zrobić z układem równań . . . tak, aby jego rozwiazania ˛ sie˛ nie zmieniły? Rozważam układ równań (przykład 3 × 3 dla oszcz˛edności miejsca): a11x1 + a12x2 + a13x3 = b1 a21x1 + a22x2 + a23x3 = b2 a x 31 1 + a32 x2 + a33 x3 = b3 (18) 1. Równania można zapisać w innej kolejności: a21x1 + a22x2 + a23x3 = b2 a11x1 + a12x2 + a13x3 = b1 a x 31 1 + a32 x2 + a33 x3 = b3 (19) Odpowiada to permutacji wierszy macierzy układu równań, z jednoczesna˛ permutacja˛ kolumny wyrazów wolnych. c 2012 P. F. Góra Copyright 2–18 2. Równania można dodać stronami, po pomnożeniu przez dowolna˛ stała˛ różna˛ od zera: a11 x1 + a12 x2 + a13 x3 = b1 a21 x1 + a22 x2 + a23 x3 = b2 (z · a + a )x + (z · a + a )x + (z · a + a )x = z · b + b 11 31 1 12 32 2 13 33 3 1 3 (20) Odpowiada to zastapieniu ˛ jednego wiersza macierzy układu równań przez dowolna˛ kombinacje˛ liniowa˛ tego wiersza z innymi, z jednoczesna˛ analigiczna˛ operacja˛ na kolumnie wyrazów wolnych. c 2012 P. F. Góra Copyright 2–19 3. We wszystkich równaniach można przestawić kolejność, w jakiej pojawiaja˛ sie˛ zmienne: a11x1 + a13x3 + a12x2 = b1 a21x1 + a23x3 + a22x2 = b2 a x 31 1 + a33 x3 + a32 x2 = b3 (21) Odpowiada to permutacji kolumn macierzy układu równań, z jednoczesna˛ permutacja˛ kolumny niewiadomych. c 2012 P. F. Góra Copyright 2–20 Eliminacja Gaussa Tej cz˛eści — na razie? — nie ma. Była na wykładzie. c 2012 P. F. Góra Copyright 2–21 Dygresja: Złożoność obliczeniowa Niech N oznacza liczbe˛ danych wejściowych pewnego algorytmu. Niech M(N ) oznacza liczbe˛ operacji, jaka˛ algorytm ten wykonuje dla N danych. Mówimy, że algorytm ma złożoność obliczeniowa˛ O (P(N )) jeżeli ∃N0 ∈ N, A1, A2 > 0 ∀N > N0 : A1 · P(N ) 6 M(N ) 6 A2 · P(N ) (22) c 2012 P. F. Góra Copyright 2–22