doc. rndr. josef dal´ık, csc. · 2008. 12. 18. · c´ısloˇ ε(x) spln. ... vyv´ıjenyc´ h po...

151
VYSOK ´ EU ˇ CEN ´ I TECHNICK ´ E V BRN ˇ E FAKULTA STAVEBN ´ I doc. RNDr. Josef Dal´ ık, CSc. MATEMATIKA NUMERICK ´ E METODY STUDIJN ´ I OPORY PRO STUDIJN ´ I PROGRAMY S KOMBINOVANOU FORMOU STUDIA

Upload: others

Post on 28-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • VYSOKÉ UČENÍ TECHNICKÉ V BRNĚFAKULTA STAVEBNÍ

    doc. RNDr. Josef Daĺık, CSc.

    MATEMATIKANUMERICKÉ METODY

    STUDIJNÍ OPORYPRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA

  • Typeset by LATEX2εc© Josef Daĺık 2008

  • [email protected]

    Obsah

    1 Úvod 6

    1.1 Co je to numerická analýza? . . . . . . . . . . . . . . . . . . . 6

    1.2 Co je to chyba? . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Chyby v numerických výpočtech 7

    2.1 Záznam č́ısel v paměti poč́ıtače . . . . . . . . . . . . . . . . . 8

    2.2 Chyby, ovlivňuj́ıćı výsledky numerických výpočt̊u . . . . . . . 9

    3 Jedna rovnice pro jednu neznámou 11

    3.1 Metody pro určeńı počátečńı aproximace . . . . . . . . . . . . 11

    3.2 Metoda prosté iterace . . . . . . . . . . . . . . . . . . . . . . . 15

    3.3 Efektivńı zpřesňuj́ıćı metody . . . . . . . . . . . . . . . . . . . 18

    3.3.1 Newtonova metoda (linearizace) . . . . . . . . . . . . . 18

    3.3.2 Geometrický význam Newtonovy metody . . . . . . . . 19

    3.3.3 Analýza chyby Newtonovy metody . . . . . . . . . . . 20

    3.3.4 Fourierovy podmı́nky . . . . . . . . . . . . . . . . . . . 21

    3.3.5 Modifikace Newtonovy metody . . . . . . . . . . . . . 21

    4 Normy matic a vektor̊u 23

    5 Řešeńı systémů lineárńıch rovnicpř́ımými metodami 28

    5.1 Gaussova eliminace s (částečným) výběremhlavńıch prvk̊u . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5.2 LU–rozklad matice . . . . . . . . . . . . . . . . . . . . . . . . 32

    5.3 Výpočet matice inverzńı . . . . . . . . . . . . . . . . . . . . . 33

    5.4 Speciálńı matice . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.4.1 Symetrické pozitivně definitńı matice . . . . . . . . . . 35

    5.4.2 Ř́ıdké matice . . . . . . . . . . . . . . . . . . . . . . . 36

    5.5 Č́ıslo podmı́něnosti matice . . . . . . . . . . . . . . . . . . . . 38

    6 Vlastńı č́ısla a vlastńı vektory matic 43

    6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    6.2 Mocninná metoda . . . . . . . . . . . . . . . . . . . . . . . . . 47

    3

  • 7 Řešeńı systémů lineárńıch rovnic iteraćı I 507.1 Jacobiova metoda . . . . . . . . . . . . . . . . . . . . . . . . . 517.2 Gaussova–Seidelova metoda . . . . . . . . . . . . . . . . . . . 527.3 Relaxačńı metody . . . . . . . . . . . . . . . . . . . . . . . . . 54

    8 Řešeńı systémů lineárńıch rovnic iteraćı II 588.1 Základńı pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . 588.2 Metoda největš́ıho spádu . . . . . . . . . . . . . . . . . . . . . 598.3 Metody těžkého mı́če . . . . . . . . . . . . . . . . . . . . . . . 618.4 Metoda konjugovaných gradient̊u . . . . . . . . . . . . . . . . 62

    9 Řešeńı systémů nelineárńıch rovnic 649.1 Metoda prosté iterace . . . . . . . . . . . . . . . . . . . . . . . 649.2 Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . 67

    10 Aproximace funkce 7110.1 Úloha Lagrangeovy interpolace . . . . . . . . . . . . . . . . . 72

    10.1.1 Interpolačńı polynomy . . . . . . . . . . . . . . . . . . 7210.1.2 Interpolačńı kubické splajny . . . . . . . . . . . . . . . 77

    10.2 Úloha Hermiteovy interpolace . . . . . . . . . . . . . . . . . . 8210.2.1 Hermite̊uv interpolačńı polynom . . . . . . . . . . . . . 8210.2.2 Hermiteovy kubické interpolačńı splajny . . . . . . . . 84

    10.3 Diskrétńı metoda nejmenš́ıch čtverc̊u (MNČ) . . . . . . . . . . 86

    11 Numerický výpočet derivace 94

    12 Počátečńı problémy pro ODR (obyčejnédiferenciálńı rovnice) 98

    13 Aproximace řešeńı okrajových úlohpro ODR 2. řádu metodou śıt́ı 11413.1 Klasická formulace úlohy . . . . . . . . . . . . . . . . . . . . . 11413.2 Fyzikálńı význam . . . . . . . . . . . . . . . . . . . . . . . . . 11413.3 Existence klasického řešeńı . . . . . . . . . . . . . . . . . . . . 11513.4 Standardńı metoda śıt́ı . . . . . . . . . . . . . . . . . . . . . . 115

    14 Numerická integrace 12214.1 Obdélńıkové, lichoběžńıkové a

    Simpsonovo pravidlo . . . . . . . . . . . . . . . . . . . . . . . 12214.2 Gaussova kvadratura . . . . . . . . . . . . . . . . . . . . . . . 12614.3 Rombergova metoda . . . . . . . . . . . . . . . . . . . . . . . 12914.4 Integrace funkćı dvou proměnných . . . . . . . . . . . . . . . . 132

    4

  • 15 Aproximace řešeńı okrajových úloh pro ODR metodou konečnýchprvk̊u (MKP) 138

    15.1 Okrajová úloha pro ODR 2. řádu . . . . . . . . . . . . . . . . 138

    5

  • 1 Úvod

    1.1 Co je to numerická analýza?

    Řešeńı problému matematickými prostředky :

    Krok 1. Formulovat daný problém: Źıskat ”objektivńıpoznatky” o konkrétńım technickém, př́ırodńım, ekonomickémnebo společenském procesu.

    Krok 2. Vytvořit matematický model: Přesný matem-atický popis podstatných vztah̊u určuj́ıćıch daný proces.

    Vzhledem ke složitosti prakticky d̊uležitých model̊u nelze řešeńımodelu popsat. Pozornost se soustřed’uje na algoritmy pro kon-strukci tzv. aproximaćı řešeńı.

    Krok 3. Vytvořit numerický problém (diskretizaci),charakterizovaný

    – konečnou množinou vstupńıch dat,

    – konečnou množinou výstupńıch dat a

    – konečnou posloupnost́ı krok̊u, které daná vstupńı data trans-formuj́ı na výstupńı data (algoritmem).

    Krok 4. Výpočet konkrétńıch výstupńıch dat pro danávstupńı data.

    Numerická metoda je zp̊usob, jak matematickým model̊umpřǐrazovat diskretizace, jak je zjednodušovat a jak transformo-vat daná vstupńı data na data výstupńı. Numerická analýzaje matematický obor, jehož ćılem je navrhovat nové numer-ické metody, studovat existuj́ıćı numerické metody a navrhovatvhodné struktury vstupńıch dat (preprocessing) a výstupńıchdat (postprocessing). Kvalita numerické metody je zpravidlaurčena jej́ı

    6

  • – výpočtovou složitost́ı (efektivitou),– přesnost́ı výsledné vypočtené aproximace,– velikost́ı tř́ıdy model̊u, na něž lze numerickou metodu ap-

    likovat (robustnost́ı).

    1.2 Co je to chyba?

    Rozd́ıl mezi

    – reálným procesem a řešeńım modelu – chyba modelu,

    – řešeńım modelu a numerické úlohy (diskretizace) – chybanumerické metody (chyba diskretizace),

    – řešeńım numerické úlohy (diskretizace) a skutečně vypočtenýmvýsledkem – zaokrouhlovaćı chyba.

    Chyby uvedených typ̊u se ”sč́ıtaj́ı”. Řešeńı úlohy je efektivńı,když velikost chyb všech typ̊u je srovnatelná.

    2 Chyby v numerických výpočtech

    Mı́sto s přesnou hodnotou x̂ poč́ıtáme s aproximaćı x.

    ex = x̂− x

    se nazývá (absolutńı) chyba aproximace x. Č́ıslo ε(x) splň.

    |x̂− x| < ε(x)

    je odhad (absolutńı) chyby. Symbolicky: x̂ = x± ε(x), nazývá seneúplné č́ıslo.

    ex/x = (x̂− x)/xse nazývá relativńı chyba aproximace x. Č́ıslo δ(x) splň.

    |(x̂− x)/x| ≤ δ(x)

    je odhad relativńı chyby.

    7

  • 2.1 Záznam č́ısel v paměti poč́ıtače

    Výpočetńı postupy numerické analýzy jsou implementovány napoč́ıtači.

    a) Zápis č́ısla ĉ v pohyblivé řádové čárce:

    zn(ĉ) ·mantisa · 2exponent,

    V poč́ıtač́ıch, vyv́ıjených po roce 1985 jsou č́ısla v pohyblivéčárce zaznamenávána téměř výhradně v souladu s normou IEEEńıže popsaným zp̊usobem a1) a a2).

    a1) Jednoduchá přesnost. Zde

    mantisa = (1, c1c2 . . . c23)2 = 1 +c12

    + . . . +c23223

    je normalizovaná dvojková mantisa, tj. c1, . . . , c23 jsou 0 nebo 1a exponent je od -126 do 127. Zaznamenaná přibližná hodnotac vznikne převedeńım přesné hodnoty ĉ do dvojkové soustavy azaokrouhleńım na 24 dvojkových č́ıslic. Při tomto zaokrouhleńımůže vzniknout relativńı chyba ve výši nejvýše 1, 2 ·10−7. Protoř́ıkáme, že toto zobrazeńı je s přesnost́ı na 7 platných deśıtkovýchč́ıslic. V paměti poč́ıtače zauj́ımá znaménko 1 bit, mantisa 23bit̊u a exponent 8 bit̊u. Tedy nejmenš́ı kladné č́ıslo, které lzetakto v paměti poč́ıtače zobrazit, je 2−126 .= 1,2 ·10−38 a největš́ıkladná zobrazitelná hodnota je (2−2−23)2127 .= 3,4 ·1038. Č́ıslo 0se zobrazuje tak, že všech 32 bit̊u záznamu je obsazeno nulami.

    Nenulová č́ısla o abs. hodnotě menš́ı, než 2−126 .= 1,2 · 10−38nebo větš́ı, než (2−2−23)2127 .= 3,4 ·1038, nelze do paměti uložit.Mluv́ıme o podtečeńı nebo přetečeńı.

    a2) Dvojnásobná přesnost. Záznam č́ısla zauj́ımá 64 bit̊u, lzeukládat č́ısla, jejichž absolutńı hodnota je přibližně v rozsahuod 2,2 · 10−308 do 1,8 · 10308 a zobrazeńı je přibližně s relativńıpřesnost́ı 2,2 · 10−16, tedy na 16 platných deśıtkových č́ıslic.

    8

  • b) Zápis č́ısel v pevné řádové čárce. Č́ısla jsou zaznamenávánas konstantńım počtem desetinných mı́st. Typ ”integer”, početdesetinných mı́st je roven nule.

    Př́ıklad 2.1. Záznam č́ısla ĉ = 1/3 v pohyblivé řádové čárces jednoduchou přesnost́ı je

    c = +(1, 0101010101010101010101)2 · 2−2 = 0,33333331346 . . .

    2.2 Chyby, ovlivňuj́ıćı výsledky numerických výpočt̊u

    Výsledky numerických výpočt̊u ovlivňuj́ı :

    a) Chyby vstupńıch dat.

    b) Zaokrouhlovaćı chyby během výpočtu. Ke vzniku zaokrouhlo-vaćı chyby docháźı prakticky po každé aritmetické operaci. Zaokrouhlo-vaćı chyby jsou v numerických výpočtech všude, jde o to, aby sejejich velikost neúměrně nezvětšila. Algoritmy, v nichž je velikostzaokrouhlovaćıch chyb omezená, se nazývaj́ı stabilńı.

    Př́ıklad 2.2. Č́ısla

    yi =∫ 10

    xi

    x + 5dx

    poč́ıtejte pro i = 0, 1, . . . , 8. Zaokrouhlujte na 3 desetinná mı́sta.

    Řešeńı.

    yi + 5yi−1 =∫ 10

    xi + 5xi−1

    x + 5dx =

    ∫ 10

    xi−1x + 5

    x + 5dx =

    ∫ 10

    xi−1 =1

    i,

    tj. yi = 1/i− 5yi−1 pro i = 1, . . . , 8. Tedy pro

    y0 =∫ 10

    1

    x + 5dx = [ln |x + 5|]10

    .= 0,182

    9

  • dostaneme :

    y1 = 1− 5y0 .= 0,090y2 = 1/2− 5y1 .= 0,050y3 = 1/3− 5y2 .= 0,083y4 = 1/4− 5y3 .= -0,165

    Hodnota y4 je nesmyslná.

    Na začátku jsme nahradili hodnotu ŷ0 = ln 1, 2.= 0,182322

    aproximaćı y0 = 0,182 s chybou e0.= 0,000322. Při každém

    kroku se chyba vynásob́ı č́ıslem -5, takže e1.= -0,00161, e2

    .=0,00805, e3

    .= -0,04025 a e4.= 0,20125. Pro i = 4, 5, . . . chyba

    znehodnot́ı vypočtené hodnoty yi.

    Užijeme-li rekurzivńıho vztahu ve tvaru

    yi−1 = (1/i− yi)/5,

    pak se chyba v každém kroku pětkrát zmenšuje. Polož́ıme y10.=

    y9. Pak z y9.= (0, 1− y9)/5 plyne y9 .= 0, 017 a

    y8 = (1/9− y9)/5 .= 0,019,y7 = (1/8− y8)/5 .= 0,021,

    ...

    y0.= 0,182,

    jsou přesné hodnoty ŷi zaokr. na 3 des. mı́sta.

    Nebezpeč́ı:

    násobeńı přiblǐzných hodnot velkými č́ısly nebo ekvivalentnějejich děleńı malými č́ısly: Nárúst abs. chyby.

    odeč́ıtáńı dvou přiblǐzně stejně velkých č́ısel: nár̊ust relativńıchyby.

    Cvičeńı.

    10

  • 1. Zaokrouhleńım na 3 desetinná mı́sta najděte aproximacie přesné hodnoty Eulerova č́ısla ê = 2,718281828459....Najděte co nejmenš́ı odhad absolutńı i relativńı chyby.

    2. Pro yi =∫ 10 x

    i/(x + 10)dx najděte rekurzivńı vztah mezi yia yi+1 a užijte jej pro stabilńı výpočet hodnot y0, y1, . . . , y6.

    3. Řetězec +(1, 00100100100100100100101)2 · 2−3 představujezáznam č́ısla 1/7 v paměti poč́ıtače v pohyblivé řádovéčárce s jednoduchou přesnost́ı. Určete přesnou hodnotu to-hoto záznamu na 10 platných č́ıslic a porovnejte ji s přesnouhodnotou 1/7.

    3 Jedna rovnice pro jednu neznámou

    Uvažme funkci f na intervalu I ⊆

  • Obrázek 1: Počátečńı aproximace kořen̊u

    lze źıskat výpočtem hodnot funkce f v bodech z tabulky: x(1) ∈(-0,8; -0,7) a x(2) ∈ (1,5; 1,7).

    x ex 2x + 2 f(x)

    -0,8 0,4493 0,4 > 0-0,7 0,4966 0,6 < 01,5 4,4817 5,0 < 01,7 5,4739 5,4 > 0

    Spojitá funkce f má na intervalu (a, b) alespoň jeden kořen,jakmile f(a) · f(b) < 0.

    Necht’ je dán interval (a0, b0): f(a0) · f(b0) < 0. Konstruuje seposloupnost interval̊u

    (a0, b0) ⊃ (a1, b1) ⊃ . . .

    s vlastnost́ı f(ai)·f(bi) < 0 pro i = 1, 2, . . . Interval (ai, bi) se na-jde takto: V (ai−1, bi−1) se vybere bod xi. Jestliže f(xi) = 0, je xihledaný kořen a výpočet konč́ı. Jestliže f(xi) 6= 0, pak vzhledemk předp. f(ai−1) · f(bi−1) < 0 plat́ı právě jedna z podmı́nek

    f(ai−1) · f(xi) < 0, f(xi) · f(bi−1) < 0.

    12

  • V prvńım př́ıpadě polož́ıme ai = ai−1, bi = xi a ve druhémai = xi, bi = bi−1.

    Metoda p̊uleńı (intervalu). Za bod xi se voĺı střed inter-valu (ai−1, bi−1). Konvergence: na začátku v́ıme, že alespoň jedenkořen x lež́ı v intervalu (a0, b0). Polož́ıme tedy

    x = x1 ± d0, kde d0 = (b0 − a0)/2

    je odhad chyby. Po i kroćıch v́ıme, že alespoň jeden kořen lež́ı vintervalu (ai, bi) o velikosti

    bi − ai = (bi−1 − ai−1)/2 = . . . = (b0 − a0)/2i.

    Polož́ıme tedy

    x = xi+1 ± di, kde di = (bi − ai)/2 = (b0 − a0)/2i+1

    je odhad chyby. Tedy i krok̊u metody p̊uleńı zmenš́ı odhad chyby2i–krát.

    Podmı́nka ukončeńı. Zadáme velikost odhadu chyby ε a výpočetukonč́ıme, jakmile di ≤ ε. Kořen x aproximujeme hodnotou xi+1a v́ıme, že

    |x− xi+1| < di ≤ ε.

    Př́ıklad 3.2. Pro źıskáńı jedné platné č́ıslice aproximacekořene je třeba odhad chyby zmenšit desetkrát. Kolik krok̊umetody p̊uleńı je k tomu zapotřeb́ı?

    Řešeńı. Je třeba naj́ıt nejmenš́ı celé č́ıslo i s vlastnost́ı 10 ≤2i. Protože 10 .= 23,3, je zisk jedné platné č́ıslice aproximacekořene zaručen po 4 (v pr̊uměru po 3,3) kroćıch.

    Př́ıklad 3.3. Určete, kolik krok̊u metody p̊uleńı je třebaprovést pro aproximaci kořene x(2) rovnice (2) z intervalu (1,5, 1,7)s chybou, menš́ı než 0,005 a tuto aproximaci najděte.

    13

  • Řešeńı. Pro a0 = 1,5, b0 = 1,7 je x1 = 1,6, d0 = 0,1 a kořenx = 1,6± 0,1. Hledáme index i tak, aby

    di = (b0 − a0)/2i+1 ≤ 0,005.

    To je ekvivalentńı s 40 ≤ 2i+1 a tato podmı́nka je splněna proi ≥ 5. Výpočet 5 krok̊u metody p̊uleńı:

    i ai−1 f(ai−1) bi−1 f(bi−1) xi f(xi)

    1 1,5 < 0 1,7 > 0 1,6 < 02 1,6 < 0 1,7 > 0 1,65 < 03 1,65 < 0 1,7 > 0 1,675 < 04 1,675 < 0 1,7 > 0 1,6875 > 05 1,675 < 0 1,6875 > 0 1,68125 > 06 1,675 < 0 1,68125 > 0 1,678125

    Metoda regula falsi. Bod xi z intervalu (ai−1, bi−1) se vyb́ırájako pr̊useč́ık př́ımky procházej́ıćı body (ai−1, f(ai−1)) a (bi−1, f(bi−1))s osou x, tj.

    xi = ai−1 − f(ai−1)bi−1 − ai−1

    f(bi−1)− f(ai−1).

    Podmı́nka ukončeńı. Zvoĺı se malý parametr δ > 0 a za aprox-imaci kořene se bere prvńı bod xi s vlastnost́ı |f(xi)| ≤ δ.

    Př́ıklad 3.4. Metodou regula falsi aproximujte kořen x(2)

    rovnice (2) z Př. 3.1. Položte x(2) .= xi jakmile |f(xi)| ≤ 0, 5 ·10−3.

    Řešeńı. Výsledku je dosaženo po 2 kroćıch.

    i ai−1 bi−1 f(ai−1) f(bi−1) xi f(xi)

    1 1,5 1,7 -0,518311 0,073947 1,675029 -0,0111082 1,675029 1,7 -0,011108 0,073947 1,678290 -0,000191

    14

  • Obrázek 2: Ilustrace rychlosti konvergence metody regula falsi

    3.2 Metoda prosté iterace

    Řešit rovnici (1) iteraćı znamená převést ji na ekvivalentńı úlohunaj́ıt pevný bod funkce F :

    x = F (x), (3)

    zvolit počátečńı (nultou) aproximaci x0 a vytvořit posloupnostpostupných aproximaćı (iteračńı posloupnost) (xi)

    ∞i=0 podle předpisu

    xi+1 = F (xi) pro i = 0, 1, . . .

    Má-li iteračńı posloupnost limitu x̂, pak za předpokladu spoji-tosti F plat́ı

    x̂ = limi→∞

    xi = limi→∞

    xi+1 = limi→∞

    F (xi) = F ( limi→∞

    xi) = F (x̂),

    takže x̂ je pevný bod zobrazeńı F .

    Zobrazeńı F se nazývá kontrakce na intervalu 〈a, b〉 s koefi-cientem α, když F (x) ∈ 〈a, b〉 pro všechna x ∈ 〈a, b〉, 0 ≤ α < 1a

    |F (x)− F (y)| ≤ α|x− y| pro všechna x, y ∈ 〈a, b〉.

    15

  • Věta o kontrakci. Jestlǐze F je kontrakce na intervalu 〈a, b〉s koeficientem α, pak

    (a) v intervalu 〈a, b〉 existuje jediný pevný bod x̂ funkce F ,

    (b) x̂ je limitou posloupnosti postupných aproximaćı (xi)∞i=0 pro

    libovolně zvolenou počátečńı aproximaci x0 ∈ 〈a, b〉,

    (c) |xi − x̂| ≤ αi|x0 − x̂| pro i = 1, 2, . . .

    Důkaz tvrzeńı (a). EXISTENCE PEVNÉHO BODU: Z F (a) ∈〈a, b〉 plyne a ≤ F (a) a analogicky plat́ı F (b) ≤ b. Tedy (a −F (a))(b − F (b)) ≤ 0. Odtud a ze spojitosti funkce x − F (x)plyne, že v intervalu 〈a, b〉 existuje řešeńı rovnice x− F (x) = 0.

    JEDNOZNAČNOST PEVNÉHO BODU: Jestliže x̂ = F (x̂)a ŷ = F (ŷ) pro x̂, ŷ ∈ 〈a, b〉, pak plat́ı |x̂− ŷ| = |F (x̂)−F (ŷ)| ≤α|x̂ − ŷ|. Tato nerovnost může být splněna jen v př́ıpadě, žex̂ = ŷ.

    Důkaz tvrzeńı (c). Pro libovolný bod x0 z intervalu 〈a, b〉 a proi ≥ 1 je|xi − x̂| = |F (xi−1)− F (x̂)| ≤ α|xi−1 − x̂| ≤ . . . ≤ αi|x0 − x̂|.

    Důkaz tvrzeńı (b). Z (c) a z 0 ≤ α < 1 plyne 0 ≤ |xi − x̂| ≤αi|x0 − x̂|. Odtud a z αi|x0 − x̂| −→ 0 pro i −→ ∞ plyne|xi − x̂| −→ 0 pro i −→∞.

    Věta 1. Předpokládejme, že x̂ je pevný bod funkce F , δ > 0,α splňuje podmı́nku 0 ≤ α < 1 a |F ′(x)| ≤ α pro všechna x ∈(x̂− δ; x̂ + δ). Pak F je kontrakce s koeficientem α na intervaluI = 〈x̂− δ; x̂ + δ〉.Důkaz. Jsou-li x, y ∈ I libovolná, pak

    |F (x)− F (y)| = |F ′(ξ)(x− y)| ≤ α|x− y|podle Lagrangeovy věty o př́ır̊ustku funkce. Bod ξ lež́ı mezi bodyx, y a tedy |F ′(ξ)| ≤ α. Odtud pro libovolné x ∈ I plyne |F (x)−x̂| = |F (x)− F (x̂)| ≤ α|x− x̂| ≤ αδ < δ. Tedy F (x) ∈ I.

    16

  • Při řešeńı rovnice (1) prostou iteraćı se daná rovnice převedena ekvivalentńı tvar (3), zvoĺı se nultá aproximace x0 a poč́ıtaj́ıse aproximace xi+1 = F (xi) pro i = 0, 1, . . ..

    Podmı́nka ukončeńı: Polož́ıme x = xi+1 jakmile |xi+1−xi| ≤ εpro předem zadané malé kladné č́ıslo ε.

    Př́ıklad 3.5. Metodou prosté iterace určete všechny kořenyrovnice (2) s chybou, menš́ı než ε = 0,5 · 10−3. Zaokrouhlujte na3 desetinná mı́sta.

    Řešeńı. Podle Př. 3.1 má rovnice kořeny x(1) .= -0,8 a x(2) .=1,5.

    (a) x = ex/2− 1 ≡ F1(x) pro všechna reálná č́ısla x.(b) x = ln(2x + 2) ≡ F2(x) pro všechna x > −1.

    Protože

    |F ′1(x)| = ex/2 < 1 ⇐⇒ x < ln 2.= 0,69

    a

    |F ′2(x)| = |1/(x + 1)| < 1 ⇐⇒ x < −2 nebo x > 0,

    předpoklady Věty 1 splňuje funkce F1 v okoĺı x(1) a F2 v okoĺı

    x(2). Budeme tedy poč́ıtat

    x0 = -0,8, xi+1 = exi/2− 1 a x̃0 = 1,5, x̃i+1 = ln(2x̃i + 2).

    i 0 1 2 3 4 5 6 7

    xi -0,8 -0,775 -0,770 -0,768 -0,768x̃i 1,5 1,609 1,652 1,669 1,675 1,677 1,678 1,678

    Poznámka 1. (Zpřesněńı extrapolaćı – Aitken̊uv ∆2 proces.)Lež́ı-li prvek iteračńı posloupnosti xi bĺızko kořene x̂, pak plat́ı

    ei+1 = x̂− xi+1 = F (x̂)− F (xi) = F ′(ξ)(x̂− xi).= F ′(x̂)ei a analogicky

    ei+2.= F ′(x̂)ei+1

    17

  • Eliminaćı F ′(x̂) z těchto identit (tento obrat se nazývá extrapo-lace) vznikne

    ei+1ei

    .=ei+2ei+1

    =⇒ x̂− xi+1x̂− xi

    .=x̂− xi+2x̂− xi+1

    .

    Vyjádřeńım x̂ z této rovnice obdrž́ıme

    x̂ .= xi+2 −(xi+2 − xi+1)2

    xi+2 − 2xi+1 + xi= xi+2 −

    (∆xi+1)2

    ∆2xi.

    Př́ıklad 3.6. Zpřesněńım aproximaćı x̃0, x̃1, x̃2 kořene x(2)

    z Př. 4.5 Aitkenovým ∆2 procesem je hodnota 1,680, která jemnohem bĺıže kořene 1,678, než aproximace x̃3 = 1,669.

    Poznámka 2. Steffensenova metoda je založena na opako-vaném použit́ı Aitkenova ∆2 procesu: x0 se zvoĺı a pro i =0, 1, . . . se postupně poč́ıtá

    x3i+1 = F (x3i), x3i+2 = F (x3i+1) a x3i+3 = x3i+2 −(∆x3i+1)

    2

    ∆2x3i.

    Ověřte, že výpočet kořene x(2) z Př. 3.5 Steffensenovou metodouvyžaduje 5 krok̊u (aproximace s indexy 4 a 5 se po zaokrouhleńına 3 desetinná mı́sta shoduj́ı) oproti 7 krok̊um z Př. 3.5.

    3.3 Efektivńı zpřesňuj́ıćı metody

    Základńı metodou tohoto typu je Newtonova metoda. Daľśı zpřesňuj́ıćımetody budou prezentovány jako modifikace Newtonovy metody.

    3.3.1 Newtonova metoda (linearizace)

    Předpokládejme, že aproximace xi lež́ı bĺızko kořene x̂ rovnicef(x) = 0. Potom podle Taylorovy věty existuje bod ξ mezi xi ax̂ tak, že

    0 = f(x̂) = f(xi) + f′(xi)(x̂− xi) +

    f ′′(ξ)

    2(x̂− xi)2. (4)

    18

  • Z (4) lze vyjádřit x̂ ve tvaru

    x̂ = xi −f(xi)

    f ′(xi)−K(x̂− xi)2 pro K =

    f ′′(ξ)

    2f ′(xi). (5)

    Zanedbáme-li posledńı člen v (5) a nahrad́ıme-li x̂ aproximaćıxi+1, vznikne

    xi+1 = xi −f(xi)

    f ′(xi)(jeden krok Newtonovy metody) (6)

    Př́ıklad 3.7. Newtonovou metodou aproximujte kořen x(2)

    rovnice f(x) ≡ ex − 2x− 2 = 0. Položte x0 = 1,5 pro srovnáńı sPř́ıkladem 4.4.

    Řešeńı. Poč́ıtáme tedy

    x0 = 1, 5, xi+1 = xi −exi − 2xi − 2

    exi − 2.

    i xi0 1,51 1,7088540972 1,6790691713 1,6783474064 1,6783469905 1,678346990

    3.3.2 Geometrický význam Newtonovy metody

    -

    6

    x

    %%%%%%%

    qy

    Obrázek 3y = f(x)

    x̂ xi+1 xi

    [xi, f(xi)]

    19

  • Mı́sto nulového bodu funkce f(x) se hledá nulový bod lineárńıfunkce

    f(xi) + f′(xi)(x− xi),

    která je linearizaćı funkce f(x) ve smyslu z Obr. 3. Přesné řešeńıtéto ”linearizované rovnice” označ́ıme xi+1, takže

    f(xi) + f′(xi)(xi+1 − xi) = 0. (7)

    3.3.3 Analýza chyby Newtonovy metody

    Odečteme-li (7) od (4), źıskáme identitu

    |x− xi+1| = |K| |x− xi|2.

    Pro srovnáńı, metoda p̊uleńı splňuje podmı́nku

    εi+1 ≤1

    2εi

    pro odhady chyb a prostá iterace splňuje

    |x̂− xi+1| ≤ α |x̂− xi|

    pro vhodné α < 1. Tedy aproximace Newtonovy metody sebĺıž́ı k nule podstatně rychleji, než aproximace źıskané metodoup̊uleńı nebo prostou iteraćı za předpokladu, že chyba x̂ − xi jemalá. Na druhé straně, Newtonova metoda

    i) konverguje lokálně, tj. jen tehdy, když známá aproximacexi je bĺızko k přesnému řešeńı,

    ii) potřebuje větš́ı hladkost funkce f (existenci prvńı derivace),

    iii) v každém kroku potřebuje vypoč́ıtat hodnoty f(xi) a f′(xi).

    Řekneme, že iteračńı metoda je řádu r, když odhady chybyεi splňuj́ı podmı́nku

    εi+1 ≤ C · (εi)r

    20

  • and C je ohraničenou funkćı argumentu r pro malé kladné hod-noty r.

    Z předchoźıch úvah plyne, že Newtonova metoda je řádu 2 ametoda p̊uleńı i prosté iterace jsou řádu 1.

    3.3.4 Fourierovy podmı́nky

    Z Obr. 4 je zřejmé, že jsou-li splněny podmı́nky

    a) f, f ′, f ′′ jsou spojité na intervalu 〈a, b〉 a f(a) · f(b) < 0,

    b) f ′, f ′′ neměńı znaménka v 〈a, b〉 a f ′(x) 6= 0 ∀x ∈ 〈a, b〉,

    pak Newtonova metoda konverguje ke kořenu x̂ ∈ (a, b) pro

    x0 =

    a když f(a) · f′′(a) > 0

    b když f(b) · f ′′(b) > 0

    -

    6

    a b = x0 x

    %%%%%%

    qy

    Obrázek 4y = f(x)

    x2 x1

    q �����

    3.3.5 Modifikace Newtonovy metody

    a) Zvoĺıme-li nultou aproximaci x0 a vypoč́ıtáme x1 Newtonovoumetodou, pak metoda sečen je založena na aproximaci

    f ′(xi).=

    f(xi)− f(xi−1)xi − xi−1

    .

    Po dosazeńı do předpisu (6) vznikne jeden krok metodysečen:

    xi+1 = xi −f(xi)(xi − xi−1)f(xi)− f(xi−1)

    21

  • V každém kroku této metody stač́ı spoč́ıtat jen hodnotuf(xi). Je známo, že řád této metody je r = 1.618 = (1 +√

    5)/2.

    b) Druhá modifikace Newtonovy metody spoč́ıvá v aproximaci

    f ′(xi).=

    f(xi + f(xi))− f(xi)f(xi)

    ,

    takže

    xi+1 = xi −f 2(xi)

    f(xi + f(xi))− f(xi)po dosazeńı do (6). Řád této metody je r = 2.

    Cvičeńı

    1. Určete počet k kořen̊u rovnice sin x−0, 4(x+1)2+0, 5 = 0 aodhadněte jejich přibližné hodnoty. Najděte k disjunktńıchinterval̊u malé délky, z nichž v každém lež́ı právě jednořešeńı.

    2. Určete počet kořen̊u rovnice ex+(x+1)2−5 = 0, najděte conejmenš́ı intervaly, v nichž lež́ı právě jeden kořen a užijtejich pro aproximaci každého kořene a) metodou p̊uleńı schybou menš́ı než ε = 0,005, b) metodou regula falsi s chy-bou menš́ı než δ = 0,0005.

    3. Ověřte, že rovnice f(x) ≡ ex − x2 − x − 1 = 0 má kořenv intervalu (1,7; 1,8). Najděte ekvivalentńı rovnici ve tvarux = F (x) takovou, že F je na intervalu 〈1,7; 1,8〉 kontrakce.Aproximujte kořen z intervalu (1,7; 1,8) prostou iteraćı spočátečńı aproximaćı x0 = 1,75 s chybou menš́ı než ε =0,001

    4. Úlohu ze cvičeńı 3 aproximujte Steffensenovou metodou schybou menš́ı než ε = 0,0005.

    22

  • 5. Najděte graficky hrubé aproximace všech kořen̊u rovnice

    x4 + 50x2 − 50x− 1000 = 0.

    Všechny tyto aproximace zpřesněte Newtonovou metodous chybou menš́ı než 0.5 · 10−8.

    6. Označme x̂ přesné řešeńı rovnice f(x) = 0. Newtonovametoda je metoda prosté iterace, která hledá pevný bodfunkce F (x) = x− f(x)/f ′(x). Jaká je hodnota F ′(x̂)?

    7. Najděte všechny kořeny každé z rovnic

    1− x− e−2x = 0, x ln x− 1 = 0

    Newtonovou metodou s maximálńı možnou přesnost́ı.

    8. Určete počet k kořen̊u rovnice

    x3 + 2x2 + 10x− 20 = 0

    a aproximujte každý z nich s chybou menš́ı, než ε = 0,5·10−6prvńı i druhou modifikaćı Newtonovy metody.

    4 Normy matic a vektor̊u

    Každé zobrazeńı, které libovolné matici A s n řádky a m sloupci(matici A typu (n, m)) přǐrazuje reálné č́ıslo ‖A‖ a má vlastnosti

    (N1) ‖A‖ ≥ 0 a ‖A‖ = 0 ⇐⇒ A = O

    (N2) ‖αA‖ = |α| ‖A‖

    (N3) ‖A + B‖ ≤ ‖A‖+ ‖B‖ (trojúhelńıková nerovnost)

    a v př́ıpadě m = n

    23

  • (N4) ‖AB‖ ≤ ‖A‖ · ‖B‖

    pro všechny matice A, B typu (n, m) a pro každé reálné č́ıslo αse nazývá norma matic. Symbolem O je označena nulová matice(všechny prvky matice O jsou rovny nule).

    Pro libovolnou matici A, B, . . . budeme symbolem aij, bij, . . .značit prvek matice A, B, . . . v i–tém řádku a j–tém sloupci.Prvek vektoru x, y, . . . z

  • ‖x‖1 = 3, ‖x‖∞ = 1, ‖x‖2 =√

    3,

    Ax = [7,−4,−5]>, ‖Ax‖1 = 16, ‖Ax‖∞ = 7, ‖Ax‖2 =√

    90.

    Každá z uvedených norem matic společně s odpov́ıdaj́ıćı nor-mou vektor̊u splňuje tuto podmı́nku souhlasnosti:

    ‖Ax‖ ≤ ‖A‖‖x‖ pro všechny matice A a vektory x.

    Podmı́nka souhlasnosti znamená, že norma matice je ”dostatečněvelká”. Normy matic ‖·‖1 a ‖·‖∞ jsou nav́ıc mezi těmito velkýminormami ty nejmenš́ı. Splňuj́ı totiž podmı́nku

    ‖A‖ = maxx6=o

    ‖Ax‖‖x‖

    .

    Symbolem o je označen nulový vektor. Protože pravá strana tétoidentity záviśı jen na normě vektor̊u, lze tuto identitu chápatjako přǐrazeńı č́ısla ‖A‖ k matici A pomoćı normy vektor̊u. Lzeukázat, že toto přǐrazeńı je norma matic. Nazývá se přidruženák dané normě vektor̊u.

    Skalárńı součin vektor̊u je každé zobrazeńı 〈·, ·〉 :

  • Důkaz. Pro x = o je 〈x, x〉 = 0 podle (S1) a 〈x, y〉 = 0 podle(S3), takže tvrzeńı plat́ı. V př́ıpadě x 6= o je 〈x, x〉 > 0 a užit́ım(S1) – (S4) lze ověřit, že

    0 ≤〈y − x〈x, y〉

    〈x, x〉, y − x〈x, y〉

    〈x, x〉

    〉=〈x, x〉〈y, y〉 − 〈x, y〉2

    〈x, x〉. (8)

    Výsledná nerovnost je ekvivalentńı s 〈x, y〉2 ≤ 〈x, x〉〈y, y〉.

    II. Norma vektor̊u vytvořená skalárńım součinem.Pro libovolný skalárńı součin je

    ‖x‖ =√〈x, x〉 (9)

    norma vektor̊u na .{‖x‖1 = 12, ‖x‖∞ = 4, ‖x‖2 = 5,83.}

    2. Dokažte, že libovolný vektor x ∈

  • 4. Rozhodněte, zda předpis ‖A‖ = maxi=1,...,n,j=1,...,m |aij| prolibovolnou matici A typu (n,m) je norma matic. {Předpissplňuje podmı́nky (N1), (N2), (N3), ale (N4) nesplňuje:

    Položte A =

    1 11 1

    = B v (N4).}5. (Podmı́nka souhlasnosti) Ověřte, že pro matici

    A =

    1 −3 4

    −1 0 21 2 1

    a vektor x = [1,−1, 1]> plat́ı ‖Ax‖1 ≤ ‖A‖1‖x‖1, ‖Ax‖∞ ≤‖A‖∞‖x‖∞ a ‖Ax‖2 ≤ ‖A‖F‖x‖2. {‖Ax‖1 = 9 ≤ 27 =‖A‖1‖x‖1, ‖Ax‖∞ = 8 = ‖A‖∞‖x‖∞, ‖Ax‖2 = 8,062 ≤10,536 = ‖A‖F‖x‖2.}

    6. Všimněte si, že ve Cv. 5 plat́ı ‖Ax‖∞ = ‖A‖∞‖x‖∞. Podobně

    k matici B =

    2 0 −2

    −4 −2 10 4 1

    najděte vektor y tak, aby‖By‖∞ = ‖B‖∞‖y‖∞. {Protože ‖B‖∞ = |−4|+|−2|+|1| =(−4)(−1)+ (−2)(−1)+1 = (−4)y1 +(−2)y2 +1y3 pro vek-tor y = [−1,−1, 1]> a ‖y‖∞ = 1, plat́ı ‖By‖∞ = 7 =‖B‖∞‖y‖∞.}

    7. (Norma matic ‖ · ‖∞ je přidružená k normě vektor̊u ‖ · ‖∞)Zobecněńım úvahy ze Cv. 6 popǐste pro libovolnou matici Atypu (n, m) vektor x ∈

  • (8) jsou rovny nule. Tedy dle (S1) plat́ı y = αx pro α =〈x, y〉/〈x, x〉.}

    5 Řešeńı systémů lineárńıch rovnic

    př́ımými metodami

    Pro regulárńı matici A řádu n a vektor b ∈

  • ...

    x2 = (b2 − a23x3 − . . .− a2nxn)/a22x1 = (b1 − a12x2 − a13x3 − . . .− a1nxn)/a11

    Složitost tohoto algoritmu, který se nazývá zpětný chod, je dánapočtem operaćı ”*” a ”/”:

    1 + 2 + . . . + n =n(n + 1)

    2≈ n

    2

    2.

    Př́ımý chod je algoritmus transformace (10) na systém tvaru (12)opakovanou aplikaćı ekvivalentńı operace ”přičteńı mji–násobkui-té rovnice k jiné, j-té rovnici”.

    Př́ıklad 5.1.

    x1 + 4x2 + 3x3 = 1 | ·m21 = (−2)| ·m31 = (−1)2x1 + 5x2 + 4x3 = 4

    x1 − 3x2 − 2x3 = 5−3x2 − 2x3 = 2 | ·m32 = (−

    −7−3

    )

    −7x2 − 5x3 = 4−1

    3x3 = −

    2

    3

    Koeficienty mji se nazývaj́ı multiplikátory.

    a11 a12 a1n b1

    a(1)22 a

    (1)2n b

    (1)2

    . . . ......

    a(i−1)ii a

    (i−1)in b

    (i−1)i

    ......

    ...

    a(i−1)ji a

    (i−1)jn b

    (i−1)j

    ......

    ...

    a(i−1)ni a

    i−1nn b

    (i−1)n

    29

  • Algoritmus př́ımého chodu:

    for i from 1 to n− 1 dofor j from i + 1 to n do

    mji := −aji/aiibj := bj + mji · bifor k from i to n do

    ajk := ajk + mjiaik

    end do

    end do

    end do

    Počet operaćı ”*” a ”/” v př́ımém chodu (složitost) :

    n−1∑i=1

    n∑j=i+1

    (2 + n− i + 1) =n−1∑i=1

    (n− i)(3 + n− i)

    = 3[(n− 1) + (n− 2) + . . . + 1]+ (n− 1)2 + (n− 2)2 + . . . + 1

    =3

    2n(n− 1) + 2n

    3 − 3n2 + n6

    ≈ n3

    3.

    Algoritmus Gaussovy eliminace se skládá z krok̊u :

    Krok 1. Př́ımý chod. ( ≈ n3/3 operaćı)Krok 2. Zpětný chod. ( ≈ n2/2 operaćı)

    Systém rovnic (10) lze řešit Gaussovou eliminaćı právě kdyžmatice

    A(1) = [a11], A(2) =

    a11 a12a21 a22

    , . . . , A(n) = A.jsou regulárńı. Př. 5.2 ukazuje, že splněńı těchto předpoklad̊uneńı zárukou úspěšného numerického řešeńı úlohy (10) Gaussovoueliminaćı.

    30

  • Př́ıklad 5.2. Řešme systém rovnic

    x1 + x2 + x3 = 1

    0,0001x2 + x3 = 1

    x2 + x3 = 0

    tak, že výsledek každé operace zaokrouhĺıme na 4 platné č́ıslice.

    Výsledkem je systém s horńı trojúhelńıkovou matićı1 1 1 1

    0,0001 1 1-9999 -10000

    a zpětný chod poskytne

    x =

    001

    , zat́ımco přesné řešeńı je x̂ =

    1−10000/999910000/9999

    .Vysvětleńı: Protože x̂3 = 10000/9999 = 1,00010001 . . ., je

    x3 = 1 a př́ıslušná zaokrouhlovaćı chyba je x̂3 − x3 = 1/9999.Tato chyba se při výpočtu aproximace x2 děĺı malým hlavńımprvkem 0,0001, neboli se násob́ı č́ıslem 10 000.

    Gaussova eliminace ztráćı stabilitu v př́ıpadech, kdy maticesoustavy má v absolutńı hodnotě malé hlavńı prvky. Proto jsounavrženy modifikace, jejichž ćılem je takový výběr hlavńıch prvk̊u,aby jejich absolutńı hodnoty byly co největš́ı. S nejčastěji použ́ıva-nou z těchto modifikaćı se seznámı́me.

    5.1 Gaussova eliminace s (částečným) výběremhlavńıch prvk̊u

    V každé fázi i = 1, 2, . . . , n − 1 nejprve najdeme |a(i−1)ji | =maxi≤k≤n |a(i−1)ki | a v př́ıpadě j 6= i provedeme výměnu i–té

    31

  • rovnice s rovnićı j–tou. Viz Obr. 5.

    0j

    i

    i@@@@

    Obrázek 5

    Gaussova eliminace s výběrem hlavńıch prvk̊u řeš́ı problém(10) pro všechny regulárńı matice soustavy A a pro všechny vek-tory pravých stran b.

    5.2 LU–rozklad matice

    Dolńı trojúhelńıková matice L s jednotkami v hlavńı diagonále ahorńı trojúhelńıková matice U tvoř́ı LU–rozklad čtvercové mat-ice A, je-li A součinem matic L a U , tj. když A = LU .

    Lze snadno ověřit, že pro každou čtvercovou matici A řádu n,pro niž jsou matice A(1), A(2), . . . , A(n) regulárńı, plat́ı A = LU ,kde

    L =

    1

    −m21 1...

    ... . . .

    −mn1 −mn2 . . . 1

    , U =

    a11 a12 . . . a1n

    a(1)22 . . . a

    (1)2n

    . . . ...

    a(n−1)nn

    .

    LU–rozklad matice A je tedy výsledkem př́ımého chodu: MaticeL je vytvořena z jednotek a z multiplikátor̊u, matice U je horńıtrojúhelńıková matice, na niž př́ımý chod matici A transformuje.

    32

  • Řeš́ıme-li systém rovnic Ax = b a známe LU–rozklad A =LU , pak Ax = b ⇐⇒ LUx = b. Označ́ıme-li y = Ux, můžemeúlohu Ax = b řešit ve dvou kroćıch:

    1. Ly = b

    2. Ux = ySložitost (počet operaćı ”*” a ”/”) je přibližně n2/2 + n2/2,což je (zejména pro velký řád n) podstatně menš́ı, než složitostn3/3 + n2/2 Gaussovy eliminace.

    5.3 Výpočet matice inverzńı

    a) Je-li matice A regulárńı, pak matice X je inverzńı k Aprávě když AX = E, podrobněji

    a11 a12 . . . a1na21 a22 . . . a2n...

    ......

    an1 an2 . . . ann

    x11 . . . x1j . . . x1nx21 . . . x2j . . . x2n...

    ......

    xn1 . . . xnj . . . xnn

    =

    1 0 . . . 00 1 . . . 0...

    ......

    0 0 . . . 1

    .

    Tato maticová rovnost je ekvivalentńı se soustavou n systémůrovnic

    Ax(j) = e(j) pro j = 1, . . . , n, (13)

    kde x(j) př́ıpadně e(j) je j–tý sloupcový vektor matice X př́ıpadněE.

    Př́ıklad 5.3. Pro matici A =

    1 4 32 5 41 −3 −2

    najděte maticiinverzńı A−1 ”současným” řešeńım tř́ı systémů rovnic (13) Gausso-

    33

  • vou eliminaćı.1 4 3 1 0 02 5 4 0 1 01 -3 -2 0 0 1

    -3 -2 -2 1 0-7 -5 -1 0 1

    -13113 -

    73 1

    Tři zpětné chody poskytnou inverzńı matici

    A−1 =

    2 −1 18 −5 2

    −11 7 −3

    .

    Složitost tohoto algoritmu je nepodstatně větš́ı, než složitostjednoho př́ımého chodu a n zpětných chod̊u. Tedy počet operaćı”*” a ”/” při výpočtu matice inverzńı je nepodstatně větš́ı, nežn3/3 + n · n2/2 ≈ n3.

    b) Jordanova metoda spoč́ıvá v transformaci matice A najednotkovou matici. V tomto tvaru je matice n vektor̊u pravýchstran rovna A−1.

    Př́ıklad 5.4. Systém rovnic s horńı trojúhelńıkovou matićı,který je výsledkem eliminace z Př. 5.3, transformujte na systémrovnic s jednotkovou matićı.

    1 4 3 1 0 0-3 -2 -2 1 0

    -13113 -

    73 1

    1 4 0 34 -21 9-3 0 -24 15 -6

    1 -11 7 -3

    1 0 0 2 -1 11 0 8 -5 2

    1 -11 7 -3

    34

  • Výsledná matice pravých stran je právě matice A−1, uvedená vPř. 5.3.

    5.4 Speciálńı matice

    5.4.1 Symetrické pozitivně definitńı matice

    Čtvercová matice A řádu n se nazývá symetrická pozitivně defi-nitńı (SPD), když je symetrická a pro všechny vektory x ∈ Ax > 0.

    Pro symetrickou matici A plat́ı tato tvrzeńı a), b).

    a) Matice A je SPD, právě když všechny hlavńı prvky

    a11, a(1)22 , . . . , a

    (n−1)nn jsou kladné.

    b) Všechny matice Ak =

    a

    (k)k+1,k+1 . . . a

    (k)k+1,n

    ......

    a(k)n,k+1 . . . a

    (k)n,n

    vzniklé v př́ı-mém chodu, jsou symetrické.

    Vlastnost a) poskytuje algoritmus pro rozpoznáńı, zda sy-metrická matice je SPD. Vlastnosti a), b) ř́ıkaj́ı, že systémyrovnic s SPD matićı lze řešit Gaussovou eliminaćı tak, že vevšech matićıch Ak stač́ı spoč́ıtat jen prvky v a nad hlavńı di-agonálou.

    Dále lze pro SPD matice ”vylepšit” tvrzeńı o LU–rozkladu:

    Je-li A SPD matice, pak existuje horńı trojúhelńıková maticeL s kladnými prvky v hlavńı diagonále taková, že

    A = L>L. (14)

    Toto vyjádřeńı se nazývá Choleského rozklad matice A.

    35

  • Postupným porovnáváńım prvk̊u matic na obou stranách ńıžerozepsané

    a11 a12 . . . a1na21 a22 . . . a2n...

    ......

    an1 an2 . . . ann

    =

    l11l12 l22...

    ... . . .

    l1n l2n . . . lnn

    l11 l12 . . . l1n

    l22 . . . l2n. . . ...

    lnn

    ,

    identity (14) pro indexy (1, 1), (1, 2), . . . , (1, n),(2, 2), . . . , (2, n),. . . , (n, n) vznikne tato konstrukce matice L:

    1. l11 =√

    a11 a l1j = a1j/l11 pro j = 2, . . . , n.

    2. Pro i = 2, . . . , n− 1 : lii =√

    aii −∑i−1

    k=1 l2ki a

    lij =(aij −

    ∑i−1k=1 lkilkj

    )/lii pro j = i + 1, . . . , n.

    3. lnn =√

    ann −∑n−1

    k=1 l2kn.

    Řešeńı systému rovnic (11) s SPD matićı Choleského metodouspoč́ıvá v konstrukci horńı trojúhelńıkové matice L a v řešeńısystému rovnic L>Lx = b dvěma zpětnými chody.

    5.4.2 Řı́dké matice

    jsou matice, v nichž je většina prvk̊u rovna nule. Systémy rovnics maticemi tohoto typu se vyskytuj́ı v řadě d̊uležitých aplikaćı,zejména při řešeńı okrajových úloh pro parciálńı diferenciálńırovnice. Systémy rovnic s ř́ıdkými maticemi jsou řešitelné mno-hem efektivněji, než srovnatelně rozsáhlé systémy rovnic s tzv.plnými maticemi. Př́ımé metody jsou vhodné zejména pro řešeńısystémů rovnic se speciálńımi ř́ıdkými maticemi, tzv. pásovýmimaticemi. Čtvercová matice A řádu n se nazývá pásová, exis-tuj́ı-li přirozená č́ısla p a q taková, že

    j < i− p =⇒ aij = 0 a j > i + q =⇒ aij = 0

    36

  • pro i = 1, . . . , n. Pak se č́ıslo p+1+q nazývá š́ıřka pásu. Schemana Obr. 6 ilustruje zp̊usob, jak př́ımý chod Gaussovy eliminacea ekvivalentně LU–rozklad zachovává pásovost matice A.

    A = =

    @@@@@@@@@

    @@@@@@@

    p q

    @@@@@@

    @@@@@@@@@

    @@@@@@@

    p q

    @@@@@@@@@

    @@@@@@

    = LU

    Obrázek 6

    Pásová matice s parametry p = 1 = q se nazývá tř́ıdiagonálńı.Srovnáńım

    a1 c1

    b2 a2. . .

    . . . . . . cn−1bn an

    =

    1β2 1

    . . . . . .

    βn 1

    α1 c1

    α2. . .. . . cn−1

    αn

    Obrázek 7

    prvku a1 s prvkem součinu LU źıskáme α1 = a1. Z vyjádřeńıprvku bk obdrž́ıme βk = bk/αk−1 a z vyjádřeńı ak vznikne αk =ak − βkck−1 pro k = 2, . . . , n. Tedy algoritmus řešeńı systémurovnic Ax = d LU–rozkladem tř́ıdiagonálńı matice A a ”dvěmazpětnými chody” je složen z těchto tř́ı krok̊u:

    Krok 1. (Výpočet LU–rozkladu matice A)

    α1 = a1 a βk = bk/αk−1, αk = ak − βkck−1 pro k = 2, . . . , n.

    Krok 2. (Řešeńı Ly = d)

    y1 = d1 a yk = dk − βkyk−1 pro k = 2, . . . , n.

    Krok 3. (Řešeńı Ux = y)

    xn = yn/αn a xk = (yk−ckxk+1)/αk pro k = n−1, n−2, . . . , 1.

    37

  • Tento algoritmus provád́ı 5n− 4 násob́ıćıch operaćı (”*” a ”/”).Gaussova eliminace n3/3 násob́ıćıch operaćı.

    5.5 Č́ıslo podmı́něnosti matice

    Uvažujme o řešeńı problému (11) za ideálńıho předpokladu, žeprvky matice A jsou dány přesně a při řešeńı nevznikaj́ı zaokrouhlo-vaćı chyby. Zadáme-li tedy vektor pravých stran přesně, źıskámepřesné řešeńı, tj.

    Ax̂ = b̂. (15)

    Zadáme-li aproximaci b vektoru pravých stran, źıskáme aproxi-maci řešeńı, tj.

    Ax = b. (16)

    Za těchto podmı́nek budeme studovat závislost chyby vektoruřešeńı ex na chybě vektoru pravých stran eb. Dosad́ıme-li do (15)vyjádřeńı x̂ = x + ex a b̂ = b + eb, obdrž́ıme A(x + ex) = b + eb.Odtud a z (16) vznikne

    Aex = eb. (17)

    Označ́ıme-li ‖ · ‖ normu vektor̊u i přidruženou normu matic pakz (16) a z (N4) plyne

    ‖b‖ ≤ ‖A‖ ‖x‖.

    Z (17) obdrž́ıme ex = A−1eb a odtud

    ‖ex‖ ≤ ‖A−1‖ ‖eb‖.

    Vynásobeńım těchto dvou nerovnost́ı vznikne

    ‖ex‖ ‖b‖ ≤ ‖A‖ ‖A−1‖ ‖eb‖ ‖x‖

    a vyděleńım obou stran č́ıslem ‖x‖ ‖b‖ dospějeme k nerovnosti

    ‖ex‖‖x‖

    ≤ ‖A‖ ‖A−1‖‖eb‖‖b‖

    . (18)

    38

  • Tato nerovnost ř́ıká, že ”relativńı chyba řešeńı” na levé straněje ohraničena součinem č́ısla podmı́něnosti

    C(A) = ‖A‖ ‖A−1‖

    matice A a ”relativńı chyby pravé strany”.

    Protože ‖ · ‖ je přidružená, je ‖A‖ = maxx6=o (‖Ax‖/‖x‖) a

    ‖A−1‖ = maxx6=o

    ‖A−1x‖‖x‖

    =

    minx6=o

    ‖x‖‖A−1x‖

    −1 =min

    y 6=o

    ‖Ay‖‖y‖

    −1 ,kde y = A−1x. Tedy č́ıslo podmı́něnosti

    C(A) =maxx6=o (‖Ax‖/‖x‖)miny 6=o (‖Ay‖/‖y‖)

    udává poměr mezi maximálńım a minimálńım nár̊ustem normyvektoru při jeho násobeńı matićı A. Z této úvahy je zřejmé, žepro všechny matice A je C(A) ≥ 1. Protože jednotková maticeE má vlastnost Ex = x pro všechny vektory x, je C(E) = 1.

    Matice A, jejichž č́ıslo podmı́něnosti je malé, se nazývaj́ıdobře podmı́něné a matice s vlastnost́ı C(A) � 1 se nazývaj́ıšpatně podmı́něné. Vzhledem k nerovnosti (18) je nutno očekávat,že řešeńı systémů rovnic se špatně podmı́něnou matićı budouvelmi nepřesná. Tento nedostatek nelze odstranit výběrem ”lepš́ı”metody řešeńı systému rovnic, ale jen t́ım, že se řešeńı špatněpodmı́něných soustav vyhneme. Např́ıklad tak, že pro řešeńıdané úlohy použijeme jinou numerickou metodu, která vede nasystém lineárńıch rovnic s matićı dobře podmı́něnou.

    Nerovnosti jako (18) poskytuj́ı i odhad chyby řešeńı v d̊usledkuchyb koeficient̊u matice soustavy. Viz [11], 26.18.

    Př́ıklad 6.5. Při výpočtu vertikálńıch posuv̊u v1 a v2 bod̊u1 a 2 z Obr. 8 vznikne systém rovnic 1 −1

    −1 1 + a2/(4l2)

    v1v2

    = ql2/(Ea2) 1

    0,375

    .39

  • Obrázek 8: Vyznačeńı bod̊u 1 a 2 nosńıku s posuvy v1 a v2

    Např́ıklad pro a/l = 1/30 je matice soustavy

    A =

    1 −1−1 1,000278

    a A−1 = 10,000278

    1, 000278 11 1

    .Odtud plyne C(A) = ‖A‖∞‖A−1‖∞ = 2,0002782/0,000278 .=14329,5, takže systém je špatně podmı́něný. To je d̊uvodemskutečnosti, že při zaokrouhlováńı mezivýsledk̊u na 6 desetinnýchmı́st je vypočtený výsledek

    v1v2

    .= ql2/(Ea2) 4947,043

    4946,043

    , přičemž přesné řešeńı je ql2/(Ea2) 4951

    4950

    .Cvičeńı.

    1. Systém rovnic

    1 2 −3

    −1 3 2−1 −1 −2

    x1x2x3

    =

    28

    −8

    řešte Gaussovoueliminaćı a najděte LU–rozklad matice A. {Řešeńım je vek-

    tor x = [7/3, 7/3, 5/3]> a LU–rozklad A je

    1

    −1 1−1 1/5 1

    1 2 −35 −1−24/5

    }

    40

  • 2. Systém rovnic

    −1 0 3 2

    5 −1 3 21 −1 2 −20 4 1 −2

    x1x2x3x4

    =−1

    84

    −4

    řešte Gaussovoueliminaćı s výběrem hlavńıch prvk̊u. Zaokrouhlujte na 4platné č́ıslice. {x = [1, 288, −1, 273, 0, 3453, −0, 3741]>}

    3. Beton je směśı portlandského cementu, ṕısku a štěrku. Dis-tributor nab́ıźı zákazńık̊um 3 série. Série 1 obsahuje 18 m

    3

    cementu, 38 m3 ṕısku a 48 m

    3 štěrku. Série 2 obsahuje 210 m3

    cementu, 510 m3 ṕısku a 310 m

    3 štěrku a série 3 je složena z25 m

    3 cementu, 35 m3 ṕısku a 05 m

    3 štěrku. Najděte objemyx1, x2 a x3 séríı 1, 2 a 3 (v m

    3), které muśı zákazńık koupit,aby źıskal směs, obsahuj́ıćı 2,3, 4,8 a 2,9 m3 cementu, ṕıskua štěrku.{Požadovaná směs bude obsahovat x1 = 4, x2 = 3 andx3 = 3 m

    3 série 1, 2 a 3}

    4. Najděte LU–rozklad matice A =

    2 −1

    −1 2 −1−1 2 −1

    −1 2

    {LU–

    rozklad matice A je

    1

    −1/2 1−2/3 1

    −3/4 1

    ·

    2 −13/2 −1

    4/3 −15/4

    }

    5. Pro matice A =

    1 0 42 2 −11 1 −3

    a B =

    4 41 −10 −2

    najdětematici X splňuj́ıćı maticovou rovnici AX = B (a) kon-strukćı matice A−1 Jordanovou metodou a vynásobeńımobou stran rovnice matićı A−1 zleva a (b) řešeńım danéhosystému rovnic se dvěma vektory pravých stran Gaussovou

    41

  • eliminaćı. {X =

    3, 2 1, 6

    −2, 6 −1, 80, 2 0, 6

    }6. Rozhodněte, zda matice A ze Cv. 4 je SPD. V kladném

    př́ıpadě najděte Choleského rozklad matice A. {Matice A jeSPD, nebot’ je symetrická a všechny hlavńı prvky Gaussovyeliminace, umı́stěné v hlavńı diagonále matice U , jsou kladné.A = L>L pro

    L =

    √2 −

    √1/2√3/2 −

    √2/3√4/3 −

    √3/4√5/4

    }

    7. Systém rovnic Ax = b, kde

    A =

    2 −1

    −1 4 −1−1 4 −1

    −1 2

    , b =

    1221

    řešte Gaussovou eliminaćı. Zaokrouhlujte na 3 desetinnámı́sta.

    2 -1 1 =⇒ x1 = 1-1 4 -1 2

    -1 4 -1 2-1 2 1

    3,5 -1 2,5 =⇒ x2 = 13,714 -1 2,714 =⇒ x3 = 1

    1,731 1,731 =⇒ x4 = 1

    8. Najděte č́ısla podmı́něnosti matic

    H2 =

    1 1/21/2 1/3

    a H3 =

    1 1/2 1/31/2 1/3 1/41/3 1/4 1/5

    42

  • užit́ım normy matic ‖ · ‖∞. {C(H2) = 27, C(H3) = 748}

    6 Vlastńı č́ısla a vlastńı vektory matic

    6.1 Úvod

    Uvažme matici A řádu n. Pak zobrazeńı x ∈

  • Př́ıklad 6.1. Najděte vlastńı č́ısla a vlastńı vektory matice

    A =

    2 1 01 4 10 1 2

    a) λ je vlastńı č́ıslo A právě když

    |A−λE| =

    ∣∣∣∣∣∣∣∣∣2− λ 1

    1 4− λ 11 2− λ

    ∣∣∣∣∣∣∣∣∣ = (2−λ)(λ−3−√

    3)(λ−3+√

    3) = 0.

    Tedy λ1 = 2, λ2 = 3 +√

    3, λ3 = 3−√

    3 jsou vlastńı č́ısla A.b) x(i) je vlastńı vektor A př́ıslušný k vlastńımu č́ıslu λi právě

    když(A− λiE) x(i) = o.

    Tento systém rovnic má pro i = 1 tvar

    0 1 0 01 2 1 00 1 0 0

    a všechna jeho řešeńı jsou x2 = 0, x1 + x3 = 0. Můžeme tedyzvolit x(1) = [1, 0,−1]>. Analogicky x(2) = [1, 1+

    √3, 1]> a x(3) =

    [1, 1−√

    3, 1]>.

    Poznámka . Znalost vlastńıho č́ısla a vlastńıho vektoru jsouprakticky ekvivalentńı. Známe-li vlastńı č́ıslo λ matice A pak jepř́ıslušný vlastńı vektor x libovolné nenulové řešeńı homogenńıhosystému rovnic (20). Známe-li vlastńı vektor x, pak λ splňuje

    Ax = λx

    x>Ax = x>λx = λ · ‖x‖22

    λ =x>Ax

    ‖x‖22.

    44

  • Řekneme, že λ je rovno Rayleighovu pod́ılu. Následuj́ıćı tvrzeńıposkytuje užitečný odhad vlastńıch č́ısel matic.

    Věta 6.1.(Gerschgorin) Je-li λ ∈ C vlastńı č́ıslo matice Ařádu n, pak existuje index i tak, že

    |λ− aii| ≤n∑

    j=1,j 6=i|aij|.

    Důkaz. Označme λ ∈ S, x př́ıslušný vlastńı vektor a xi souřadnicix, jej́ıž absolutńı hodnota je největš́ı. Pak je i–tá souřadnice vek-toru Ax− λx = o

    (aii − λ)xi +∑j 6=i

    aijxj = 0.

    Pak

    |λ− aii| |xi| ≤∑j 6=i|aij| |xj|

    a źıskáme

    |λ− aii| ≤∑j 6=i|aij|.

    Věta 6.2. Uvažme matici A řádu n, x 6= o a λ ∈ C taková,že

    Ax = λx.

    Pak plat́ı tvrzeńı a) – d).

    a) A(cx) = λ(cx) ∀c ∈ <

    b) (A− cE)x = (λ− c)x ∀c ∈ <

    c) Akx = λkx pro k = 2, 3, . . .

    d) A−1x = 1λx pro λ 6= 0 právě když A je regulárńı.

    Důkaz d): Ax = λx =⇒ x = A−1(Ax) = A−1λx =⇒ 1λx =A−1x.

    45

  • Věta 6.3. Je-li ‖ · ‖ norma matic souhlasná s odpov́ıdaj́ıćınormou vektor̊u, pak

    %(A) ≤ ‖A‖ pro všechny čtvercové matice A.

    Důkaz. Uvažme %(A) = |λ| a Ax = λx. Pak

    ‖A‖ ‖x‖ ≥ ‖Ax‖ = ‖λx‖ = %(A)‖x‖ =⇒ ‖A‖ ≥ %(A).

    Věta 6.4. Je-li matice A symetrická pozitivně definitńı, pakvšechna vlastńı č́ısla A jsou kladná.

    Důkaz. Je-li x 6= o a Ax = λx, pak λ = x>Ax‖x‖22 > 0.

    Věta 6.5. Je-li matice A symetrická, pak

    a) všechna vlastńı č́ısla A jsou reálná a

    b) vlastńı vektory př́ıslušné vzájemně r̊uzným vlastńım č́ısl̊umjsou ortogonálńı.

    Důkaz b). Uvažme vektory u 6= o 6= v takové, že Au = λu,Av = µv a λ 6= µ. Pak plat́ı

    v>Au = λv>u |>

    u>A>v = λu>v

    u>Av = λu>v

    u>Av = µu>v

    µ〈u, v〉 = λ〈u, v〉 a λ 6= µ〈u, v〉 = 0

    Věta 6.6. Ke každé symetrické matici A řádu n existujeortogonálńı systém n vlastńıch vektor̊u A.

    46

  • 6.2 Mocninná metoda

    PŘEDPOKLADY:1. Vlastńı č́ısla λ1, . . . , λn matice A jsou reálná a

    |λ1| > |λ2| ≥ . . . ≥ |λn|.

    2. př́ıslušné vlastńı vektory x1, . . . , xn jsou ortogonálńı.

    ZÁKLADNÍ MYŠLENKA: Uvažme z0 ∈ Azk

    ‖zk‖22.= λ1 pro k velké.

    Poznámka . a) Teoreticky, jestliže c1 = 0, pak z0 ⊥ x1 a

    také zk ⊥ x1 pro k = 2, 3, . . .. Jestliže c1 .= 0, pak zk konvergujek vlastńımu vektoru λ1 velmi pomalu.

    b) Vznikaj́ı 2 nebezpeč́ı:

    |λ1| > 1 =⇒ ‖zk‖2 −→∞ pro k −→∞ přetečeńı|λ1| < 1 =⇒ ‖zk‖2 −→ 0 as k −→∞ podtečeńı

    47

  • a) ř́ıká, že je rozumné volit z0 co nejbĺıže k x1. Podle b) jerozumné ”normalizovat” každý nový vektor zk: Polož́ıme

    yk =1

    ‖zk‖2zk.

    Pak ‖yk‖2 = 1 a

    σk = (yk)>zk+1 = (yk)>Ayk =

    (zk)>Azk

    ‖zk‖22.= λ1.

    Podmı́nka zastaveńı: Aproximujeme λ1 hodnotou σk když |σk −σk−1| < ε pro dané malé kladné č́ıslo ε.

    ALGORITMUS MOCNINNÉ METODY:

    Vstupńı data: matice A řádu n, z0 ∈ 0.Krok 1. y0 = 1‖z0‖z

    0, z1 = Ay0, σ1 = 〈y0, z1〉, σ0 = 1e6.Krok 2. Pro k = 1, 2, . . ., dokud |σk − σk−1| ≥ ε:

    yk =1

    ‖zk‖zk, zk+1 = Ayk, σk+1 = 〈yk, zk+1〉

    Krok 3. y = 1‖zk+1‖2zk+1.

    Výstupńı data: σk+1.= λ1, y

    .= x1.

    Př́ıklad 6.2. Aproximujte největš́ı vlastńı č́ıslo a př́ıslušný

    vlastńı vektor matice A =

    2 1 01 4 10 1 2

    . Položte z0 = [2, 0, 2]> aε = 0, 0005. [Dle Př. 6.1 je λ1 = 3 +

    √3 = 4,73205]

    48

  • Výpočet je prezentován v této tabulce:

    i zi1 zi2 z

    i3 y

    i1 y

    i2 y

    i3 σi

    0 2 0 2 0,7071 0 0,70711 1,4142 1,4142 1,4142 0,5774 0,5774 0,5774 2,82842 1,7321 3,4641 1,7321 0,4082 0,8165 0,4082 4,00003 1,6330 4,0825 1,6330 0,3482 0,8704 0,3482 4,66674 1,5460 4,1964 1,5460 0,3267 0,8868 0,3267 4,72735 1,5403 4,2020 1,5403 0,3255 0,8877 0,3255 4,73176 1,5387 4,2020 1,5387 0,3252 0,8880 0,3252 4,7320

    Poznámka . Aproximace nejmenš́ıho vlastńıho č́ısla. MaticeA−1 má vlastńı č́ısla 1λ1 , . . . ,

    1λn

    a vlastńı vektory x1, . . . , xn. Je-li1|λ1| ≤ . . . <

    1|λn| , pak mcninná metoda, aplikovaná na matici A

    −1,

    poskytne aproximaci vlastńıho č́ısla 1/λn a vlastńıho vektoruxn. Abychom zabránili složitému výpočtu matice A−1, násobkyzi+1 = A−1yi jsou poč́ıtány řešeńım ekvivalentńıch systémů rovnicAzi+1 = yi.

    Cvičeńı

    1. Vypočtěte všechna vlastńı č́ısla a vlastńı vektory matice

    a) A =

    4 11 2

    b) B =

    4 1 01 2 00 0 6

    přesně. Ověřte, že Vaše výsledky jsou korektńı.[a): λ1 = 3 +

    √2, x1 = [1,

    √2 − 1]>, λ2 = 3 −

    √2, x2 =

    [1,−√

    2 − 1]> b): λ1 = 6, x1 = [0, 0, 1]>, λ2 = 3 +√

    2,x2 = [1,

    √2− 1, 0]>, λ3 = 3−

    √2, x2 = [1,−

    √2− 1, 0]>]

    49

  • 2. Aproximujte v absolutńı hodnotě nejmenš́ı vlastńı č́ıslo mat-ice B a př́ıslušný vlastńı vektor mocninnou metodou s přesnost́ıε = 0.001.

    7 Řešeńı systémů lineárńıch rovnic iteraćı I

    Iteračńı metody jsou využ́ıvány předevš́ım pro řešeńı systémů sř́ıdkými maticemi, které nejsou pásové. Jsou dobře použitelnéi pro systémy s plnou, špatně podmı́něnou matićı. Speciálńıiteračńı techniky jako např́ıklad multigrid (metoda v́ıce śıt́ı)poskytuj́ı optimálně efektivńı algoritmy pro systémy rovnic, kteréjsou diskretizacemi okrajových úloh pro diferenciálńı rovnice.Seznámı́me se jen s elementárńımi metodami Jacobiovou, Gaussovou–Seidelovou a s relaxačńımi metodami z nich odvozenými.

    V systému rovnic (11) vyjádřeme matici A jako rozd́ıl M−N .Pak vektor řešeńı x̂ splňuje

    Mx̂ = Nx̂ + b (22)

    a lze uvážit iteračńı předpis

    Mx(i+1) = Nx(i) + b. (23)

    Pro úspěšné použit́ı předpisu (23) je třeba, aby matice M bylaregulárńı (to budeme předpokládat) a aby

    (a) aproximace x(i) konvergovaly k vektoru x̂ přesného řešeńı,

    (b) výpočet vektoru x(i+1) byl efektivńı (pro to stač́ı, aby maticeM byla diagonálńı, trojúhelńıková př́ıpadně ”bĺızká maticitrojúhelńıkové”).

    Označme e(i) chybu x̂−x(i) a odečtěme rovnost (23) od (22).Obdrž́ıme Me(i+1) = Ne(i). Vynásob́ıme-li obě strany matićıM−1 zleva, vznikne e(i+1) = Te(i) pro T = M−1N . Přejdeme-li

    50

  • v této identitě k normám vektor̊u a odpov́ıdaj́ıćım souhlasnýmnormám matic, vznikne nerovnost

    ‖e(i+1)‖ ≤ ‖T‖‖e(i)‖

    a odtud ihned plyne

    ‖e(i+1)‖ ≤ ‖T‖i+1‖e(0)‖

    pro i = 0, 1, . . . Je tedy zřejmé, že ‖e(i+1)‖ = ‖x̂ − x(i+1)‖ −→0 pro i −→ ∞, jakmile ‖T‖ < 1. Našli jsme tuto postačuj́ıćıpodmı́nku:

    Iteračńı posloupnost (x(i)) konverguje k přesnému řešeńı systémurovnic (11), existuje-li norma matic ‖ · ‖ souhlasná s normouvektor̊u tak, že ‖T‖ < 1.

    Požadavek (b) bude v ńıže uvedených konkrétńıch metodáchsplněn. Ty odvod́ıme pomoćı rozkladu matice A na součet L +D+U , kde L má prvky matice A právě pod, D v a U nad hlavńıdiagonálou.

    7.1 Jacobiova metoda

    Do rovnic (10) dosad’me aproximaci x(i) a v j–té rovnici změňme

    souřadnici x(i)j na x

    (i+1)j tak, aby rovnice byla splněna, tj. aby

    aj1x(i)1 + . . .+aj,j−1x

    (i)j−1+ajjx

    (i+1)j +aj,j+1x

    (i)j+1+ . . .+ajnx

    (i)n = bj.

    Vyjádř́ıme-li z této rovnice x(i+1)j pro každé j, vznikne jeden krok

    Jacobiovy metody

    x(i+1)1 = ( −a12x

    (i)2 . . . −a1nx(i)n + b1)/a11

    x(i+1)2 = (−a21x

    (i)1 . . . −a2nx(i)n + b2)/a22

    ...

    x(i+1)n = (−an1x(i)1 . . . −an,n−1x

    (i)n−1 + bn)/ann

    ,

    51

  • jehož maticový zápis je x(i+1) = Tx(i) + d pro matici

    T =

    0 −a12/a11 . . . −a1n/a11

    −a21/a22 0 . . . −a2n/a22...

    ...−an1/ann . . . −an,n−1/ann 0

    a vektor d = [b1/a11, b2/a22, . . . , bn/ann]

    >. Tento mechanismusje pro systém dvou rovnic ilustrován na Obr. 9. Je patrné, že

    Obrázek 9: Jeden krok Jacobiovy metody

    Jacobiova metoda vznikne volbou M = D, N = −L − U a žeT = D−1(−L − U). Jacobiova metoda konverguje pro všechnyryze diagonálně dominantńı matice, tj. matice A s vlastnost́ı

    |aii| >n∑

    j=1

    j 6=i

    |aij| pro všechny řádkové indexy i.

    Toto tvrzeńı plyne z výše uvedené dostatečné podmı́nky konver-gence a z nerovnosti ‖T‖∞ < 1, kterou lze snadno ověřit.

    7.2 Gaussova–Seidelova metoda

    Jacobiova metoda poč́ıtá všechny složky x(i+1)j výhradně pomoćı

    souřadnic aproximace x(i). Gaussova–Seidelova metoda poč́ıtá

    52

  • složky x(i+1)j postupně a pro j > 1 využ́ıvá již vypočtených

    souřadnic x(i+1)1 , . . . , x

    (i+1)j−1 . Lze očekávat, že tato úprava Jaco-

    biovy metody přinese zrychleńı konvergence. Tedy jeden krokGaussovy–Seidelovy metody má tvar

    x(i+1)1 = ( −a12x

    (i)2 . . . −a1nx(i)n + b1)/a11

    x(i+1)2 = (−a21x

    (i+1)1 . . . −a2nx(i)n + b2)/a22

    ...

    x(i+1)n = (−an1x(i+1)1 . . . −an,n−1x

    (i+1)n−1 + bn)/ann

    ;

    odpov́ıdá volbě M = L + D a N = U v (23).

    Prvńı souřadnice aproximace x(i+1) Gaussovy–Seidelovy metodyje stejná jako v metodě Jacobiově. Změna j–té souřadnice jetaková, aby se vektor, splňuj́ıćı (j − 1)–tou rovnici změnil navektor, vyhovuj́ıćı j–té rovnici dané soustavy. Tato konstrukceje znázorněna pro dvě rovnice o dvou neznámých na Obr. 10.Konvergence Gaussovy–Seidelovy metody je zaručena pro ryze

    Obrázek 10: Jeden krok Gaussovy–Seidelovy metody

    diagonálně dominantńı matice soustavy, ale i pro SPD matice.Gaussova–Seidelova metoda konverguje zpravidla rychleji, nežmetoda Jacobiova. Neńı to však nutné, existuj́ı i př́ıpady, kdy

    53

  • Gaussova–Seidelova metoda diverguje a Jacobiova metoda kon-verguje.

    7.3 Relaxačńı metody

    Nı́že uvedené relaxačńı metody jsou zobecněńımi metod Jaco-biovy a Gaussovy–Seidelovy, určenými tzv. relaxačńım parame-trem ω t́ımto postupem: Pro zadanou nultou aproximaci x(0),postupně pro i = 0, 1, . . ., poč́ıtáme x̃(i+1) Jacobiovou nebo Gaussovou–Seidelovou metodou zp̊usobem popsaným v odstavci 7.1 nebo7.2. Potom (i+1)–tou aproximaci relaxačńı metody x(i+1) źıskámetak, že k i–té aproximaci x(i) přičteme ω–násobek rozd́ılu x̃(i+1)−x(i):

    x(i+1)j = x

    (i)j + ω(x̃

    (i+1)j − x

    (i)j ) pro j = 1, . . . , n.

    Je známo, že pro konvergenci relaxačńı metody je nutné, abyparametr ω ležel v intervalu (0, 2). Pro 0 < ω < 1 mluv́ımeo dolńı relaxaci, pro ω = 1 je relaxačńı metoda právě metodaJacobiova nebo Gaussova–Seidelova a pro 1 < ω < 2 se mluv́ıo horńı relaxaci, stručně o SOR (Successive Over Relaxation)metodách.

    Tedy všechny změny souřadnic jsou v jednom kroku relaxačńımetody ω–násobky změn v kroku Jacobiovy nebo Gaussovy–Seidelovy metody. Obr. 11 znázorňuje řešeńı př́ıkladu z Obr.9 relaxačńı metodou, vzniklou z Jacobiovy metody s parame-trem ω = 1,2. Srovnáńı Obr. 11 s Obr. 9 ukazuje, že v tomtopř́ıpadě je aproximace x(1) vypočtená relaxačńı metodou bĺıžek přesnému řešeńı, než aproximace x(1) vypočtená Jacobiovoumetodou. Vhodnou volbou relaxačńıho parametru lze konver-genci zrychlit. Hodnoty optimálńıch relaxačńıch parametr̊u jsouvšak známy jen pro některé typy matic soustavy.

    Podmı́nka ukončeńı: Pro každou z uvedených iteračńıch metodřekneme, že systém rovnic je vyřešen s chybou menš́ı než ε,

    54

  • Obrázek 11: Jeden krok relaxačńı Jacobiovy metody, ω = 1,2

    jakmile ‖x(i+1) − x(i)‖ < ε (absolutńı podmı́nka) nebo jakmile‖x(i+1) − x(i)‖ < ε‖x(i)‖ (relativńı podmı́nka). Pak polož́ıme x =x(i+1). Zde ‖·‖ je libovolná norma vektor̊u. V př́ıkladech budemepoč́ıtat s absolutńı podmı́nkou.

    Př́ıklad 7.1. Systém rovnic

    4 −1 −1 0

    −1 4 0 −1−1 0 4 −1

    0 −1 −1 4

    x1x2x3x4

    =

    1201

    řešte postupně Jacobiovou metodou, Gaussovou–Seidelovoumetodou a Gaussovou–Seidelovou relaxačńı metodou s parame-trem ω = 1, 0718 s chybou menš́ı než ε = 0, 5 · 10−3. Za nul-tou aproximaci zvolte vždy x(0) = [0, 25; 0, 5; 0; 0, 25]>. Pr̊uběh

    55

  • výpočtu Jacobiovou metodou:

    i x(i)1 x

    (i)2 x

    (i)3 x

    (i)4

    0 0,25 0,5 0 0,251 0,37500 0,62500 0,12500 0,37500

    ......

    8 0,49900 0,74900 0,24902 0,499009 0,49950 0,74950 0,24950 0,49950

    10 0,49975 0,74975 0,24975 0,49975

    Pr̊uběh výpočtu Gaussovou–Seidelovou metodou:

    i x(i)1 x

    (i)2 x

    (i)3 x

    (i)4

    0 0,25 0,5 0 0,251 0,37500 0,65625 0,15625 0,45310

    ......

    5 0,49930 0,74965 0,24965 0,499806 0,49980 0,74990 0,24990 0,499957 0,49995 0,75000 0,24998 0,50000

    Pr̊uběh výpočtu relaxačńı Gaussovou–Seidelovou metodou:

    i x(i)1 x

    (i)2 x

    (i)3 x

    (i)4

    0 0,25 0,5 0 0,251 0,38398 0,66988 0,16988 0,475022 0,46540 0,73979 0,23979 0,496323 0,49701 0,74893 0,24895 0,499674 0,49966 0,74991 0,24990 0,499965 0,49998 0,75001 0,24999 0,50001

    Cvičeńı.

    1. Systém rovnic

    2 −1−0,5 2

    x1x2

    = 1,5

    2,5

    řešte (a) Ja-cobiovou metodou, (b) Gaussovou–Seidelovou metodou a

    56

  • (c) relaxačńı Jacobiovou metodou s počátečńı aproximaćıx(0) = [3; 2,7]> a s chybou menš́ı než ε = 0,001. {Metoda(a) poskytuje přibližné řešeńı x = [1,57178; 1,64312]> po8 kroćıch, (b) x = [1,57156; 1,64289]>] po 5 kroćıch a (c)x = [1,57113; 1,64307]> po 10 kroćıch. Prvńı krok iteracemetodou (a) resp. (b), (c) je ilustrován na Obr. 9 resp. 10,11.}

    2. Ukažte, že řešeńı systému rovnic

    5 3 43 6 44 4 5

    x1x2x3

    =

    121313

    s počátečńı aproximaćı x(0) = [0; 0; 0]> (a) Jacobiovou metodoudiverguje a (b) Gaussovou–Seidelovou metodou konverguje.{Metoda (a) diverguje a metoda (b) poskytuje řešeńı x .=x(13) = [1,01243; 1,01495; 0,978096]> s chybou menš́ı nežε = 0,01.

    3. Ukažte, že řešeńı systému rovnic

    1 2 −21 1 12 2 1

    x1x2x3

    =

    135

    s počátečńı aproximaćı x(0) = [0; 0; 0]> (a) Jacobiovou metodoukonverguje a (b) Gaussovou–Seidelovou metodou diverguje.{Metoda (a) poskytuje přesné řešeńı x = [1; 1; 1]> po 3kroćıch, metoda (b) diverguje.}

    4. Systém rovnic

    4 1 11 6 21 2 3

    x1x2x3

    =−1

    01

    řešte jednak Gaussovou–Seidelovou metodou a jednak relaxačńı Gaussovou–Seidelovoumetodou s parametrem ω = 1,5 s chybou menš́ı než ε =0,0005. V obou př́ıpadech položte x(0) = [0; 0; 0]>. {Gaussova–Seidelova metoda poskytnex = [-0,35300; -0,11759; 0,52939]> po 7 kroćıch a relaxačńıGaussova–Seidelova metoda s parametrem ω = 1,5 poskytnex = [-0,35283; -0,11761; 0,52925]> po 14 kroćıch.}

    57

  • 8 Řešeńı systémů lineárńıch rovnic iteraćı II

    8.1 Základńı pojmy

    Řešme systém rovnic (11): Ax = b, kde A je regulárńı řádun.

    PŘEDPOKLAD: A je symetrická pozitivně definitńı. (Pakjsou všechna vlastńı č́ısla A kladná.)

    ÚMLUVA: 0 < λ1 ≤ . . . ≤ λn jsou vlastńı č́ısla, odpov́ıdaj́ıćıvlastńı vektory x1, . . . , xn jsou vzájemně ortogonálńı a ‖xi‖ = 1pro i = 1, . . . , n.

    Motivace v př́ıpadě n = 1: A = [a] a A je SPD právě kdyža > 0. Problém (11): Naj́ıt x ∈ < tak, aby ax = b pro a, b ∈ <daná. Tato úloha je ekvivalentńı problému naj́ıt x ∈ Ax− x>b.

    Věta 1.(Hlavńı věta) Je-li A SPD matice řádu n a Ax̂ = b,pak plat́ı tato tvrzeńı a), b), c).

    a) J(x̂) = −12x̂>Ax̂.

    b) J(x) = 12(x− x̂)>A(x− x̂) + J(x̂).

    c) J(x̂) < J(x) ∀x 6= x̂.Důkaz.

    a)

    J(x̂) =1

    2x̂>Ax̂− x̂>Ax̂ = −1

    2x̂>Ax̂.

    b)

    J(x) =1

    2x>Ax− x>Ax̂ = 1

    2

    (x>Ax− x>Ax̂

    )− 1

    2x>Ax̂

    58

  • =1

    2x>A(x− x̂)− 1

    2(x− x̂)>Ax̂− 1

    2x̂>Ax̂

    =1

    2(x− x̂)>A>x− 1

    2(x− x̂)>Ax̂ + J(x̂)

    =1

    2(x− x̂)>A(x− x̂) + J(x̂)

    c) plyne z b) a z pozitivity A.

    ”Vrstevnicemi grafu” funkce z = J(x) jsou elipsy se středemv bodě x̂. Hlavńı osy jsou ve směrech vlastńıch vektor̊u xi a délkapoloosy vrstevnice J(x) = K v tomto směru je

    √K/λi. Poměr

    mezi nejdeľśı a nejkratš́ı poloosou je pak

    1√λ11√λn

    =

    √√√√λnλ1≤√‖A‖ ‖A−1‖ =

    √C(A).

    Protože

    J(x) =1

    2

    n∑i=1

    n∑j=1

    xixjaij −n∑

    i=1xibi,

    je

    ∂J(x)/∂xp =n∑

    j=1xjapj − bp pro p = 1, . . . , n,

    takže plat́ı

    Věta 2. grad J(x) = Ax− b.

    8.2 Metoda největš́ıho spádu

    Metody pro hledáńı minima

    J(x) =1

    2x>Ax− x>b

    (za předpokladu, že A je SPD) jsou tohoto tvaru:

    59

  • Pro danou aproximaci x(k) a směrový vektor v(k) poč́ıtámeαk ∈ < tak, že

    J(x(k) + αkv(k)) ≤ J(x(k) + αv(k)) ∀α ∈ A(x + αv)− (x + αv)>b

    =1

    2x>Ax− x>b + α

    [1

    2v>Ax +

    1

    2x>Av − v>b

    ]+

    α2

    2v>Av.

    Jelikož 12v>Ax + 12x

    >Av = v>Ax dle symetrie A, plat́ı

    dJ̃

    dα= v>(Ax− b) + αv>Av = 0

    právě když

    α =v>r

    v>Avpro r = b− Ax.

    Tedy

    αk =(v(k))>r(k)

    (v(k))>Av(k), kde r(k) = b− Ax(k)

    se nazývá k–té reziduum.

    V metodě nejvěťśıho spádu je

    v(k) = − grad J(x(k)) = b− Ax(k) = r(k)

    směr nejrychleǰśıho poklesu hodnoty J . Pak

    x(0) se zvoĺı

    x(k+1) = x(k) + αkr(k) pro αk =r(k)>r(k)

    r(k)>Ar(k), k = 0, 1, . . .

    60

  • Poznámka . Důležitou charakteristikou složitosti metodynejvětš́ıho spádu je, že počet krok̊u odpov́ıdá č́ıslu podmı́něnostiC(A).

    Př́ıklad . Approximujte řešeńı systému rovnic

    2 −1−1 2 −1

    −1 2

    x1x2x3

    =

    13113

    metodou největš́ıho spádu. Zvolte ε = 0, 00005.

    Výpočet je zaznamenán v tabulce.

    αk k x(k)1 x

    (k)2 x

    (k)3 r

    (k)1 r

    (k)2 r

    (k)3

    0,5 0 0 0 0 1/3 1 -1/30,5 1 0,1667 0,5 -0,1667 0,5 0 0,50,5 2 0,4167 0,5 0,0833 0,5 0 0.50,5 3 0,4167 0,75 0,0833 0 0,5 0...

    ......

    0,5 27 0,6666 0,9998 0,3333 0 0,0001 00,5 28 0,6666 0,9998 0,3333 0,0001 0 0,0001

    8.3 Metody těžkého mı́če

    Dráha těžkého mı́če na ploše v gravitačńım poli nemá směrnejvětš́ıho spádu, ale záviśı i na ”starém” směru. Tedy

    v(k) = r(k) + βk−1v(k−1), (v(−1) = o),

    kde βk−1 ≥ 0 je vhodně zvoleno. Viz Obr. 16.

    61

  • HHHH

    HHH

    HH

    x(0)v(0) = r(0)

    x(1)

    r(1)v(1)

    x̂rr

    r�����

    ���

    HHHHY

    Obrázek 16

    8.4 Metoda konjugovaných gradient̊u

    Přǐrad’me nejprve každé SPD matici jistý skalárńı součin.

    Definice. Uvažme SPD matici A. Pro x, y ∈ Ay.

    Věta 1. 〈·, ·〉A je skalárńı součin pro každou SPD matici A.Důkaz. Vlastnosti

    (S1) 〈x, x〉A ≥ 0 a 〈x, x〉A = 0 ⇐⇒ x = o,

    (S2) 〈x, y〉A = 〈y, x〉A a

    (S3) 〈x, αy + βz〉A = α〈x, y〉A + β〈x, z〉A

    lze snadno ověřit.

    Definice. Vektory x, y se nazývaj́ı konjugované, když 〈x, y〉A =0.

    Nı́že uvedená metoda konjugovaných gradient̊u je metoda těžkéhomı́če, kde je koeficient βk−1 zvolen tak, aby vektory v(k), v(k−1)

    byly konjugované:

    x(0) se zvoĺı, v(0) = r(0) a pro k = 1, 2, . . . ,

    v(k) = r(k) − r(k)Av(k−1)

    v(k−1)>Av(k−1)v(k−1)

    62

  • x(k+1) = x(k) + αkv(k), αk =v(k)>r(k)

    〈v(k), v(k)〉A

    Cvičeńı. Ověřte, že vektory v(k) a v(k−1) jsou konjugované.

    Př́ıklad 5. Metodou konjugovaných gradient̊u vyřešte systémrovnic

    2 −1−1 2 −1

    −1 2

    x1x2x3

    =

    13113

    .

    Položte x(0) = o.

    Pr̊uběh výpočtu je zaznamenán v ńıže uvedených tabulkách.

    k x(k)1 x

    (k)2 x

    (k)3 r

    (k)1 r

    (k)2 r

    (k)3

    0 0 0 0 1/3 1 -1/31 0,1667 0,5 -0,1667 0,5 0 0,52 0,7051 0,8462 0,1410 -0,2308 0,1538 0,23083 0,6667 1,0000 0,3333 0 0 0

    k v(k)1 v

    (k)2 v

    (k)3 α

    k βk

    0 1/3 1 -1/3 0,5 0,40911 0,6364 0,4091 0,3636 0,8461 0,26042 -0,0651 0,2604 0,3254 0,5909 03 0 0 0 0,3530

    Tento výsledek ilustruje obecnou skutečnost, že metoda konju-govaných gradient̊u poskytne přesné řešeńı po n kroćıch. Provelké hodnoty n však metoda ukonč́ı výpočet mnohem dř́ıve.Nutný počet krok̊u odpov́ıdá

    √C(A).

    Cvičeńı

    63

  • 1. Systém rovnic2 −1 0 0−1 2 −1 00 −1 2 −10 0 −1 2

    x1x2x3x4

    =

    0005

    řešte metodou konjugovaných gradient̊u. Položte x(0) = o aε = 0.0005.[x1 = 1, x2 = 2, x3 = 3, x4 = 4.]

    9 Řešeńı systémů nelineárńıch rovnic

    Jen za účelem formálńıho zjednodušeńı se budeme zabývat řešeńımdvou rovnic pro dvě reálné neznámé ve tvaru

    f1(x1, x2) = 0,f2(x1, x2) = 0,

    (24)

    kde f1, f2 jsou funkce, spojité včetně všech potřebných derivaćı,na oblasti Ω0 ⊆

  • (F1(x), F2(x)):x = F (x). (26)

    Tato rovnice je formálně shodná s tvarem (3) rovnice pro jednuneznámou. Jako v odstavci 4.2 zvoĺıme nultou aproximaci x0 apoč́ıtáme iteračńı posloupnost podle předpisu

    xi+1 = F (xi) pro i = 0, 1, . . .

    Podmı́nka ukončeńı: Tato podmı́nka je totožná s podmı́nkouukončeńı výpočtu iteračńıch metod pro řešeńı systémů lineárńıchrovnic, uvedenou v odst. 7.3.

    Lze rovněž ukázat, že př́ıpadná limita této iteračńı posloup-nosti bod̊u je pevným bodem vektorové funkce F . Podle Věty1 z odstavce 4.2 iteračńı posloupnost konverguje, když je ab-solutńı hodnota derivace funkce F z (3) ostře menš́ı, než 1.Tato podmı́nka je v př́ıpadě systémů nahrazena podmı́nkou, abyněkterá norma matice parciálńıch derivaćı

    F ′(x) =

    ∂F1/∂x1 ∂F1/∂x2∂F2/∂x1 ∂F2/∂x2

    ,souhlasná s normou vektor̊u, byla v některém δ okoĺı Oδ(x̂) ={x| ‖x− x̂‖ < δ} pevného bodu x̂ ostře menš́ı, než jedna:

    Problém (26) má právě jedno řešeńı na některém okoĺı Oδ(x̂),když existuje č́ıslo α < 1 takové, že ‖F ′(x)‖ < α pro všechnax ∈ Oδ(x̂) pro některou souhlasnou normu matic.

    Př́ıklad 8.1. Z Obr. 12 je patrné, že soustava rovnic

    f1(x1, x2) ≡ x21 + 2x22 − 2 = 0f2(x1, x2) ≡ 4x1 − x32 + 2 = 0

    má právě dva kořeny x̂ .= (-0,7; -0,8), ŷ .= (-0,2; 0,95). Převedeme-li tento systém rovnic na tvar

    x1 = F1(x1, x2) ≡ (x32 − 2)/4, x2 = F2(x1, x2) ≡ ±√

    1− x21/2,

    65

  • Obrázek 12: Grafická ilustrace řešeńı rovnic z Př. 1

    pak

    F ′(x) =

    0 3x22/4∓x1/ (2√1− x21/2) 0 .

    Protože oba kořeny lež́ı v oblasti Ω = (−1, 0)×(−1, 1) a maxx∈Ω ‖F ′(x)‖∞ =max(3/4, 1/

    √2) = 3/4 < 1, lze hledat pevný bod vektorové

    funkce F iteraćı. Oba kořeny budeme hledat s chybou menš́ı nežε = 0,005 s použit́ım normy ‖·‖∞. Pro kořen x̂ užijeme předpisu

    x0 = (-0,7; -0.8), a xi+11 =((xi1)

    3 − 2)/4, xi+12 = −

    √1− (xi1)2/2.

    Pr̊uběh výpočtu je zaznamenán v tabulce

    i 0 1 2 3 4 5

    xi1 -0,7 -0,62800 -0,66401 -0,67983 -0,67207 -0,66856xi2 -0,8 -0,86891 -0,89600 -0,88292 -0,87688 -0,87986

    a aproximace x0, x1, x2 jsou graficky znázorněny na Obr. 13.Pro kořenŷ užijeme předpisu

    x̃0 = (-0,2; 0,95), a x̃i+11 =((x̃i1)

    3 − 2)/4, x̃i+12 =

    √1− (x̃i2)2/2.

    66

  • Obrázek 13: Grafická ilustrace aproximaćı x0, x1, x2 kořene x(1)

    Výpočet je zaznamenán v této tabulce:

    i 0 1 2 3 4

    x̃i1 -0,2 -0,28566 -0,25746 -0,26514 -0,26233x̃i2 0,95 0,98995 0,97939 0,98329 0,98227

    9.2 Newtonova metoda

    Předpokládejme, že známá aproximace xi lež́ı bĺızko přesnéhořešeńı x systému (24). Aproximujeme-li nulové hodnoty f1(x), f2(x)Taylorovým polynomem stupně 1 v okoĺı xi, źıskáme

    f1(xi) + ∂f1∂x1 (x

    i)(x1 − xi1) + ∂f1∂x2 (xi)(x2 − xi2)

    .= 0

    f2(xi) + ∂f2∂x1 (x

    i)(x1 − xi1) + ∂f2∂x2 (xi)(x2 − xi2)

    .= 0(27)

    Rozd́ıly mezi levou a pravou stranou v (27) jsou násobky malýchhodnot

    (x1 − xi1)2, (x1 − xi1)(x2 − xi2), (x2 − xi2)2.

    67

  • Nahrad́ıme-li neznámé přesné hodnoty x1 a x2 aproximacemixi+11 a x

    i+12 a požadujeme-li přesné splněńı rovnic (27), źıskáme

    jeden krok Newtonovy metody

    f ′(xi)

    d1d2

    = − f1(xi)

    f2(xi)

    (28)jako systém rovnic s matićı parciálńıch derivaćı f ′(xi) pro neznámývektor d = xi+1 − xi.

    Newtonova metoda pro systémy má podobné vlastnosti jakoNewtonova metoda pro jednu rovnici. Jej́ı konvergence je druhéhořádu, ale metoda konverguje jen lokálně, tj. za předpokladu, žepočátečńı aproximace lež́ı bĺızko přesného řešeńı.

    Př́ıklad 8.2. Aproximujte kořen x̂ systému rovnic z Př. 8.1Newtonovou metodou s chybou menš́ı, než ε = 0,5·10−5. Položtex0 = (-0,7; -0,8).

    Řešeńı. Matice parciálńıch derivaćı je f ′(x) =

    2x1 4x24 −3x22

    ,takže pro i = 0 má systém rovnic (28) tvar -1,4 -3,2 0,23

    4 -1,92 0,288

    .Jeho řešeńım je d = x1 − x0 = (0,030992; -0,085434). Tedy x1 =d + x0 = (-0,669008; -0,885434). Pro i = 1 je (28) systémemrovnic -1,338017 -3,541736 -0,015558

    4 -2,351979 -0,018141

    a jeho řešeńım je vektor d = x2−x1 = (-0,00159743; 0,00499636),takže x2 = d + x1 = (-0,670606; -0,880438). Celý výpočet jeshrnut v tabulce

    i 0 1 2 3 4xi1 -0,7 -0,669008 -0,670606 -0,670612 -0,670612xi2 -0,8 -0,885434 -0,880438 -0,880420 -0,880420

    68

  • Aproximace x0, x1, přesného řešeńı x̂ a body, v nichž jsou splněny

    Obrázek 14: Grafická ilustrace iteraćı x0 a x1 z Př́ıkladu 2

    dané nelineárńı rovnice i jejich linarizace z kroku pro i = 0 jsouznázorněny na Obr. 14. Srovnáńı Obr. 13 a 14 naznačuje pod-statně rychleǰśı konvergenci Newtonovy metody ve srovnáńı smetodou prosté iterace ve zkoumaném př́ıkladu.

    Jeden krok Newtonovy metody pro řešeńı n nelineárńıch rovnicje časově náročný, nebot’ sestaveńı systému rovnic (28) mj. vyžadujevýpočet n2 parciálńıch derivaćı. Proto se často matice systému(28) použ́ıvá beze změny pro v́ıce, než jeden krok. Druhé zefek-tivněńı spoč́ıvá v tom, že se parciálńı derivace z matice f ′(xi)poč́ıtaj́ı přibližně jako v modifikaćıch Newtonovy metody, uve-dených v odst. 4.3.5. Řády těchto modifikaćı z̊ustávaj́ı stejné,jako v př́ıpadě jedné rovnice.

    Zlepšeńı stability Newtonovy metody se nejčastěji dosahuje

    69

  • t́ım, že k aproximaci xi se nepřič́ıtá vektor d, který je řešeńımrovnic (28), ale jeho násobek λd, kde koeficient λ je zvolenněkterým z mnoha zp̊usob̊u zaručuj́ıćıch, že ‖f(xi+1)‖ < ‖f(xi)‖.

    Cvičeńı.

    1. Schematickým znázorněńım graf̊u funkćı x = cos y + 0,85 ay = sin x− 1,32 ověřte, že systém rovnic

    f1(x, y) ≡ x−cos y−0,85 = 0, f2(x, y) ≡ sin x−y-1,32 = 0

    má v oblasti Ω = (1,3; 1,9) × (-0,6; 0) jediné řešeńı. Totořešeńı aproximujte metodou prosté iterace pro x0 = (1,6; -0,3)s chybou menš́ı než ε1 = 0, 5 · 10−3 a tuto aproximacizpřesněte Newtonovou metodou s chybou menš́ı než ε2 =0, 5 · 10−8. {Prostá iterace xi+1 = cos yi + 0,85, yi+1 =sin xi−1,32 poskytne aproximaci (1,79138;−0,34424) s chy-bou menš́ı než ε1 po 6 kroćıch a jej́ı zpřesněńı Newtonovoumetodou (1,791338610; -0,3442210360) má chybu menš́ı nežε2 po 2 kroćıch.}

    2. Najděte počet řešeńı systému rovnic

    f1(x, y) ≡ 2x + x2y − 2 = 0, f2(x, y) ≡ x2 − 3y = 0.

    Každé řešeńı aproximujte nejprve prostou iteraćı s chy-bou menš́ı než ε1 = 0,5 · 10−2 a tuto aproximaci zpřesněteNewtonovou metodou s chybou menš́ı než ε2 = 0,5·10−6.{Dosazeńım3y za x2 do f1 vznikne f̃1 = 2x + 3y

    2 − 2 = 0. To je ek-vivalentńı s x = 1 − 3y2/2. Schematický nákres grafu tétofunkce a grafu y = x2/3 vede ke zjǐstěńı, že systém rovnicmá dvě řešeńı x(1) .= (0,9; 0,3) a x(2) .= (−2; 4/3). Z f2 = 0vznikne rovnice x = −

    √3y ≡ F1(x, y) a z f̃1 = 0 vznikne

    y =√

    2(1− x)/3 ≡ F2(x, y). Lze snadno ukázat, že norma

    70

  • ‖F ′‖∞ matice derivaćı vektorové funkce F = (F1, F2) má vbodě (−2; 4/3) hodnotu 3/4 < 1, takže iterace

    x0 = −2, y0 = 4/3, xi+1 = −√

    3yi, yi+1 =√

    2(1− xi)/3

    konverguje. Chyby menš́ı než ε1 je dosaženo po 5 kroćıchpro aproximaci (-2,070; 1,431). Tři kroky Newtonovy metodyposkytnou aproximaci řešeńı (-2,072019; 1,431088) s chy-bou menš́ı než ε2. Pro určeńı kořene x

    (1) vyjádř́ıme x =2/(2 + xy) ≡ F1(x, y) a y = x2/3 ≡ F2(x, y). Lze snadnoukázat, že ‖F ′‖∞ = 0, 6 < 1 v bodě (0, 9; 0, 3). Pak použit́ıiterace

    x0 = 0, 9, y0 = 0, 3, xi+1 = 2/(2 + xiyi), yi+1 = x2i /3

    vede k aproximaci (0, 8934; 0, 268) s chybou menš́ı než ε1po 4 kroćıch. Tři kroky Newtonovy metody pak poskytnouaproximaci(0, 893686; 0, 266225) s chybou menš́ı než ε2.}

    10 Aproximace funkce

    Ve druhé části tohoto textu se budeme zabývat přibližným výpo-čtem derivace funkce, určitého integrálu a přibližným řešeńımdiferenciálńıch problémů. Ve všech těchto úlohách je dána nebose hledá alespoň jedna funkce, takže nejde o numerické úlohy.Nezbytným př́ıpravným krokem je tedy náhrada těchto úlohúlohami numerickými. Ta spoč́ıvá předevš́ım v náhradě danénebo hledané funkce f , definované na intervalu (a, b), jinou funkćıF , která je určena konečným počtem parametr̊u a v některémsmyslu je lepš́ı, než funkce f . Např́ıklad lze efektivně poč́ıtatjej́ı hodnoty, derivace atd. Z tohoto hlediska jsou nejvýhodněǰśıpolynomy; symbolem Pn označ́ıme množinu všech polynomůstupně menš́ıho nebo rovného n. ”Náhradńı” funkce F muśı

    71

  • být k dané funkci f ”co nejbĺıže”. V př́ıpadě interpolace setéto bĺızkosti dosahuje t́ım, že hodnoty funkćı f a F př́ıpadnějejich derivace se shoduj́ı v daných bodech x0, x1, . . . , xn. Přiaproximaci metodou nejmenš́ıch čtverc̊u požadujeme, aby bylminimálńı součet druhých mocnin

    (f(x0)− F (x0))2 + . . . + (f(xn)− F (xn))2 .

    Symbolem Ck〈a, b〉 pro k = 0, 1, . . . budeme značit množinufunkćı, které maj́ı na intervalu 〈a, b〉 všechny derivace do řádu k(včetně k) spojité. Pro jednoduchost polož́ıme C〈a, b〉 = C0〈a, b〉.

    10.1 Úloha Lagrangeovy interpolace

    Pro danou soustavu x0, x1, . . . , xn vzájemně r̊uzných bod̊u, kterébudeme nazývat uzly (interpolace), a pro dané hodnoty y0, y1, . . . , ynhledáme funkci F , která je polynomem nebo je poskládaná zpolynomů ńızkých stupň̊u na podintervalech, vytvořených uzlyx0, x1, . . . , xn takovou, aby

    F (xi) = yi pro i = 0, 1, . . . , n. (29)

    Funkce F se nazývá interpolant. Jsou-li yi hodnotami f(xi) funkcef , pak ř́ıkáme, že F je interpolantem funkce f v uzlech x0, . . . , xn.

    10.1.1 Interpolačńı polynomy

    Požadujeme-li, aby interpolantem byl polynom z Pn, pak jeúloha Lagrangeovy interpolace vždy jednoznačně řešitelná. Řešitelnostověř́ıme konstrukćı interpolačńıho polynomu v Lagrangeově tvaru:Polož́ıme

    L(x) = y0L0(x) + y1L1(x) + . . . + ynLn(x),

    kde

    Li(x) =(x− x0) . . . (x− xi−1)(x− xi+1) . . . (x− xn)

    (xi − x0) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

    72

  • pro i = 0, 1, . . . , n. Je zřejmé, že Li ∈ Pn a Li(xj) = 1 pro j = i0 pro j 6= i .

    Odtud ihned plyne, že L ∈ Pn a F = L splňuje podmı́nku (29).

    Jednoznačnost interpolačńıho polynomu: Jestliže polynomyP, Q ∈ Pn splňuj́ı podmı́nku (29), pak (P − Q)(xi) = 0 proi = 0, 1, . . . , n a tedy polynom P − Q stupně menš́ıho neborovného n má n + 1 vzájemně r̊uzných kořen̊u. Odtud plyne, žeP −Q je nulový polynom a tedy P = Q.

    Př́ıklad 9.1. Najděte interpolačńı polynom v Lagrangeovětvaru pro data

    i 0 1 2 3

    xi -1 0 2 3yi 5 10 2 1

    Řešeńı. Polož́ıme

    L0(x) =(x− 0)(x− 2)(x− 3)

    (−1− 0)(−1− 2)(−1− 3)= − 1

    12x(x− 2)(x− 3)

    L1(x) =(x + 1)(x− 2)(x− 3)(0 + 1)(0− 2)(0− 3)

    =1

    6(x + 1)(x− 2)(x− 3)

    L2(x) = −1

    6(x + 1)x(x− 3) L3(x) =

    1

    12(x + 1)x(x− 2)

    a tedy L(x) = 5L0(x) + 10L1(x) + 2L2(x) + L3(x).

    Konstrukce interpolačńıho polynomu v Lagrangeově tvaru jevelmi názorná, ale např́ıklad výpočet jeho hodnoty je složitý:vyžaduje přibližně n2 operaćı. Proto se interpolačńı polynom vtomto tvaru použ�