Numerické metody
Úvod
Úvod Co je obsahem numerických metod? Numerické metody slouží k přibližnému výpočtu věcí, které se přesně vypočítat bud nedají vůbec, nebo by byl výpočet neúměrně pracný. Obsahem našeho kurzu bude: Řešení soustav lineárních rovnic Řešení nelineárních rovnic: x + e x = 2 x =? Aproximace funkcí: f (1) = 1,234, f (1,1) = 1,345 f (1,07) =? Výpočet derivace a integrálu: π 0 sin(x 2 ) dx =? Řešení diferenciálních rovnic: y = x 2 + y 2, y(0) = 1 y(0,1) =?
Chyby
Chyby Zdroje a typy chyb Chyby matematického modelu Chyby vstupních dat Chyby numerické metody Zaokrouhlovací chyby
Chyby Absolutní a relativní chyba Je-li ˆx přesné číslo a x jeho přibližná hodnota, pak absolutní chyba je E(x) = ˆx x, tj. přesná hodnota = přibližná hodnota + chyba, relativní chyba je RE(x) = E(x) x.
Připomenutí co je to soustava lineárních rovnic Příklad 2x 3y + z = 5 3x + 5y + 2z = 4 x + 2y z = 1 Soustava lineárních rovnic obecně Maticový tvar: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.. a n1 x 1 + a n2 x 2 + + a nn x n = b n Ax = b.
V praxi se vyskytují velmi velké soustavy rovnic, často s tzv. řídkou maticí (v každém řádku je jen několik nenulových prvků). Metody řešení soustav lineárních rovnic Přímé po konečném počtu matematických operací dojdeme přímo k přesnému řešení. (Řešení ve skutečnosti kvůli zaokrouhlovacím chybám přesné být nemusí.) Iterační zvoĺıme počáteční aproximaci řešení a postupně ji zlepšujeme. K přesnému řešení bychom se obecně dostali až v limitě (tj. nekonečným počtem kroků).
Přímé metody Cramerovo pravidlo Gaussova eliminační metoda... (existují i další metody)
Cramerovo pravidlo Je-li matice soustavy A regulární, tj. její determinant je nenulový, pak řešení soustavy lze vypočítat jako x 1 = D 1 D, x 2 = D 2 D,..., x n = D n D kde D je determinant matice soustavy A a D k, k = 1,..., n, jsou determinanty matic, které vzniknou tak, že v A nahradíme k-tý sloupec vektorem pravých stran b. Cramerovo pravidlo je vhodné jen pro velmi malé soustavy.
Gaussova eliminační metoda Soustavu pomocí elementárních úprav převedeme na trojúhelníkový tvar, ze kterého se řešení snadno spočítá pomocí tzv. zpětného chodu. Původní soustava: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.. a n1 x 1 + a n2 x 2 + + a nn x n = b n Upravená soustava: ã 11 x 1 + ã 12 x 2 + + ã 1n x n = b 1 ã 22 x 2 + + ã 2n x n = b 2 ã nn x n = b n.
Příklad Gaussovou eliminační metodou najděte řešení soustavy 2x 3y + z = 5 3x + 5y + 2z = 4 x + 2y z = 1
2 3 1 5 / 3 2 / ( 1 ) 2 3 5 2 4 1 2 1 1 2 3 1 5 0 0,5 3,5 3,5 0 3,5 1,5 1,5 2 3 1 5 ( 0 0,5 3,5 3,5 / 0 3,5 1,5 1,5 3,5 0,5 ) 2 3 1 5 0 0,5 3,5 3,5 0 0 26 26 2x 3y + z = 5 0,5y + 3,5z = 3,5 26z = 26 x = 2 y = 0 z = 1
Nevýhody Gaussovy eliminační metody Výpočet je časově náročný, potřebných aritmetických operací je řádově n 3 /3. Při výpočtu se mohou hromadit zaokrouhlovací chyby.
Příklad Gaussovou eliminační metodou najděte řešení soustavy 0,0001x + y = 1 x + y = 2. Při výpočtu zaokrouhlujte na 3 platné číslice.
Eliminace s částečným výběrem hlavního prvku Slouží k minimalizaci zaokrouhlovacích chyb. Pro eliminaci prvků v k-tém sloupci používáme násobky toho řádku (vybíráme z k-tého až n-tého řádku), ve kterém má číslo v k-tém sloupci největší absolutní hodnotu. Toto číslo s největší absolutní hodnotou nazýváme hlavní prvek nebo též pivot.
Příklad Pomocí eliminace s částečným výběrem hlavního prvku najděte řešení soustavy x + 7,5y = 16 2x 2y + 2z = 4 10x 5y 8z = 8
1 7,5 0 16 10 5 8 8 / 2 / ( 1 ) 10 10 2 2 2 4 2 2 2 4 10 5 8 8 1 7,5 0 16 10 5 8 8 0 3 0,4 5,6 0 8 0,8 16,8 10 5 8 8 0 8 0,8 16,8 / 3 0 3 0,4 5,6 8 10 5 8 8 0 8 0,8 16,8 0 0 0,7 0,7 10x 5y 8z = 8 8y + 0,8z = 16,8 0,7z = 0,7 x = 1 y = 2 z = 1
Iterační metody Jacobiho metoda Gauss-Seidelova metoda... (existují i další metody)
Jacobiho metoda Z 1. rovnice vyjádříme 1. neznámou, z 2. rovnice 2. neznámou atd. Zvoĺıme počáteční aproximaci řešení x (0) = (x (0) 1, x (0) 2,..., x n (0) ) T, dosadíme vypočteme x (1), opět dosadíme atd.: x (k+1) 1 = 1 ( ) b 1 a 12 x (k) 2 a 13 x (k) 3 a 1n x n (k) a 11 x (k+1) 2 = 1 ( ) b 2 a 21 x (k) 1 a 23 x (k) 3 a 2n x n (k) a 22. x n (k+1) = 1 ( ) b n a n1 x (k) 1 a n2 x (k) 2 a n n 1 x (k) n 1, a nn Pokračujeme, dokud se všechny složky řešení neustáĺı, tj. dokud neplatí x (k+1) i x (k) i < ε pro všechna i = 1,..., n.
Konvergence a divergence metody Řešení pomocí Jacobiho metody nemusíme najít vždy. Jestliže se postupné aproximace k řešení bĺıží, řekneme, že metoda konverguje. Jestliže řešení nenajdeme, řekneme, že metoda diverguje.
Podmínky konvergence pro Jacobiho metodu Diagonálně dominantní matice Matice A se nazývá řádkově ostře diagonálně dominantní, jestliže je v každém řádku absolutní hodnota prvku na diagonále větší než součet absolutních hodnot všech ostatních prvků v onom řádku neboli jestliže a ii > n j=1,j i a ij pro i = 1,..., n Podobně definujeme sloupcově ostře diagonálně dominantní matici: n a jj > a ij pro j = 1,..., n. i=1,i j
Podmínky konvergence pro Jacobiho metodu Je-li matice A ostře řádkově nebo sloupcově diagonálně dominantní, pak Jacobiho metoda konverguje pro libovolnou počáteční aproximaci x (0). Jestliže matice není diagonálně dominantní, Jacobiho metoda konvergovat může a nemusí.
Gauss-Seidelova metoda Počítáme podobně jako u Jacobiho metody, ale v každém kroku použijeme nejnovější hodnoty neznámých: x (k+1) 1 = 1 ( ) b 1 a 12 x (k) 2 a 13 x (k) 3 a 1n x n (k) a 11 x (k+1) 2 = 1 ( ) b 2 a 21 x (k+1) 1 a 23 x (k) 3 a 2n x n (k) a 22 x (k+1) 3 = 1 ( ) b 3 a 31 x (k+1) 1 a 32 x (k+1) 2 a 3n x n (k) a 33. x n (k+1) = 1 ( ) b n a n1 x (k+1) 1 a n2 x (k+1) 2 a n n 1 x (k+1) n 1 a nn
Podmínky konvergence pro Gauss-Seidelovu metodu Pozitivně definitní matice Symetrická matice A se nazývá pozitivně definitní, jestliže pro každý nenulový sloupcový vektor x = (x 1,..., x n ) T platí x T A x > 0 Jestliže libovolnou regulární matici A vynásobíme maticí k ní transponovanou, dostaneme matici, která je symetrická a pozitivně definitní.
Podmínky konvergence pro Gauss-Seidelovu metodu Je-li matice A ostře řádkově nebo sloupcově diagonálně dominantní, pak Gauss-Seidelova metoda konverguje pro libovolnou počáteční aproximaci x (0). Je-li matice A symetrická pozitivně definitní, pak Gauss-Seidelova metoda konverguje pro libovolnou počáteční aproximaci x (0). Jestliže matice nemá žádnou z uvedených vlastností, Gauss-Seidelova metoda konvergovat může a nemusí.
Jak zaručit konvergenci Gauss-Seidelovy metody Vynásobíme-li původní soustavu maticí k A transponovanou: Ax = b A T Ax = A T b, dostaneme soustavu s pozitivně definitní maticí, pro kterou je konvergence zaručena (může být ovšem dosti pomalá).
Jacobiho a Gauss-Seidelova metoda se nejlépe hodí pro velké soustavy rovnic s řídkou maticí.
Další používané metody Metoda LU rozkladu Choleského rozklad Metoda sdružených gradientů...