6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/ ITERAČNÍ METODY PRO ŘEŠENÍ SYSTÉMŮ LINEÁRNÍCH ROVNIC Budeme se zabývat řešením soustavy lineárních rovnic s regulární maticí soustavy A Princip iteračních metod: převést soustavu na systém x = T x + d s iterační maticí T x (i+) = T x (i) + d, vhodnou volbou iterační matice T a vektoru d dostáváme konkrétní iterační metodu STOP podmínka: x (i+) x (i) < ε, kde {,, 2} Rozklad matice soustavy A: A = D + L + U, kde D značí diagonální matici, L dolní trojúhelníkovou matici bez diagonály a U horní trojúhelníkovou matici bez diagonály: a, 0 0 0 0 0 0 a,2 a,n 0 a 2,2 0 D =, L = a 2, 0 0, U = 0 0 a 2,n an,n 0 0 a n,n a n, a n,n 0 0 0 0 Soustavu JACOBIOVA ITERAČNÍ METODA řešíme rozkladem matice A = D + L + U Postupnými úpravami dostáváme iterační proces ve tvaru s iterační maticí T J (D + L + U)x = b Dx = (L + U)x + b x = D (L + U)x + D b x (i+) = D (L + U) x (i) + }{{}} D {{ b } T J d J Soustavu GAUSSOVA-SEIDELOVA ITERAČNÍ METODA řešíme rozkladem matice A = D + L + U Postupnými úpravami dostáváme iterační proces ve tvaru s iterační maticí T GS (D + L + U)x = b (D + L)x = Ux + b x = (D + L) Ux + (D + L) b x (i+) = (D + L) U x (i) + (D + L) b }{{}}{{} T GS d GS
6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/2 Konvergence metod: A ryze řádkově diagonálně dominantní: a i,i > n a i,j i =,, n j= j i A - ryze řádkově diagonálně dominantní konvergence pro libovolnou počáteční aproximaci x (0) R n Pozn A ryze sloupcově diagonálně dominantní: a i,i > n a i,j j =,, n i= i j Iterační posloupnost x (i) konverguje k přesnému řešení systému lineárních rovnic, existuje-li norma matic souhlasná s normou vektorů tak, že T < Příklad Danou soustavu lineárních rovnic 3x + x 2 + x 3 = 2 2x + 4x 2 + x 3 = 4 x x 2 3x 3 = řešte Jacobiovou i Gaussovou-Seidelovou metodou Zvolte počáteční aproximaci x (0) = (0, 0, 0) T a ε = 000 Řešení Jacobiova metoda: i x i 3 i x (i) 3 i x (i) 3 2 06667 0000 03333 0000 06667 0000 03333 20000 06667 0000 03333 2472 2 02222 05833-02222 05555 2 02222 05833-02222 467 2 02222 05833-02222 08245 3 05463 09445 00648 0362 3 05463 09445 00648 09723 3 05463 09445 00648 05638 9 04234 0808-00766 00009 22 04230 08076-00770 00007 2 04232 08079-00768 00007 } {{ }} {{ }} {{ } 04234 04230 04232 x = 0808 x = 08076 x = 08079 00766 00770 00768 Gaussova-Seidelova metoda: i x (i) 3 i x (i) 3 i x (i) 3 2 06667 06667-0 06667 06667 06667-0 4445 06667 06667-0 09494 2 0485 07870-00895 0852 2 0485 07870-00895 0327 2 0485 07870-00895 0229 3 04342 08053-00798 00473 3 04342 08053-00798 00753 3 04342 08053-00798 0056 4 04248 08075-00775 00094 4 04248 08075-00775 0039 4 04248 08075-00775 00099 5 04233 08077-00770 0005 5 04233 08077-00770 00022 5 04233 08077-00770 0006 6 0423 08077-00769 00002 6 0423 08077-00769 00003 6 0423 08077-00769 00002 } {{ }} {{ }} {{ } 0423 0423 0423 x = 08077 x = 08077 x = 08077 00769 00769 00769
6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/3 Příklad 2 Danou soustavu lineárních rovnic 0x 5x 2 + 4x 3 = 3 x 0x 2 + 2x 3 = 5 x 8x 2 + 5x 3 = 3 řešte Jacobiovou i Gaussovou-Seidelovou metodou Zvolte počáteční aproximaci x (0) = (0, 0, 0) T a ε = 0 Řešení Matice soustavy 0 5 4 A = 0 2 8 5 není ryze řádkově ani sloupcově diagonálně dominantní, 0 4 5 3 budeme uvažovat matici soustavy A = 2 0 a vektor pravé strany b = 5 Řešíme soustavu lineárních 5 8 3 rovnic s vektorem řešení x = (x, y, z) T, kde x = x, y = x 3 a z = x 2 Nově vzniklá matice soustavy (z původní soustavy vznikla výměnou pproměnných x 2 a x 3 ) je již ryze řádkově diagonálně dominantní (0 > 4 + 5, 2 > + 0, 8 > + 5), dále řešíme iteračními metodami Jacobiova metoda: 0 0 0 x (i+) 0 4 5 x (i) 3 0 2 0 y = 0 0 y + 5 0 0 8 z (i+) 5 0 z (i) 3 i x (i) y (i) z (i) i x (i) y (i) z (i) i x (i) y (i) z (i) 2 03000-0467 6250 6250 03000-0467 6250 2347 03000-0467 6250 7042 2 2792 0925 402 3292 2 2792 0925 402 2533 2 2792 0925 402 6659 3 0636 0645 23552 0953 3 0636 0645 23552 8636 3 0636 0645 23552 805 4 296 4930 2077 08479 4 296 4930 2077 6789 4 296 4930 2077 0586 5 07566 238 2706 06029 5 07566 238 2706 3208 5 07566 238 2706 0808 5 09632 9434 3028 00780 20 043 2000 29835 0096 7 09745 9643 3022 00902 } {{ }} {{ }} {{ } ˆx 09632 ˆx 043 ˆx 09745 x = ˆx 3 = 9434 x = ˆx 3 = 2000 x = ˆx 3 = 9643 ˆx 2 3028 ˆx 2 29835 ˆx 2 3022
6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/4 Gaussova-Seidelova metoda: 0 0 0 2 0 5 8 x (i+) y (i+) = z (i+) 0 4 5 0 0 0 0 0 0 x (i) y (i) z (i) 3 + 5 3 i x (i) y (i) z (i) i x (i) y (i) z (i) i x (i) y (i) z (i) 2 03000-0447 3865 3865 03000-0447 3865 2282 03000-0447 3865 4858 2 699 0643 2720 0830 2 699 0643 2720 27384 2 699 0643 2720 5958 3 295 2992 25782 06579 3 295 2992 25782 045 3 295 2992 25782 07742 4 0694 6427 27854 03435 4 0694 6427 27854 0608 4 0694 6427 27854 04056 5 0356 882 28908 0755 5 0356 882 28908 0347 5 0356 882 28908 02075 6 08 9075 29444 00893 7 0092 9529 2977 0086 7 0092 9529 2977 00537 } {{ }} {{ }} {{ } ˆx 08 ˆx 0092 ˆx 0092 x = ˆx 3 = 9075 x = ˆx 3 = 9529 x = ˆx 3 = 9529 ˆx 2 29444 ˆx 2 2977 ˆx 2 2977
6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/5 Řešený příklad z praxe Stavební inženýr požaduje pro realizaci svého projektu 4 800 m 3 písku, 5 800 m 3 jemného štěrkopísku a 5 700 m 3 hrubého štěrkopísku Těžební společnost má k těžbě tohoto materiálu k dispozici tři jámy s následujícím zastoupením: písek [%] hrubý štěrkopísek [%] jemný štěrkopísek [%] jáma č 52 30 8 jáma č 2 20 50 30 jáma č 3 25 5 55 Kolik m 3 písku, jemného a hrubého štěrkopísku má být z každé jámy vytěženo, aby byly pokryty potřeby inženýra? Volte ε = 00 a řešte pomocí Jacobiovy i Gaussovy-Seidelovy metody Zdroj: [] + vlastní úprava Řešení Označme x, y a z množství materiálu, který má být (v tomto pořadí) vytěžen z první, druhé a třetí jámy Dostáváme tak soustavu lineárních rovnic 52 00 x + 20 00 y + 25 00 z = 4800 30 00 x + 50 00 y + 5 00 z = 5800 8 00 x + 30 00 y + 55 00 z = 5700 Výpočet s maticí soustavy složené z přirozených čísel je pro nás pohodlnější, proto z ní vytkneme hodnotu 00 Dostáváme novou soustavu lineárních rovnic s maticí soustavy 52x + 20y + 25z = 4800 30x + 50y + 5z = 5800 8x + 30y + 55z = 5700 52 20 25 A = 30 50 5, 8 30 55 kde x = x 00, y = y 00 a z = z 00 Řešení získaná pomocí Jacobiovy a Gassovy-Seidelovy metody bude z tohoto důvodu potřeba na konci výpočtu ještě vynásobit hodnotou 00 Matice A je ryze řádkově diagonálně dominantní (52 > 20 + 25, 50 > 30 + 5, 55 > 8 + 30), můžeme tedy pro libovolnou volbu počáteční aproximace odhadnout potřebné množství materiálu, které je třeba vytěžit z jam Volba počáteční aproximace: x (0) = (0, 0, 0) T Jacobiova metoda: 52 0 0 0 50 0 0 0 55 x (i+) y (i+) z (i+) 0 20 25 = 30 0 5 8 30 0 x (i) y (i) z (i) 4800 + 5800 5700
6 Jacobiova a Gaussova-Seidelova iterační metoda pro řešení systémů lin rovnic Kateřina Konečná/6 i x (i) y (i) z (i) i x (i) y (i) z (i) i x (i) y (i) z (i) 2 92308 6000 03636 6000 92308 6000 03636 3944 92308 6000 03636 80879 2-233 29525 054 9444 2-233 29525 054 274399 2-233 29525 054 58544 3 7607 4234 88230 84709 3 7607 4234 88230 240989 3 7607 4234 88230 39238 4 5953 43889 643 7799 4 5953 43889 643 2226 4 5953 43889 643 22556 5 67528 07499 77749 6360 5 67528 07499 77749 86502 5 67528 07499 77749 07692 74 39072 78072 48257 0009 82 39075 78075 48259 0009 78 39074 78074 48258 0009 } {{}}{{}}{{} x = 39072 78072 x = 39075 78075 x = 39074 78074 48257 48259 48258 Množství vytěženého materiálu z první, druhé a třetí jámy je Gaussova-Seidelova metoda: 2 x = 00 x = 3 9072 7 8072 x = 00 x = 3 9075 7 8075 x = 00 x = 3 9074 7 8074 4 8257 4 8259 4 8258 52 0 0 30 50 0 8 30 55 x (i+) y (i+) z (i+) 0 20 25 = 0 0 5 0 0 0 x (i) y (i) z (i) + 4800 5800 5700 i x (i) y (i) z (i) i x (i) y (i) z (i) i x (i) y (i) z (i) 2 92308 6065 40364 92308 92308 6065 40364 93287 92308 6065 40364 7576 2 49589 7438 46969 4279 2 49589 7438 46969 62847 2 49589 7438 46969 45293 3 422 7782 48049 8376 3 422 7782 48049 2502 3 422 7782 48049 8978 4 39522 77872 48226 69 4 39522 77872 48226 2557 4 39522 77872 48226 834 5 397 78029 48255 035 5 397 78029 48255 0537 5 397 78029 48255 0385 8 39077 78076 4826 0004 8 39077 78076 4826 0006 8 39077 78076 4826 0004 } {{}}{{}}{{} x = 39077 78076 x = 39077 78076 x = 39077 78076 4826 4826 4826 Množství vytěženého materiálu z první, druhé a třetí jámy je 2 3 9077 3 9077 3 9077 x = 00 x = 7 8076 x = 00 x = 7 8076 x = 00 x = 7 8076 4 826 4 826 4 826 [] https://thumbsdreamstimecom/z/doodle-excavator-drawing-vector-eps-34277567jpg [verze: 27 X 207]