Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl...

299
i Obsah Úvod 1 § 0.1. Reprezentace čísel v počítači .................... 2 § 0.2. Celková chyba výpočtu ....................... 5 § 0.3. Podmíněnost úloh .......................... 8 § 0.4. Realizace numerických výpočtů .................. 9 § 0.5. Stabilita algoritmů .......................... 11 § 0.6. Symbolika O, o ............................ 12 Cvičení .................................... 13 1 Normy vektorů a matic 15 Cvičení .................................... 20 Kontrolní otázky ............................... 22 2 Řešení nelineárních rovnic 23 § 2.1. Metoda bisekce ............................ 23 § 2.2. Metoda prosté iterace ........................ 26 § 2.3. Hledání vhodného tvaru iterační funkce .............. 37 § 2.4. Newtonova metoda ......................... 40 § 2.5. Metoda sečen ............................. 46 § 2.6. Metoda regula falsi ......................... 50 § 2.7. Quasi Newtonova metoda ...................... 52 § 2.8. Iterační metody pro násobné kořeny ................ 55 § 2.9. Urychlení konvergence ........................ 57 § 2.10. Steffensenova metoda ........................ 58 § 2.11. Müllerova metoda .......................... 62 § 2.12. Iterační metody pro systémy nelineárních rovnic ......... 63 § 2.13. Newtonova metoda pro systémy nelineárních rovnic ....... 67 Cvičení .................................... 69 Kontrolní otázky ............................... 72 3 Polynomy 73 § 3.1. Hranice kořenů ............................ 73 § 3.2. Počet reálných kořenů polynomu .................. 74

Transcript of Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl...

Page 1: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

i

Obsah

Úvod 1§ 0.1. Reprezentace čísel v počítači . . . . . . . . . . . . . . . . . . . . 2§ 0.2. Celková chyba výpočtu . . . . . . . . . . . . . . . . . . . . . . . 5§ 0.3. Podmíněnost úloh . . . . . . . . . . . . . . . . . . . . . . . . . . 8§ 0.4. Realizace numerických výpočtů . . . . . . . . . . . . . . . . . . 9§ 0.5. Stabilita algoritmů . . . . . . . . . . . . . . . . . . . . . . . . . . 11§ 0.6. Symbolika O, o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 Normy vektorů a matic 15Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 Řešení nelineárních rovnic 23§ 2.1. Metoda bisekce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23§ 2.2. Metoda prosté iterace . . . . . . . . . . . . . . . . . . . . . . . . 26§ 2.3. Hledání vhodného tvaru iterační funkce . . . . . . . . . . . . . . 37§ 2.4. Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . . 40§ 2.5. Metoda sečen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46§ 2.6. Metoda regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . 50§ 2.7. Quasi Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . 52§ 2.8. Iterační metody pro násobné kořeny . . . . . . . . . . . . . . . . 55§ 2.9. Urychlení konvergence . . . . . . . . . . . . . . . . . . . . . . . . 57§ 2.10. Steffensenova metoda . . . . . . . . . . . . . . . . . . . . . . . . 58§ 2.11. Müllerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 62§ 2.12. Iterační metody pro systémy nelineárních rovnic . . . . . . . . . 63§ 2.13. Newtonova metoda pro systémy nelineárních rovnic . . . . . . . 67Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3 Polynomy 73§ 3.1. Hranice kořenů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73§ 3.2. Počet reálných kořenů polynomu . . . . . . . . . . . . . . . . . . 74

Page 2: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

ii OBSAH

§ 3.3. Newtonova metoda a její modifikace . . . . . . . . . . . . . . . . 78§ 3.4. Bairstowova metoda . . . . . . . . . . . . . . . . . . . . . . . . . 86Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4 Přímé metody řešení systémů lineárních rovnic 93§ 4.1. Systémy lineárních rovnic . . . . . . . . . . . . . . . . . . . . . . 93§ 4.2. Gaussova eliminační metoda . . . . . . . . . . . . . . . . . . . . 95§ 4.3. Systémy se speciálními maticemi . . . . . . . . . . . . . . . . . . 107§ 4.4. Výpočet inverzní matice a determinantu . . . . . . . . . . . . . 111§ 4.5. Metody založené na minimalizaci kvadratické formy . . . . . . . 114§ 4.6. Stabilita, podmíněnost . . . . . . . . . . . . . . . . . . . . . . . 121§ 4.7. Analýza chyb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5 Iterační metody řešení systémů lineárních rovnic 133§ 5.1. Princip iteračních metod . . . . . . . . . . . . . . . . . . . . . . 133§ 5.2. Jacobiova iterační metoda . . . . . . . . . . . . . . . . . . . . . 137§ 5.3. Gaussova-Seidelova iterační metoda . . . . . . . . . . . . . . . . 141§ 5.4. Relaxační metody . . . . . . . . . . . . . . . . . . . . . . . . . . 145Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

6 Interpolace 157§ 6.1. Polynomiální interpolace . . . . . . . . . . . . . . . . . . . . . . 158§ 6.2. Chyba interpolace . . . . . . . . . . . . . . . . . . . . . . . . . . 167§ 6.3. Interpolace na ekvidistantních uzlech . . . . . . . . . . . . . . . 170§ 6.4. Obecný interpolační proces . . . . . . . . . . . . . . . . . . . . . 177§ 6.5. Iterovaná interpolace . . . . . . . . . . . . . . . . . . . . . . . . 179§ 6.6. Inverzní interpolace . . . . . . . . . . . . . . . . . . . . . . . . . 182§ 6.7. Sestavování tabulek . . . . . . . . . . . . . . . . . . . . . . . . . 182§ 6.8. Hermitova interpolace . . . . . . . . . . . . . . . . . . . . . . . . 183§ 6.9. Interpolace pomocí splajnů . . . . . . . . . . . . . . . . . . . . . 193Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

7 Numerické derivování 205§ 7.1. Numerický výpočet derivace . . . . . . . . . . . . . . . . . . . . 205§ 7.2. Diferenční aproximace . . . . . . . . . . . . . . . . . . . . . . . . 211§ 7.3. Richardsonova extrapolace . . . . . . . . . . . . . . . . . . . . . 212Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Page 3: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

iii

8 Ortogonální polynomy 217Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

9 Numerické integrování 225§ 9.1. Kvadraturní formule, stupeň přesnosti, chyba . . . . . . . . . . . 225§ 9.2. Gaussovy kvadraturní formule . . . . . . . . . . . . . . . . . . . 231§ 9.3. Newtonovy-Cotesovy kvadraturní formule . . . . . . . . . . . . . 248§ 9.4. Lobattova kvadraturní formule . . . . . . . . . . . . . . . . . . . 254§ 9.5. Čebyševova kvadraturní formule . . . . . . . . . . . . . . . . . . 257§ 9.6. Složené kvadraturní formule . . . . . . . . . . . . . . . . . . . . 260§ 9.7. Adaptivní kvadraturní formule . . . . . . . . . . . . . . . . . . . 264§ 9.8. Rombergova integrace . . . . . . . . . . . . . . . . . . . . . . . . 266§ 9.9. Metoda polovičního kroku, použití kvadraturních formulí . . . . 269§ 9.10. Integrály se singularitami . . . . . . . . . . . . . . . . . . . . . . 271Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274Kontrolní otázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

10 Metoda nejmenších čtverců 279Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

Literatura 289

Rejstřík 291

Page 4: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

iv OBSAH

Page 5: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Předmluva

Současná doba je charakterizována prudkým rozvojem výpočetní techniky a s tímsouvisí rozšíření možností aplikace matematiky i v dalších vědeckých oborech —biologii, chemii, ekonomii, psychologii, lékařství a v technických vědách.Důležitou úlohu v řadě aplikací mají metody numerické matematiky a odpoví-

dající efektivní algoritmy. A právě základním numerickým metodám jsou věnovánatato skripta.Skripta vycházejí ve druhém, rozšířeném vydání. Svým rozsahem pokrývají

dvousemestrovou přednášku z numerických metod v rámci studijních programůMatematika a Aplikovaná matematika na Přírodovědecké fakultě MU.Skripta jsou věnována základním numerickým metodám, a protože odpovída-

jící algoritmy pro realizaci těchto metod jsou poměrně jednoduché, nejsou, až navýjimky, v těchto skriptech uvedeny. Konstrukci těchto algoritmů v rámci sys-tému MATLAB je věnováno dost prostoru v příslušných cvičeních k uvedenýmpřednáškám.

Brno, říjen 2008 Ivana HorováJiří Zelinka

Page 6: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

vi PŘEDMLUVA

Page 7: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Úvod

Hamming, R. W. (1962):„Cíl výpočtů – pochopení podstaty, a ne čísloÿ„Dříve než budete úlohu řešit, promyslete si, cobudete dělat s jejím řešením.ÿ

Numerická matematika se zabývá procesy, pomocí nichž lze matematické problémyřešit aritmetickými operacemi. Někdy to bude znamenat sestrojení algoritmů k ře-šení problému, který je již v takovém tvaru, že jeho řešení lze nalézt aritmetickýmiprostředky (např. systém lineárních rovnic). Často to bude znamenat náhraduveličin, které nemohou být počítány aritmeticky (např. derivace nebo integrály)aproximacemi, které umožní nalézt přibližné řešení. Numerická matematika se rov-něž zabývá volbou postupu, který se „nejlépeÿ hodí k řešení speciálního problému.Uvádíme proto řadu příkladů na ilustraci numerických metod. Účelem těchto pří-kladů je, aby pomohly čtenáři porozumět podstatě té které numerické metody.

Poznámka 1. V 9. stol. n. l. arabský matematik Muhamad ibn Músá al-Chvaríz-mí napsal knihu, ve které vykládá indický početní systém. Latinskému překladunázvu knihy „Algorithmi de numero Indorumÿ vděčíme za název algoritmus.

Numerická řešení problémů jsou obvykle zatížena chybami, které vznikají vedvou oblastech: těmi, které jsou obsaženy v matematické formulaci problému,a těmi, které jsou způsobeny hledáním řešení numerickou cestou.První kategorie zahrnuje chyby způsobené tím, že matematický problém je

pouze aproximací reálné situace. Jiným pramenem chyb jsou např. nepřesnostifyzikálních konstant nebo chyby v empirických hodnotách.Nechť x je přesné číslo a nechť x značí aproximaci x. Rozdíl x − x nazýváme

absolutní chybou aproximace x, veličinu α, |x − x| ≤ α, nazýváme odhadem ab-solutní chyby. Vhodněji lze vyjádřit vztah mezi x a x prostřednictvím relativníchyby:Podíl (x − x)/x nazýváme relativní chybou a veličinu δ,

∣∣∣∣

x− x

x

∣∣∣∣≤ δ,

nazýváme odhadem relativní chyby.Jestliže |x| je malé číslo, je vhodné pro odhad chyby použít relativní chyby, což

je vidět z následujícího příkladu.

Page 8: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

2 ÚVOD

Mějme např. čísla x1 = 1,31, x1 = 1,30 a x2 = 0,12, x2 = 0,11. Pro absolutníchyby v obou případech platí

|x1 − x1| = 0,01, |x2 − x2| = 0,01,

ale pro relativní chyby platí∣∣∣∣

x1 − x1x1

∣∣∣∣= 0,0076,

∣∣∣∣

x2 − x2x2

∣∣∣∣= 0,0833.

Tento výsledek ukazuje, že x1 je bližší x1 než x2 k x2, zatímco z absolutní chybynic takového neplyne.Relativní chyba rovněž slouží k odhadu platných cifer aproximace x. Tuto

skutečnost lze formulovat takto:

Definice 0.1. Řekneme, že aproximace x čísla x má s platných cifer, jestliže s jenejvětší celé nezáporné číslo takové, že platí

∣∣∣∣

x− x

x

∣∣∣∣≤ 5.10−s.

Poznámka 2. Nechť x je reálné číslo, které má obecně nekonečné dekadické vyjá-dření. Číslo x(d), které má d desetinných míst, je správně zaokrouhlenou hodnotoučísla x, platí-li

|x− x(d)| ≤ 1210−d.

Ve správně zaokrouhleném čísle jsou všechny cifry platné.

Dalším zdrojem chyb během výpočtu je nepřesné zobrazování čísel v pamětipočítače jako důsledek její konečné velikosti.

§ 0.1. Reprezentace čísel v počítači1

1. Strojová reprezentace celých čísel na n bitů (počítání modulo 2n)

(i) bez znaménka (unsigned integer):

a ≥ 0 ⇒ rozsah: 0 ≤ a ≤ 2n − 1 = (11 . . . 1︸ ︷︷ ︸

n

)2,

(ii) se znaménkem (signed integer):

a libovolné ⇒ rozsah: (10 . . . 0︸ ︷︷ ︸

n

)2 = −2n−1 ≤ a ≤ 2n−1− 1 = (01 . . . 1︸ ︷︷ ︸

n

)2.

Současně vidíme, že prvý bit určuje znaménko: 1 = minus, 0 = plus.

1Tato část byla převzata z nepublikovaného učebního textu doc. RNDr. V. Veselého, CSc.

Page 9: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 0.1. Reprezentace čísel v počítači 3

Je zřejmé, že v rámci uvedených rozsahů jsou celočíselné výpočty absolutně přesné,zatímco mimo ně naopak zcela chybné.

Příklad 0.1. (n = 3)

(i) 0 ≤ a ≤ 7 :mod8

0 1 2 3 4 5 6 7 0 1 2 3 . . .

(ii) −4 ≤ a ≤ 3 : 0 −7 −6 −5mod8

−4 −3 −2 −1 0 1 2 3 . . .

K číslu a najdeme v modulární aritmetice číslo opačné −a snadno z rovnice

a+ a︸ ︷︷ ︸

(11...1)2

+ 1 = 2n ≡ 0 mod 2n.

Odtud dostáváme −a = a+ 1, kde a vznikne z a negací po bitech.Například

a = 2 = (010)22 = (101)2

2 + 2 = (111)2⇓

−2 = 2 + 1 = (110)2= 6 mod 8.

V počítači se celá čísla zobrazují zpravidla v těchto přesnostech:

n = 8 (1 bajt) . . . (un)signed char (1 znak)n = 16 (2 bajty) . . . (un)signed short integer (poloviční přesnost)n = 32 (4 bajty) . . . (un)signed integer (jednoduchá přesnost)n = 64 (8 bajtů) . . . (un)signed long integer (dvojnásobná přesnost)

2. Strojová reprezentace reálných čísel na n bitů

Nechť q ≥ 2 značí základ číselné soustavy. V počítačích pracujeme s čísly nejčastějiv soustavách q = 2, 8, 16. Přesná reálná čísla se reprezentují v tzv. semilogaritmic-kém tvaru pohyblivé řádové čárky (normalizovaná mantisa + exponent):

p =

mantisa︷ ︸︸ ︷

±d1, d2d3 . . . dkdk+1 . . .× qe,

kde e ∈ Z je exponent a 1 ≤ d1 ≤ q − 1, 0 ≤ dj ≤ q − 1 (pro j > 1) jsou cifrymantisy. Zejména v případě q = 2 je d1 = 1, takže tento bit je možno využít prozobrazení znaménka mantisy (1 = minus, 0 = plus).

Strojová reálná čísla se ukládají pouze s konečným počtem k cifer mantisy.Obdržíme tak přibližnou reprezentaci fl(p) (floating-point representation), kterávznikne buď pouhým odseknutím (chopping) přebývajících cifer nebo se navíc po-slední k-tá cifra dk zaokrouhlí (rounding). Současně se také vhodně omezí rozsahexponentu: −emin ≤ e ≤ emax. Dostáváme tedy tyto aproximace:

Page 10: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

4 ÚVOD

a) p = flchop(p) = ±d1, d2d3 . . . dk × qe,s absolutní chybou aproximace 0 ≤ |p− p| < qe−(k−1),

b) p = flround(p) = ±d1, d2d3 . . . dk−1dk × qe, dk = round(dk, dk+1, . . .),s absolutní chybou aproximace 0 ≤ |p− p| ≤ qe−(k−1)/2.

Příklad 0.2.

(a) q = 10, k = 6:

p = 227 = 3,1428571428 ⇒

flchop(p) = 3,14285× 100flround(p) = 3,14286× 100

(b) q = 2, k = 5:

p = 0,1 = (1,10011001)2 × 2−4 ⇒flchop(p) = (1,1001)2 × 2−4flround(p) = (1,1010)2 × 2−4

Tento příklad je současně ilustrací čísla, které má konečný počet cifer v deka-dické soustavě, ale nekonečný počet cifer v binární soustavě a není tedy v pamětipočítače zobrazeno přesně.

V počítačích se reálná čísla zobrazují zpravidla v těchto přesnostech:

a) Jednoduchá přesnost (4 bajty): n = 32 = 24 bitů mantisy + 8 bitů expo-nentu.Rozsah exponentu: −27

︸︷︷︸

−128

≤ e ≤ 27 − 1︸ ︷︷ ︸

127

.

Dekadický rozsah:2,938736× 10−39 až 1,701412× 1038, kde2,938736× 10−39 .= 1× 2−128 a1,701412× 1038 .= (1,11 . . .1)2

︸ ︷︷ ︸

≈2

×2127 .= 2× 2127 = 2128.

Dekadická přesnost mantisy:2−23

.= 1,2 × 10−7 ⇒ cca 7 dekadických cifer přesnosti, což však vzhledem

k příkladu 0.2(b) neznamená, že každé číslo s nejvýše 7 dekadickými ciframimusí být zobrazeno přesně.

b) Dvojnásobná přesnost (8 bajtů): n = 64 = 53 bitů mantisy + 11 bitů expo-nentu.Rozsah exponentu: −210

︸ ︷︷ ︸

−1024

≤ e ≤ 210 − 1︸ ︷︷ ︸

1023

.

Dekadický rozsah:5,562684646268003× 10−309 až 8,988465674311580× 10307, kde5,562684646268003× 10−309 .= 1× 2−1024 a8,988465674311580× 10307 .= (1,11 . . . 1)2

︸ ︷︷ ︸

≈2

×21023 .= 2× 21023 = 21024.

Dekadická přesnost mantisy:2−52

.= 2,2× 10−16 ⇒ cca 16 dekadických cifer přesnosti.

Page 11: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 0.2. Celková chyba výpočtu 5

Běžně používaná binární reprezentace dle normy IEEE (např. počítače třídy PC)je v poněkud modifikovaném tvaru:

p = flIEEE(p) = s e10e9e8 . . . e0d2, d3 . . . d53,

kde

• s1 d2, d3 . . . d53 . . . mantisa se znaménkovým bitem s (1=minus, 0=plus)a dvěma binárními místy před řádovou čárkou (d1 = 1 a d2),

• e = (e10e9e8 . . . e0)2 . . . exponent v 11-bitové binární reprezentaci se znamén-kem podle 1ii v symetrickém rozsahu −(210− 1) ≤ e ≤ 210− 1. Tedy e10 = 1odpovídá nezaporným hodnotám exponentu a e10 = 0 záporným hodnotám,přičemž případ e = −210 byl vyloučen, neboť pro něj jsou všechny bity ex-ponentu e10e9e8 . . . e0 nulové a vznikla by kolize s vyjádřením čísla 0, kteráje dána nulovými hodnotami všech bitů IEEE reprezentace (jinak by totižtyto nulové bity určovaly kladné číslo (10,0 . . . 0)2 × 2−2

10

).

Zmíníme se ještě o šíření chyb při provádění aritmetických operací v případězápisu čísel v pohyblivé řádové čárce. Lze dokázat, že platí ([6],[13])

fl(x ∗ y) = (x ∗ y)(1 + δ),

kde ∗ znamená libovolnou z aritmetických operací +,−,×, :, a |δ| ≤ µ, µ dekadickápřesnost mantisy.

§ 0.2. Celková chyba výpočtu

Dalším zdrojem chyb je skutečnost, že se neřeší problém, který byl původně zadán,ale nějaká jeho aproximace. Často je to způsobeno náhradou procesu nekonečnéhoprocesem konečným. Přesněji: Předpokládejme, že veličina Y je jednoznačně ur-čena hodnotami x1, . . . , xn, tj.

Y = F (x1, . . . , xn).

Funkční závislost F nahradíme numerickou metodou f a získané teoretickéřešení označíme y:

y = f(x1, . . . , xn).

Vzhledem k tomu, že místo hodnot xi musíme často používat jen aproximacexi, a protože nelze provádět všechny aritmetické operace přesně (zaokrouhlovánímezivýsledků), bude se vypočtená hodnota

y = f(x1, . . . , xn)

lišit od y. Celkovou chybu vyjádříme jako součet dílčích chyb takto:

Y − y = Y − y+ f(x1, x2, . . . , xn)− f(x1, . . . , xn)++

f(x1, . . . , xn)− f(x1, . . . , xn)

.

Page 12: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

6 ÚVOD

Rozdíl Y − y nazveme chybou metody, f(x1, x2, . . . , xn)− f(x1, . . . , xn) se nazýváchyba primární a f(x1, . . . , xn)− f(x1, . . . , xn) se nazývá chyba sekundární.Schematicky lze předchozí úvahy znázornit takto:

Danýproblém

Matematickáformulace

Numerickámetoda

Numerickámetoda —algoritmus

- - -

Y = F (x1, . . . , xn) y = f(x1, . . . , xn) y = f(x1, . . . , xn)

U každé numerické metody by měla být uvedena chyba této metody. Primárníchybu lze odhadnout následujícím způsobem:

Věta 0.1. Buď U = xi : |xi − xi| ≤ αi, i = 1, . . . , n a nechť funkce f(x1, . . . , xn)je spojitě diferencovatelná na U . Pak

|f(x1, . . . , xn)− f(x1, . . . , xn)| ≤n∑

i=1

Aiαi, (0.1)

kde

Ai = supU

∣∣∣∣

∂f

∂xi(x1, . . . , xn)

∣∣∣∣, i = 1, . . . , n.

Důkaz plyne z Lagrangeovy věty pro funkce n proměnných.

Poznámka 3. V praxi se užívá odhadu

|f(x1, . . . , xn)− f(x1, . . . , xn)| ≤n∑

i=1

∣∣∣∣

∂f

∂xi(x1, x2, . . . , xn)

∣∣∣∣αi. (0.2)

Odhad sekundární chyby lze provést teprve tehdy, až je algoritmus rozepsán doposloupnosti aritmetických operací (viz příklad 0.4).

Příklad 0.3. Počítejme gravitační zrychlení g ze vzorce pro dobu kmitu T mate-matického kyvadla

T = 2π

l

g

(l délka kyvadla). Jaké absolutní chyby se dopustíme, jestliže dobu kmitu T měřímes chybou ∆T a l s chybou ∆l?Řešení. Je třeba v podstatě odhadnout primární chybu:

|g(l, T )− g(l, T )|,

kde T = T +∆T , l = l +∆l, a funkce g je dána vztahem

g(l, T ) =4π2lT 2

.

Page 13: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 0.2. Celková chyba výpočtu 7

Počítejme parciální derivace funkce g podle jednotlivých proměnných:

∂g

∂l=4π2

T 2,

∂g

∂T= −8π

2l

T 3

Užijeme vztahu (0.2):

|g(l, T )− g(l, T )| ≤∣∣∣∣

∂g

∂l(l, T )

∣∣∣∣|∆l|+

∣∣∣∣

∂g

∂T(l, T )

∣∣∣∣|∆T | =

=4π2

T 2|∆l|+ 8π

2l

T 3|∆T | = 4π

2

T 2l

( |∆l|l+ 2

|∆T |T

)

=

= g(l, T )( |∆l|

l+ 2

|∆T |T

)

.

Ukážeme nyní na příkladě, že sekundární chyba a tedy i celková chyba výpočtuzávisí na tom, jak výpočet uspořádáme a jak zaokrouhlujeme během výpočtovéhoprocesu.

Příklad 0.4. Nechť u = (u1, . . . , un), v = (v1, . . . , vn) jsou dva vektory, jejichžvšechny složky jsou správně zaokrouhleny na d desetinných míst a nechť U =(U1, . . . , Un), V = (V1, . . . , Vn) jsou přesné vektory. Je třeba vypočítat skalárnísoučin

(u,v) =n∑

i=1

uivi

na d míst.Ptáme se: Je výhodnější každý ze součinů uivi napřed zaokrouhlit na d míst a paksečíst, nebo napřed všechny součiny uivi sečíst a pak zaokrouhlit výsledek na ddesetinných míst?Řešení. Nechť

Ui = ui + εi, Vi = vi + δi, i = 1, . . . , n, |εi|, |δi| ≤1210−d.

Pakuivi = (Ui − εi)(Vi − δi) = UiVi − εiVi − δiUi + εiδi . (0.3)

Vztah (0.3) udává primární chybu UiVi − uivi. Jestliže každý ze součinů uivi

zaokrouhlíme na d desetinných míst a výsledek označíme (uivi)z , máme

(uivi)z = UiVi − εiVi − δiUi + εiδi + γi, (0.4)

kde |γi| ≤ 1210

−d. V prvním případě je skalární součin (u,v) roven

(u,v) =n∑

i=1

(uivi)z =n∑

i=1

UiVi −n∑

i=1

(δiUi + εiVi − εiδi − γi),

Page 14: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

8 ÚVOD

takže celková chyba je

(U ,V )− (u,v) =n∑

i=1

(δiUi + εiVi − εiδi − γi) =

=n∑

i=1

(δiUi + εiVi − εiδi)−n∑

i=1

γi .(0.5)

Při druhém postupu počítáme bez zaokrouhlování, tj. každý součin uivi má 2ddesetinných míst. Tyto součiny sečteme a výsledek zaokrouhlíme:

(u,v) =n∑

i=1

uivi + γ =n∑

i=1

UiVi −n∑

i=1

(δiUi + εiVi − δiεi) + γ, (0.6)

kde |γ| ≤ 1210

−d. Tedy

(U ,V )− (u,v) =n∑

i=1

(δiUi + εiVi − δiεi)− γ . (0.7)

Protože uivi jsou správně zaokrouhlená čísla na d desetinných míst, je∣∣∣∣∣

n∑

i=1

(δiUi + εiVi − δiεi)

∣∣∣∣∣≤ 1210−d

n∑

i=1

(|Ui|+ |Vi|+1210−d) . (0.8)

Dále jen∑

i=1

|γi| ≤n

210−d .

V rovnicích (0.5) a (0.7) je pouze poslední člen způsoben zaokrouhlovacími chy-bami během výpočtu. Nechť |Ui|, |Vi| < 1, pro i = 1, . . . , n. Pak druhý člen v rov-nici (0.5) je řádově stejný jako první člen, ale druhý člen v rovnici (0.7) je malýve srovnání s prvním členem. Druhý postup je proto výhodnější než první postup.Tyto úvahy mají velký význam při výpočtech na počítačích, kde je velký početoperací, a pořadí, v němž je výpočet proveden, je velmi významným faktorem.

§ 0.3. Podmíněnost úloh

Předpokládejme, že B1 (množina vstupních dat) a B2 (množina výstupních dat)jsou Banachovy prostory.Řekneme, že úloha

y = U(x), x ∈ B1, y ∈ B2

je korektní pro dvojici prostorů (B1, B2), jestliže

1. ke každému x ∈ B1 existuje jediné řešení y ∈ B2 : y = U(x).

Page 15: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 0.4. Realizace numerických výpočtů 9

2. toto řešení spojitě závisí na vstupních datech, tj. jestliže xn → x, U(xn) =yn, pak U(xn)→ U(x) = y.

Velkou třídu nekorektních úloh tvoří nejednoznačně řešitelné úlohy.Uvedeme nyní charakteristiku dobře podmíněných úloh. Řekneme, že korektní

úloha je dobře podmíněna, jestliže malá změna ve vstupních datech vyvolá malouzměnu řešení. Je-li y + ∆y resp. y řešení odpovídající vstupním datům x + ∆xresp. x, potom číslo

Cp =

∣∣∣∣

∆yy

∣∣∣∣

∣∣∣∣

∆xx

∣∣∣∣

=|relativní chyba na výstupu||relativní chyba na vstupu|

(kde místo absolutních hodnot mohou být obecně normy, viz kap. 1) nazýváme čís-lem podmíněnosti úlohy y = U(x). Je-li Cp ≈ 1, je úloha velmi dobře podmíněna.Pro velká Cp (> 100) je úloha špatně podmíněna.Posuďme nyní z hlediska dobré či špatné podmíněnosti výpočet hodnoty y =

sinx.Číslo podmíněnosti je v tomto případě dáno vztahem

Cp =

∣∣∣∣

∆yy

∣∣∣∣

∣∣∣∣

∆xx

∣∣∣∣

=

∣∣∣∣

sin(x+∆x) − sinxsinx

∣∣∣∣

∣∣∣∣

∆xx

∣∣∣∣

=

∣∣∣∣

sin(x+∆x)− sinx∆x

∣∣∣∣

∣∣∣x

sinx

∣∣∣ .

Nechť ∆x → 0 a zabývejme se výpočtem sinx a) v okolí bodu 0, b) v okolíbodu π.

a) V okolí bodu 0 je

Cp ≈ | cosx|∣∣∣x

sinx

∣∣∣ ≈ 1.

b) V okolí bodu π

Cp =∣∣∣x cosxsinx

∣∣∣ = |x cotg x| → +∞.

Speciálně pro x = 3,14, ∆x = 0,01 se dá ukázat ([18])

Cp ≈ 1972.

Úloha stanovit sinx v okolí 0 je dobře podmíněna a v okolí bodu π je špatněpodmíněna.

§ 0.4. Realizace numerických výpočtů

Následující příklady ukazují na problémy, které se mohou objevit při realizacinumerických výpočtů.

Page 16: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

10 ÚVOD

Příklad 0.5. Počítejme rozdíl dvou čísel x = 0,54617 a y = 0,54601. Přesnáhodnota rozdílu je d = 0,00016. Uvažujme nyní čísla zaokrouhlená:

x = 0,5462, y = 0,5460.

Nyní je d = x− y = 0,0002. Relativní chyba je v tomto případě

|d− d||d| = 0,25

a je tedy dosti velká.Co se zde stalo? Čísla x a y jsou „téměřÿ stejná (při zaokrouhlení na 4 cifry).

Při odčítání platné cifry se vyruší a zůstanou „méněÿ významné cifry. Tento jev senazývá „katastrofické zrušeníÿ a vyskytuje se v případech, kdy odečítáme přibližnědvě stejná čísla. Ale při konkrétních výpočtech můžeme tento jev eliminovat.Uvažujme například kvadratickou rovnici

ax2 + bx+ c = 0, a 6= 0.

Kořeny této rovnice jsou

x1 =−b+

√b2 − 4ac2a

, x2 =−b−

√b2 − 4ac2a

.

Je jasné, že v případě, kdy −b a√b2 − 4ac jsou „blízkáÿ čísla, výpočet x2 může být

velmi negativně ovlivněn „katastrofickým zrušenímÿ. Tomuto problému se můžemevyhnout tak, že počítáme kořeny následujícím způsobem:

x1 =−b− sign (b)

√b2 − 4ac

2a, x2 =

c

ax1.

Příklad 0.6. Počítejme integrál

En =∫ 1

0

xnex−1 dx

pro n = 1, 2, 3, . . .Integrací per partes dostaneme

En =∫ 1

0

xnex−1 dx =[xnex−1

]1

0−∫ 1

0

nxn−1ex−1 dx,

neboliEn = 1− nEn−1.

Jelikož E1 = 1/e, lze užitím této formule vypočítat En pro n = 2, 3, . . .

Page 17: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 0.5. Stabilita algoritmů 11

Nechť E1 = 0,367879 (tj. hodnota 1/e je zaokrouhlena na 6 cifer). Pak

E2 = 0,264242

E3 = 0,207274...

E9 = −0,0684800

I když je integrand kladný, je hodnota integrálu záporná! Tento jev můžeme vysvět-lit takto: Ze vztahu E2 = 1− 2E1 plyne, že chyba při výpočtu E2 je (-2)krát většínež chyba při výpočtu E1, dále chyba při výpočtu E3 je (-3)krát větší než chyba přivýpočtu E2 atd. To znamená, že chyba při výpočtu E9 je (−2)(−3) . . . (−9) = 9!větší než chyba v E1. Tedy chyba v E1, která je přibližně 4,412× 10−7, vede nachybu 9! 4,412× 10−7 ≈ 0,1601, což znamená dosti velkou chybu. Užitím uvedenérekurentní formule došlo ke značné kumulaci chyby.Toto je obecný problém tzv. trojčlenných rekurentních formulí. Doporučený

postup je následující. Přepišme uvedenou formuli ve tvaru

En−1 =1− En

n, n = . . . , 3, 2.

Pak chyba bude na každém kroku redukována faktorem 1/n. Začneme větší hod-notou n a postupujeme zpětně. Je třeba ovšem „odhadnoutÿ tuto „startovacíÿhodnotu. Všimněme si, že

En =∫ 1

0

xnex−1 dx ≤∫ 1

0

xn dx =1

n+ 1.

Tedy pro n = 20 je E20 ≤ 1/21 a lze položit E20 = 0. Nyní užitím formuleEn−1 = (1 − En)/n dostaneme E9 = 0,0916123 a tato hodnota má 6 platnýchcifer.

§ 0.5. Stabilita algoritmů

Z předchozích příkladů je zřejmé, že velká nepřesnost vypočtených výsledků bylazpůsobena užitím nevhodného algoritmu, neboť při změně algoritmu byly vy-počtené výsledky zcela vyhovující. S tím souvisí otázky stability algoritmů.

Definice 0.2. Algoritmus se nazývá stabilní, jestliže vypočtené řešení je přesnýmřešením „blízkéhoÿ problému, tj. řešením problému s blízkými vstupními daty.

Tento pojem stability vysvětlíme na následujícím příkladě.

Příklad 0.7. Víme, že fl(x+ y) = (x+ y)(1 + δ) = x(1 + δ) + y(1 + δ) = x′ + y′.Tedy vypočtený součet dvou čísel x, y v pohyblivé řádové čárce je přesný součetjiných dvou čísel x′ a y′. Jelikož |δ| ≤ µ, jsou čísla x′ a y′ blízká číslům x, y. Tedyoperace sčítání dvou čísel v pohyblivé řádové čárce je stabilní.

Page 18: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

12 ÚVOD

O stabilitě konkrétních algoritmů pojednáme v dalších kapitolách při realizacijednotlivých numerických metod.

Výše uvedenými příklady nechceme čtenáře odradit od studia a používání nu-merických metod. Cílem bylo pouze upozornit na možná „úskalíÿ při realizacinumerických metod a ukázat způsoby, jak tyto problémy překonat. Velmi pěknějsou některé patologické jevy v numerické matematice objasněny v monografii [15].

§ 0.6. Symbolika O, o

Závěrem této kapitoly ještě uvedeme symboliku O a o, která se často používá provyjádření chyb matematických výrazů (viz např. [9]).

Nechť ϕ je funkce (reálná nebo komplexní) definovaná v okolí bodu a (můžebýt i ∞). Nechť ψ je funkce kladná v prstencovém okolí bodu a. Symbol

ϕ(x) = O(ψ(x)) pro x→ a (0.9)

značí, že

lim supx→a

|ϕ(x)|ψ(x)

<∞ .

Podobně symbolϕ(x) = o(ψ(x)) pro x→ a (0.10)

označuje, že

limx→a

|ϕ(x)|ψ(x)

= 0 .

Podobně je možné definovat výraz

an = O(bn) nebo an = o(bn) pro n→ ∞ ,

kde an, bn jsou prvky posloupností.Dodatek „pro x → aÿ se často vynechává, pokud je jasné, o které a se jedná.

Je to zejména v případech a = 0 či a =∞, případně u posloupností, kde je zřejmé,že n → ∞. Často používaný výraz je také O(hk), resp. o(hk), kde ψ(h) = hk,přičemž zpravidla h→ 0.Při počítání s výrazy obsahující symboly O a o platí následující pravidla:

O(ψ(x)) +O(ψ(x)) = O(ψ(x))

o(ψ(x)) + o(ψ(x)) = o(ψ(x))

O(ψ(x)) ·O(ϑ(x)) = O(ψ(x) · ϑ(x))O(ψ(x)) · o(ϑ(x)) = o(ψ(x) · ϑ(x))

o(ψ(x)) = O(ψ(x))

Page 19: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení k úvodní kapitole 13

Tyto rovnice nejsou symetrické, platí jen zleva doprava. Např. poslední rovniceznačí, že funkce splňující rovnici (0.10) splňuje také rovnici (0.9). Opačně to ovšemneplatí.Pokud za funkci ψ(x) vezmeme konstantu 1, dostáváme výrazy ϕ(x) = O(1)

a ϕ(x) = o(1). První z nich znamená, že funkce ϕ je omezená v okolí bodu a,druhý, že ϕ má limitu 0 v bodě a.

Cvičení k úvodní kapitole

1. Najděte primární chybu, která vznikne, jestliže přibližných čísel je použitok výpočtu:

a) součtu n čísel

b) součinu n čísel

c) podílu dvou čísel

d) mocniny čísla, kdy exponent je znám přesně

2. Nechť je dáno n čísel a1, . . . , an, kde ai je správně zaokrouhleno na di de-setinných míst. Chceme spočítat součet na d = min

idi desetinných míst.

Ukažte, že je výhodnější nejprve všechna čísla sečíst a výsledek zaokrouhlitna d míst, než napřed každé číslo ai zaokrouhlit na d míst a pak sečíst.

3. Buďte x resp. y čísla v absolutní hodnotě menší než 1 a správně zaokrouhlenana 2d resp. d desetinných míst. Nechť |x| < |y|.Chceme spočítat podíl x/yna d desetinných míst. Ukažte, že použití 2d-místného dělence je výhodnější,než když dělence nejdříve zaokrouhlíme na d míst a pak dělíme.

Page 20: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

14 ÚVOD

Page 21: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 1

Normy vektorů a matic

Nechť Cn resp. R

n je vektorový prostor všech uspořádaných n-tic komplexníchresp. reálných čísel. Prvky tohoto prostoru budeme zapisovat ve tvaru sloupcovýchvektorů.

Definice 1.1. Vektorová norma na Cn je funkce ‖ · ‖ (z Cn do R) s následujícímivlastnostmi:

1) ‖x‖ ≥ 0, ∀x ∈ Cn

2) ‖x‖ = 0⇔ x = o, o = (0, . . . , 0)T

3) ‖αx‖ = |α| ‖x‖, ∀α ∈ C, ∀x ∈ Cn

4) ‖x+ y‖ ≤ ‖x‖+ ‖y‖, ∀x,y ∈ Cn.

Příklady vektorových norem:

1) ‖x‖2 =(

n∑

i=1

|xi|2) 12

(eukleidovská norma)

2) ‖x‖1 =n∑

i=1

|xi| (oktaedrická norma)

3) ‖x‖∞ = max1≤i ≤n

|xi| (krychlová norma)

Každá vektorová norma indukuje metriku danou vztahem (x,y) = ‖x − y‖.Připomeňme ještě definici konvergence posloupnosti vektorů vzhledem k danénormě.

Definice 1.2. Řekneme, že posloupnost xk∞k=1 vektorů z Cn konverguje k vek-toru x ∈ Cn vzhledem k normě ‖ · ‖, jestliže pro libovolné ε > 0 existuje indexN = N(ε) tak, že

‖xk − x‖ < ε

Page 22: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

16 1. NORMY VEKTORŮ A MATIC

pro ∀ k ≥ N(ε).

Nechť A je čtvercová matice řádu n s reálnými resp. komplexními prvky, tj.

A =

a11 · · · · · · a1na21 a2n...

...an1 · · · · · · ann

.

OznačmeMn třídu všech matic tohoto typu.Matici A lze považovat za vektor dimenze n2. Mohli bychom tedy definovat

normu matice jako normu vektoru. Ale z hlediska pozdějších aplikací je vhodnějšípožadovat, aby norma matice splňovala další vlastnosti. Z těchto důvodů definu-jeme maticovou normu takto:

Definice 1.3. Maticová norma na množiněMn je reálná funkce ‖ · ‖ s těmitovlastnostmi:

1) ‖A‖ ≥ 0, ∀A ∈ Mn

2) ‖A‖ = 0⇔ A je nulová matice

3) ‖αA‖ = |α| ‖A‖, ∀α ∈ C, ∀A ∈ Mn

4) ‖A+B‖ ≤ ‖A‖+ ‖B‖, A,B ∈ Mn

5) ‖AB‖ ≤ ‖A‖ ‖B‖, A,B ∈ Mn

Vlastnost 5) se nazývá multiplikativnost .Někdy je vhodné požadovat, aby norma matice nějakým způsobem „souviselaÿ

s normou vektoru. Tuto vlastnost nazýváme souhlasnost a její definice je následu-jící:

Definice 1.4. Řekneme, že maticová norma ‖ · ‖ je souhlasná s danou vektorovounormou ‖ · ‖ϕ, jestliže

‖Ax‖ϕ ≤ ‖A‖ ‖x‖ϕ, ∀x ∈ Cn, ∀A ∈ Mn.

Věta 1.1. Nechť ‖ · ‖ϕ je vektorová norma na Cn. Pak číslo

‖A‖ϕ = max‖x‖ϕ=1

‖Ax‖ϕ

je maticová norma souhlasná s danou vektorovou normou ‖ · ‖ϕ.Tato norma se nazývá přidružená k dané vektorové normě.

Důkaz. Norma je spojitá funkce vektoru x. ProtožeAx je rovněž vektor, je funkce‖Ax‖ϕ spojitá, a tedy dosáhne na uzavřené omezené množině Ω = x : ‖x‖ϕ = 1svého maxima. To znamená, že existuje vektor x0 ∈ C

n, ‖x0‖ϕ = 1, tak, že

‖Ax0‖ϕ = max‖x‖ϕ=1

‖Ax‖ϕ.

Page 23: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

17

Tím je dokázána existence čísla ‖A‖ϕ. Nyní ukážeme, že jsou splněny všechnyaxiomy maticové normy.

1) Nechť A 6≡ O, kde O je nulová matice. Pak existuje vektor x ∈ Cn, ‖x‖ϕ = 1takový, že Ax 6= o a tedy ‖Ax‖ϕ > 0. Proto

‖A‖ϕ = max‖x‖ϕ=1

‖Ax‖ϕ ≥ ‖Ax‖ϕ > 0.

2) Je zřejmé, že ‖A‖ϕ = 0⇔ A je nulová matice.

3) Pro libovolné α ∈ C platí

‖αA‖ϕ = max‖x‖ϕ=1

‖(αA)x‖ϕ = max‖x‖ϕ=1

|α| ‖Ax‖ϕ = |α| ‖A‖ϕ.

Než dokážeme, že je splněn čtvrtý axiom, ukážeme, že norma ‖A‖ϕ je souhlasnás danou vektorovou normou.Nechť y 6= o je libovolný vektor z Cn. Vektor x = y/‖y‖ϕ má normu rovnu jedné.Pak

‖Ay‖ϕ = ‖A(x‖y‖ϕ)‖ = ‖y‖ϕ‖Ax‖ϕ ≤ ‖y‖ϕ‖A‖ϕ.

Tedy norma ‖A‖ϕ je souhlasná s danou vektorovou normou.

4) Nechť x ∈ Cn, ‖x‖ϕ = 1, je takový vektor, že

‖(A+B)x‖ϕ = max‖x‖ϕ=1

‖(A+B)x‖ϕ.

Je tedy

‖A+B‖ϕ = ‖(A+B)x‖ϕ ≤ ‖Ax‖ϕ + ‖Bx‖ϕ ≤≤ max

‖x‖ϕ=1‖Ax‖ϕ + max

‖x‖ϕ=1‖Bx‖ϕ = ‖A‖ϕ + ‖B‖ϕ.

5) Pro matici AB najdeme vektor x ∈ Cn, ‖x‖ϕ = 1, takový, že

‖(AB)x‖ϕ = max‖x‖ϕ=1

‖(AB)x‖ϕ.

Pak je

‖AB‖ϕ = ‖(AB)x‖ϕ = ‖A(Bx)‖ϕ ≤ ‖A‖ϕ‖Bx‖ϕ ≤≤ ‖A‖ϕ‖B‖ϕ‖x‖ϕ = ‖A‖ϕ‖B‖ϕ.

2

Věta 1.2. Přidružená maticová norma je nejvýše rovna libovolné maticové norměsouhlasné s danou vektorovou normou.

Page 24: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

18 1. NORMY VEKTORŮ A MATIC

Důkaz. Nechť ‖ · ‖ je maticová norma souhlasná s danou vektorovou normou‖ · ‖ϕ. Pak platí

‖Ax‖ϕ ≤ ‖A‖ ‖x‖ϕ.

Víme, že existuje takový vektor x0 ∈ Cn, že ‖x0‖ϕ = 1, ‖A‖ϕ = ‖Ax0‖ϕ a odtudplyne

‖A‖ϕ = ‖Ax0‖ϕ ≤ ‖A‖ ‖x0‖ϕ = ‖A‖,a tedy ‖A‖ϕ ≤ ‖A‖. 2

Věta 1.3. Nechť maticová norma ‖ · ‖ je souhlasná s danou vektorovou normou‖ · ‖ϕ. Pak pro všechna vlastní čísla λ matice A platí:

|λ| ≤ ‖A‖ .

Důkaz. Nechť x je vlastní vektor matice A odpovídající (nenulovému) vlastnímučíslu λ, tj. Ax = λx. Pak je

‖λx‖ϕ = |λ| ‖x‖ϕ = ‖Ax‖ϕ ≤ ‖A‖ ‖x‖ϕ,

jelikož ‖x‖ϕ 6= 0, je |λ| ≤ ‖A‖. 2

Definice 1.5. Nechť λ1, . . . , λn jsou vlastní čísla matice A. Číslo

(A) = max1≤i ≤n

|λi|

se nazývá spektrální poloměr matice A.

Věta 1.4. Nechť A ∈ Mn. Přidružené maticové normy k vektorovým normám‖ · ‖1, ‖ · ‖∞, ‖ · ‖2 jsou dány vztahy

(i) ‖A‖1 = max1≤j≤n

n∑

i=1

|aij |,

(ii) ‖A‖∞ = max1≤i ≤n

n∑

j=1

|aij |,

(iii) ‖A‖2 =√

(A∗A), (A∗A) je spektrální poloměr A∗A, kde A∗ = AT, pro

reálné matice je A∗ = AT .

Důkaz viz [5].

Poznámka 1. Norma ‖A‖2 se nazývá spektrální norma matice A.Nechť E ∈ Mn je jednotková matice. Zřejmě

‖E‖ϕ = max‖x‖ϕ=1

‖Ex‖ϕ = 1

a pro souhlasnou maticovou normu platí ‖E‖ ≥ 1.

Page 25: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

19

Důležitou normou souhlasnou s vektorovou normou ‖ · ‖2 je Frobeniova norma:

‖A‖F =

n∑

j=1

n∑

i=1

|aij |2

12

.

Zřejmě platí ‖E‖F =√n.

Stopa matice A (tr A) je definována jako součet diagonálních prvků, tr A =n∑

i=1

aii.

Odtud plyne, že ‖A‖2F = tr(A∗A). Dále lze ukázat, že pro maticové normy platítyto ekvivalentní vztahy ([5]):

1. 1√n‖A‖∞ ≤ ‖A‖2 ≤

√n‖A‖∞

2. ‖A‖2 ≤ ‖A‖F ≤ √n‖A‖2

3. 1√n‖A‖1 ≤ ‖A‖2 ≤

√n‖A‖1 .

Příklad 1.1. Vypočtěte normy ‖A‖2, ‖A‖1, ‖A‖∞ a ‖A‖F pro matici

A =(

1 3−2 4

)

.

Řešení. Je zřejmě ‖A‖1 = 7, ‖A‖∞ = 6. Dále

ATA =(10 1010 20

)

⇒ λ1,2 =3± 10

√5

2⇒

⇒ (ATA).= 12.680340⇒ ‖A‖2 .= 3.5609465 .

Dále ‖A‖F = (1 + 9 + 4 + 16)1/2.= 5.4772256.

Příklad 1.2. Nechť R je reálná ortogonální matice, tj. RTR = E, RT = R−1.Vypočtěte ‖R‖2 a ‖AR‖2, A ∈ Mn.

Řešení. Je ‖R‖22 = (RTR) = (E) = 1.Dále

‖AR‖22 = ((AR)TAR) = (RTATAR) = (R−1ATAR) .

Transformace R−1ATAR je podobnostní transformace, která nemění vlastní číslamatice. Odtud plyne, že spektrální poloměr matice R−1ATAR je roven spektrál-nímu poloměru matice ATA. To znamená, že

‖AR‖22 = (R−1ATAR) = (ATA) = ‖A‖22 .

Věta 1.5. Nechť ‖B‖ < 1, ‖ · ‖ je souhlasná s danou vektorovou normou. Pakmatice E −B je regulární a platí

∥∥(E −B)−1

∥∥ ≤ ‖E‖

1− ‖B‖ .

Page 26: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

20 1. NORMY VEKTORŮ A MATIC

Důkaz. Vlastní čísla matice B jsou řešením charakteristické rovnice det(B −λE) = 0.Odtud

0 = det(B − λE) = det(B − E + E − λE) =

= det(B − E − (λ− 1)E).

Tedy matice B −E má vlastní čísla λ− 1. Protože (B) ≤ ‖B‖ < 1, jsou všechnatato vlastní čísla různá od nuly a tedy matice B − E i E −B jsou regulární.Nyní

E = (E −B)(E −B)−1 = (E −B)−1 −B(E −B)−1.

Odtud

‖E‖ ≥∥∥(E −B)−1

∥∥−

∥∥B(E −B)−1

∥∥ ≥

≥∥∥(E −B)−1

∥∥− ‖B‖

∥∥(E −B)−1

∥∥

a tedy∥∥(E −B)−1

∥∥ ≤ ‖E‖

1− ‖B‖ .

2

Poznámka 2. Jestliže maticová norma uvažovaná v předchozí větě je přidruženoumaticovou normou, pak

∥∥(E −B)−1

∥∥ ≤ 1

1− ‖B‖ .

Důsledek. Je-li (B) < 1, je matice E −B regulární.

Důkaz plyne ihned z výše dokázaného faktu, že vlastní čísla matice E−B jsourůzná od nuly.

Cvičení ke kapitole 1

1. Nechť v rovině jsou dány dva vektory u, v. Najděte geometrické místo vek-torů w takových, že

‖u − w‖ = ‖v − w‖.Sestrojte tato geometrická místa pro normy ‖ · ‖1, ‖ · ‖2, ‖ · ‖∞ v případě,že u = (0, 0)T , a) v = (1, 1)T , b) v = (1, 12 )

T , c) v = (1, 0)T .

2. Ověřte, že funkce ‖ · ‖ definovaná na množiněMn vztahem

‖A‖ =

n∑

i,j=1

|aij |p

1p

je maticová norma právě tehdy, když 1 < p ≤ 2.

Page 27: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 1 21

3. Nechť A = (a1, . . . ,an), kde aj je j-tý sloupec matice A. Dokažte, že

‖A‖2F =n∑

i=1

‖ai‖22 .

4. Pro matici A =

2 1 12 3 21 1 2

vypočtěte ‖A‖1, ‖A‖2 a ‖A‖∞.

(Řešení: ‖A‖1 = 5, ‖A‖2 =√

(ATA) = 5, 203 527, ‖A‖∞ = 7.)

5. Nechť k matici A existuje inverzní matice A−1. Ukažte:

a) Je-li λ 6= 0 vlastní číslo matice A, x je příslušný vlastní vektor, pak 1/λje vlastní číslo matice A−1 s vlastním vektorem x.

b) Pro libovolnou přidruženou maticovou normu platí

1‖A−1‖ ≤ |λ|.

6. Nechť R je reálná ortogonální matice. dokažte, že pak ‖AR‖F = ‖A‖F .

(Řešení: ‖AR‖2F = tr((AR)TAR) = tr(RTATAR). Na druhé straně tr(A) =n∑

i=1

λi, kde λi jsou vlastní čísla matice A. Jelikož matice ATA a RTATAR

mají stejná vlastní čísla, je tr(ATA) = tr(RTATAR) a tedy ‖AR‖F =‖A‖F .)

7. Ukažte, že spektrální norma symetrické matice je rovna jejímu spektrálnímupoloměru.

(Řešení: Je-li A symetrická matice, pak jsou všechna její vlastní čísla reálná.Jsou-li λ1,. . . ,λn vlastní čísla této matice, pak matice A2 = ATA má vlastníčísla λ21,. . . ,λ

2n. Pak ‖A‖22 = (ATA) = (A2) = max

1≤i≤nλ2i =

2(A) )

8. Nechť P a Q jsou ortogonální matice. Pak platí:

a) ‖QAP‖F = ‖A‖F

b) ‖QAP‖2 = ‖A‖2(Řešení:

a) ‖QAP‖2F = tr((QAP )TQAP ) = tr((AP )TQTQAP ) = tr((AP )TAP ),neboť QTQ = E.Stopa matice je invariantní vzhledem k podobnostní transformaci a ztoho plyne (viz cvičení 6), že tr((AP )TAP ) = tr(ATA) = ‖A‖2F .

b) ‖QAP‖22 = ((QAP )TQAP ) = ((AP )TQTQAP ) = (PTATAP ) =(ATA) = ‖A‖22 (viz př. 1.2) )

Page 28: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

22 1. NORMY VEKTORŮ A MATIC

Kontrolní otázky ke kapitole 1

1. Může být maticová norma definována vztahem

‖A‖ = max1≤i,j≤n

|aij | ?

Ilustrujte na příkladě.

2. Je Frobeniova norma přidružená k vektorové normě ‖ · ‖2?

3. Nechť Q ∈ Mn je ortogonální matice. Pak ‖Qx‖2 = ‖x‖2. Dokažte. Platítoto tvrzení i pro normy ‖ · ‖1, ‖ · ‖∞, ‖ · ‖F ?

Page 29: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 2

Řešení nelineárních rovnic

Tato kapitola se bude zabývat numerickými metodami řešení nelineárních alge-braických a transcendentních rovnic v případech, kdy přesné řešení nelze získatalgebraickými metodami. Budeme se tedy zabývat hledáním kořenů, zejména re-álných, rovnice

f(x) = 0, (2.1)

kde x je reálná proměnná a f je v nějakém smyslu „rozumnáÿ funkce.Číslo ξ, které je řešením rovnice (2.1) budeme nazývat kořenem funkce.Při hledání kořenů lze postupovat takto:

A) Separace kořenů, tj. nalezení intervalů, ve kterých leží vždy právě jeden kořenrovnice (2.1).

B) Zpřesnění těchto kořenů.

Pro separaci kořenů lze užít známé věty z matematické analýzy:

Věta 2.1. Nechť f ∈ C[a, b] a nechť f nabývá v koncových bodech intervalu hodnots opačnými znaménky, tj. f(a)f(b) < 0. Pak uvnitř tohoto intervalu leží alespoňjeden kořen rovnice (2.1). Jestliže existuje f ′ a má konstantní znaménko v tomtointervalu, pak existuje právě jeden kořen ξ ∈ (a, b).

Při separaci kořenů postupujeme tak, že nejdříve určíme znaménka funkce fv hraničních bodech jejího definičního oboru. Pak určujeme znaménka funkce v bo-dech, jejichž volba je určena chováním funkce f .

§ 2.1. Metoda bisekce

Na větě 2.1 je založena velmi jednoduchá numerická metoda pro nalezení kořenů— metoda bisekce neboli metoda půlení. Popišme nyní stručně tuto metodu.

Page 30: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

24 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Nechť f ∈ C[a, b] a nechť f(a)f(b) < 0. Podle věty 2.1 leží v intervalu [a, b]alespoň jeden kořen rovnice f(x) = 0. Předpokládejme pro jednoduchost, že tentokořen je jediný. Položme a0 = a, b0 = b, s0 = 1

2 (a0 + b0).Je-li f(a0)f(s0) < 0, leží kořen v intervalu [a0, s0] a položíme a1 = a0, b1 = s0

a postup opakujme pro interval [a1, b1].Je-li f(s0)f(b0) < 0, leží kořen v intervalu [s0, b0] a položíme s0 = a1, b0 = b1

a postup opakujme pro interval [a1, b1].Je-li f(s0) = 0, je s0 = ξ a kořen je nalezen.Tímto způsobem dostaneme posloupnost intervalů

[a0, b0] ⊃ [a1, b1] ⊃ . . . ⊃ [an, bn] ⊃ . . . ,

přičemž f(an)f(bn) < 0, n = 0, 1, . . .Pro koncové body těchto intervalů platí

a0 ≤ a1 ≤ a2 ≤ . . . ≤ an ≤ an+1 ≤ . . . ≤ ξ

ξ ≤ . . . ≤ bn+1 ≤ bn ≤ . . . ≤ b0

a délky těchto intervalů jsou dány vztahem

bn − an =b0 − a02n

, n = 1, 2, . . .

Protože posloupnosti an, bn jsou omezené, monotonní a délka intervalů [an, bn]konverguje k nule, platí

limn→∞

bn = limn→∞

an = ξ.

Nyní snadno ukážeme, že ξ je kořenem rovnice f(x) = 0. Funkce f je spojitá a platíf(an)f(bn) < 0, n = 0, 1, . . .. Odtud

limn→∞

f(bn)f(an) = f2(ξ) ≤ 0,

ale odtud plyne, že f(ξ) = 0.Z uvedeného postupu rovněž plyne, že

|sn − ξ| ≤ b− a

2n+1, sn =

an + bn2

.

Je totiž ξ ∈ [an, bn], bn − an = (b − a)/2n a tudíž |sn − ξ| ≤ (bn − an)/2 =(b− a)/2n+1.Uvedené úvahy můžeme zformulovat v následující větě.

Věta 2.2. Nechť f ∈ C[a, b], f(a)f(b) < 0 a nechť f má v intervalu [a, b] jedinýkořen ξ. Pak metoda bisekce generuje posloupnost sn = (an+bn)/2, n = 0, 1, 2, . . .,která konverguje ke kořenu ξ a aproximuje kořen ξ takto:

|sn − ξ| ≤ b− a

2n+1. (2.2)

Page 31: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.1. Metoda bisekce 25

Než uvedeme příklad na ilustraci metody bisekce, zmíníme se o problému zasta-vení výpočtu při použití numerické metody pro nalezení kořene. Předpokládejme,že numerická metoda generuje posloupnost xk konvergující ke kořenu ξ a nechťje dána požadovaná přesnost ε > 0. Jako kritérium pro zastavení výpočtu lzepředevším doporučit

|xk+1 − xk

xk| < ε (2.3)

nebo|xk+1 − xk| < ε (2.4)

|f(xk)| < ε (2.5)

Kritéria (2.4) a (2.5) nejsou obecně vždy vhodná, neboť i když |xk+1 − xk| < ε,nemusí také být |xk+1−ξ| < ε a totéž platí pro kritérium (2.5). Z těchto důvodů jenejvhodnějším kritériem pro zastavení výpočtů kritérium (2.3). Na druhé straně,u některých dále uvedených metod lze bez problémů použít kritérium (2.4), neboje vhodné současné použití (2.4) a (2.5) (viz obrázek 2.1).

Rovnice f(x) = x3 − x − 1 má podle věty 2.1 v intervalu [1, 2] právě jedenkořen. Podle Cardanových vzorců je tento kořen ξ dán vztahem

ξ = α+ β, α = 3

12+

√23

6√3, β = 3

12−

√23

6√3,

tj. ξ ≈ 1,3247179572447.Tuto rovnici budeme v této kapitole považovat v jistém smyslu za „testovacíÿ

pro jednotlivé metody, to znamená, že tyto metody budeme aplikovat na nalezeníkořene této rovnice.

Příklad 2.1. Metodou bisekce najděte kořen funkce f(x) = x3 − x − 1 ležícív intervalu [1, 2] (obr. 2.2).

n an bn bn − an

0 1,000000 2,000000 1,0000001 1,000000 1,500000 0,5000002 1,250000 1,500000 0,2500003 1,250000 1,375000 0,1250004 1,312500 1,375000 0,0625005 1,312500 1,343750 0,0312506 1,312500 1,328125 0,0156257 1,320312 1,328125 0,007812

Je tedy s7 = 1,3242185 a pro chybu aproximace platí |s7 − ξ| ≤ 1/28.

Page 32: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

26 2. ŘEŠENí NELINEÁRNíCH ROVNIC

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

x0x1

x2

xkxk+1ξ

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

x0x1

x2

xkxk+1ξ

Horizontální konvergenční pás:|f(x)| < ε

Vertikální konvergenční pás:|x− ξ| < δ

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

x0x1

x2

xkxk+1ξ

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

x0x1

x2

xkxk+1ξ

Neomezená oblast:|f(x)| < ε ∨ |x− ξ| < δ

Obdélníková oblast:|f(x)| < ε ∧ |x− ξ| < δ

Obr. 2.1: Kritéria k zastavení iteračního procesu

Poznámka 1. Při aplikaci metody bisekce je třeba věnovat pozornost ověřenípředpokladů: f ∈ C[a, b], f(a)f(b) < 0. Následující příklad ukazuje, jaké problémymohou nastat při nesplnění některého z předpokladů.Příklad 2.2. Užitím metody bisekce najděte kořen funkce f(x) = 4x−7

(x−2)2 .

Řešení: Kořen ξ leží v intervalu [1, 5; 2, 5], neboť f(1, 5) < 0, f(2, 5) > 0.Položme a0 = 1, 5, b0 = 2, 5. Pak s0 = (1, 5 + 2, 5)/2 = 2, ale funkce f(x) = (4x−7)/(x − 2)2 není definována v bodě x = 2. Metoda bisekce „selhalaÿ, neboť danáfunkce není spojitá na [1, 5; 2, 5] (obr. 2.3). Vhodný interval pro použití metodybisekce je [1, 5; 1, 9]. Opět platí f(1, 5) < 0, f(1, 9) > 0, ale funkce f ∈ C[1, 5; 1, 9].Metodou bisekce s počátečními hodnotami a0 = 1, 5, b0 = 1, 9 získáme posloupnosts0 = 1, 7, s1 = 1, 8, s2 = 1, 75. Hodnota s2 = 1, 75 je hledaný kořen ξ.

§ 2.2. Metoda prosté iterace

Nyní se budeme zabývat iteračními metodami pro nalezení kořenů rovnice (2.1).

Page 33: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.2. Metoda prosté iterace 27

0 1 2 3

−1

0

1

2

3

4

5

x

y

a0b0

0 1 2 3

−1

0

1

2

3

4

5

xy

a1b1

0 1 2 3

−1

0

1

2

3

4

5

x

y

a2b2

0 1 2 3

−1

0

1

2

3

4

5

x

y

a3b3

3 3

0 1 2 3

−1

0

1

2

3

4

5

x

y

a4b4

0 1 2 3

−1

0

1

2

3

4

5

x

y

a5b5

Obr. 2.2: Metoda bisekce

Page 34: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

28 2. ŘEŠENí NELINEÁRNíCH ROVNIC

1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5−10

0

10

20

30

40

50

60

70

80

90

100

Obr. 2.3: Graf funkce f(x) = 4x−7(x−2)2

Tyto metody jsou založeny na řešení ekvivalentní úlohy x = g(x), tj. na nalezenípevných bodů funkce g. Bod ξ je pevným bodem funkce g jestliže g(ξ) = ξ. Ekvi-valentnost úloh x = g(x) a f(x) = 0 znamená: jestliže ξ je pevný bod funkce g, pakξ je kořen funkce f a naopak. Nejdříve se budeme zabývat iteračními metodamipro nalezení pevného bodu ξ a pak volbou vhodné funkce g.

Věta 2.3. Nechť g ∈ C[a, b], g : [a, b] → [a, b]. Pak funkce g má v intervalu[a, b] pevný bod. Jestliže g splňuje navíc Lipschitzovu podmínku s konstantou q,0 ≤ q < 1

|g(x)− g(y)| ≤ q |x− y| , ∀x, y ∈ [a, b],

pak g má v intervalu jediný pevný bod.

Důkaz. Jestliže g(a) = a nebo g(b) = b, je existence pevného bodu zřejmá.Předpokládejme nyní, že g(a) > a, g(b) < b a uvažujme funkci h, h(x) = g(x)− x.Zřejmě h ∈ C[a, b] a dále

h(a) = g(a)− a > 0, h(b) = g(b)− b < 0.

Z vlastností spojitých funkcí plyne, že existuje bod ξ ∈ (a, b) tak, že h(ξ) = 0, tj.g(ξ)− ξ = 0⇒ ξ = g(ξ) a tedy ξ je pevný bod funkce g.Nechť funkce g splňuje Lipschitzovu podmínku s konstantou q, 0 ≤ q < 1.

Předpokládejme, že existují dva pevné body ξ, η. Nyní pro tyto body platí

|ξ − η| = |g(ξ)− g(η)| ≤ q |ξ − η| < |ξ − η| ,

což je spor a odtud plyne, že ξ = η. 2

Důsledek. Nechť g ∈ C1[a, b], g : [a, b]→ [a, b] a

|g′(x)| ≤ q < 1, ∀x ∈ [a, b].

Pak g má v intervalu [a, b] jediný pevný bod.

Page 35: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.2. Metoda prosté iterace 29

Důkaz ihned plyne aplikací věty o střední hodnotě:

|g(x)− g(y)| = |g′(α)| |x− y| ≤ q|x− y|, α ∈ (a, b).

Poznámka 2. Předpoklady uvedené ve větě 2.3 jsou postačující, ale nikoliv nutnépro jednoznačnost pevného bodu.Příklad 2.3. Je dána funkce g(x) = 3−x, g′(x) = −3−x ln 3 < 0 na [0, 1]. Funkce gje tedy klesající na intervalu [0, 1]. Dále g(1) = 1

3 ≤ g(x) ≤ 1 = g(0). Odtud plyne,že funkce g zobrazuje interval [0, 1] do sebe. Dále g′(0) = − ln 3 .

= −1, 09861,a tedy |g′(x)| 6≤ q < 1 na intervalu [0, 1]. Ale je jasné, že pevný bod je jediný,neboť g je klesající (viz obrázek). Jak je třeba „zúžitÿ interval, aby byla splněnapodmínka |g′(x)| ≤ q < 1 (viz obrázek 2.4)?

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

g(x)=3−x

y=x

ξ

Obr. 2.4: Graf funkce g(x) = 3−x

Poznámka 3. Řešit rovnici x = g(x) geometricky znamená hledat průsečík přímkyy = x s křivkou y = g(x).

Zabývejme se nyní numerickými metodami určení pevného bodu funkce g.Nechť g ∈ C[a, b], g : [a, b] → [a, b] a zvolme libovolnou počáteční aproximaci

x0 ∈ [a, b]. Generujme posloupnost xk∞k=0 takto:

xk+1 = g(xk), k = 0, 1, 2, . . . (2.6)

Funkci g nazýváme iterační funkcí a metodu (2.6) iterační metodou nebo takémetodou prosté iterace.Iterační metoda (2.6) patří mezi jednokrokové iterační metody, neboť výpočet

xk+1 závisí pouze na jedné předchozí aproximaci xk. Obecně jsou funkcionálníiterační metody tvaru

xk+1 = g(xk, xk−1, . . . , xk−j+1), j ≥ 2. (2.7)

Tyto metody nazýváme j-krokovými metodami.

Page 36: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

30 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Otázkou nyní je, za jakých předpokladů bude iterační posloupnost1 (2.6) resp.(2.7) konvergovat a jak rychle bude tato posloupnost konvergovat k pevnémubodu ξ.V další části této kapitoly bude mít značný význam řád iterační metody jako

„míraÿ rychlosti konvergence metody. Definujme nejdříve chybu k-té iterace vzta-hem

ek = xk − ξ.

Předpokládejme nyní, že metoda (2.7) je konvergentní:

limk→∞

xk = ξ.

Existuje-li nyní reálné číslo p ≥ 1 takové, že platí

limk→∞

∣∣xk+1 − ξ

∣∣

|xk − ξ|p = limk→∞

|ek+1||ek|p

= C 6≡ 0,

řekneme, že daná iterační metoda je řádu p pro bod ξ. Konstanta C se nazýváasymptotickou konstantou chyby a závisí na funkci g. Požadavek C 6≡ 0 znamená,že C 6= 0 pro obecnou funkci g. Tento požadavek zaručuje jednoznačnost číslap. Jestliže pro nějakou funkci g je konstanta C rovna nule, pak iterační metodakonverguje rychleji než obvykle.Zabývejme se nyní jednokrokovými iteračními metodami. Následující věta uka-

zuje, že řád těchto metod je přirozené číslo.

Věta 2.4. Nechť funkce g má v okolí bodu ξ derivace až do řádu p ≥ 1 včetně.Iterační metoda xk+1 = g(xk), k = 0, 1, . . . je řádu p tehdy a jen tehdy, když platí

ξ = g(ξ), g(j)(ξ) = 0, 1 ≤ j < p, g(p)(ξ) 6= 0.

Důkaz. Vyjádříme funkci g v okolí bodu ξ pomocí Taylorova vzorce

g(xk) = ξ + (xk − ξ)g′(ξ) + . . .+(xk − ξ)p−1

(p− 1)! g(p−1)(ξ) +(xk − ξ)p

p!g(p)(α) =

= ξ +(xk − ξ)p

p!g(p)(α), (2.8)

kde bod α leží v intervalu určeném body xk a ξ. Protože xk+1 = g(xk), dostanemez předchozího vztahu

xk+1 − ξ =(xk − ξ)p

p!g(p)(α), (2.9)

a tedy

limk→∞

∣∣xk+1 − ξ

∣∣

|xk − ξ|p =∣∣g(p)(ξ)

∣∣

p!6≡ 0.

1Někdy také říkáme, že „iterační metoda konvergujeÿ místo „posloupnost konvergujeÿ.

Page 37: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.2. Metoda prosté iterace 31

Metoda je tedy řádu p ≥ 1, p přirozené číslo.Z druhé strany: Nechť pro některé j, 1 ≤ j < p, platí g(j)(ξ) 6= 0. Pak z (2.8)

plyne, že metoda nemůže být řádu p. Rovněž, jestliže g(p)(ξ) = 0, pak z (2.9)plyne, že metoda není řádu p. 2

Věta 2.5. Nechť jsou splněny předpoklady věty 2.3. Pak pro libovolnou počátečníaproximaci x0 ∈ [a, b] je posloupnost xk∞k=0, xk = g(xk−1), konvergentní a platílim

k→∞xk = ξ, kde ξ je pevný bod funkce g.

Důkaz. Funkce g zobrazuje interval [a, b] do sebe. Odtud plyne, že posloupnostxk∞k=0 je definována pro všechna k ≥ 0 a xk ∈ [a, b] pro všechna k ≥ 0. Dále

∣∣xk − ξ

∣∣ =

∣∣g(xk−1)− g(ξ)

∣∣ ≤ q

∣∣xk−1 − ξ

∣∣ .

Indukcí odtud plyne, že∣∣xk − ξ

∣∣ ≤ qk

∣∣x0 − ξ

∣∣ .

Jelikož 0 ≤ q < 1, jelim

k→∞

∣∣xk − ξ

∣∣ = 0,

a tedy posloupnostxk∞

k=0konverguje k pevnému bodu ξ. 2

Důsledek. Nechť funkce g splňuje předpoklady věty 2.3. Pak pro posloupnostxk∞k=0, x0 ∈ [a, b], xk = g(xk−1), platí

∣∣xk − ξ

∣∣ ≤ qk

1− q

∣∣x0 − x1

∣∣ , ∀k ≥ 1. (2.10)

Důkaz. Z konstrukce iterační posloupnosti plyne:∣∣xk+1 − xk

∣∣ =

∣∣g(xk)− g(xk−1)

∣∣ ≤ q

∣∣xk − xk−1∣∣ ≤ . . . ≤ qk

∣∣x1 − x0

∣∣ .

Dále pro m > k ≥ 1∣∣xm − xk

∣∣ ≤

∣∣xm − xm−1∣∣+

∣∣xm−1 − xm−2∣∣+ . . .+

∣∣xk+1 − xk

∣∣ ≤

≤ qm−1 ∣∣x1 − x0∣∣+ qm−2 ∣∣x1 − x0

∣∣+ . . .+ qk

∣∣x1 − x0

∣∣ =

= qk(1 + q + . . .+ qm−k−1) ∣∣x1 − x0

∣∣ .

Jelikož jsou splněny předpoklady věty 2.5 o konvergenci iteračního procesu, jelim

m→∞xm = ξ a platí

∣∣ξ − xk

∣∣ = lim

m→∞

∣∣xm − xk

∣∣ ≤ qk

∣∣x1 − x0

∣∣

∞∑

i=0

qi =qk

1− q

∣∣x1 − x0

∣∣ .

2

Je zřejmé, že věta 2.5 je důsledkem známé Banachovy věty o pevném bodě.

Page 38: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

32 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Poznámka 4. Rychlost konvergence závisí na faktoru qk/(1 − q). Je-li q malé,rychlost je větší. Pro q blízké 1 je konvergence pomalá. Vztahu (2.10) lze užít jakokriteria pro zastavení výpočtu.

Podívejme se nyní na problematiku iteračních procesů a pevných bodů z geome-trického hlediska. Uvedeme klasifikaci pevných bodů. Tato klasifikace je poměrněhrubá, ale pro naše účely je postačující.

Definice 2.1. Pevný bod ξ funkce g ∈ C[a, b] se nazývá

a) přitahující (atraktivní) pevný bod, jestliže existuje takové okolí V tohotobodu ξ, že pro každou počáteční aproximaci x0 ∈ V posloupnost iteracíxk∞

k=0konverguje k bodu ξ.

b) odpuzující (repulzivní) pevný bod, jestliže existuje takové okolí U bodu ξ,že pro každou počáteční aproximaci x0 ∈ U, x0 6= ξ, existuje takové k, žexk 6∈ U .

Následující věta uvádí, kdy je pevný bod přitahující a kdy je odpuzující.

Věta 2.6. Nechť g ∈ C[a, b], g : [a, b]→ [a, b] a nechť ξ je pevný bod.

a) Jestliže pro všechna x 6= ξ z nějakého okolí V bodu ξ platí∣∣∣∣

g(x)− g(ξ)x− ξ

∣∣∣∣< 1, (2.11)

pak ξ je přitahující pevný bod.

b) Jestliže pro všechna x 6= ξ z nějakého okolí U bodu ξ platí∣∣∣∣

g(x)− g(ξ)x− ξ

∣∣∣∣> 1, (2.12)

pak ξ je odpuzující pevný bod.

Důkaz viz [20].

Důsledek. Nechť g ∈ C[a, b], g : [a, b]→ [a, b] a nechť g má v bodě ξ derivaci.

a) Je-li |g′(ξ)| < 1, pak ξ je přitahující pevný bod.

b) Je-li |g′(ξ)| > 1, pak ξ je odpuzující pevný bod.

Obrázky 2.8 a 2.9 znázorňují přitahující a odpuzující body funkce g(x) =Ax(1 − x). Případ |g′(ξ)| = 1 je třeba vyšetřovat zvlášť. Může nastat situace,že při počáteční iteraci na jedné straně okolí bodu ξ proces konverguje a na druhéstraně diverguje (viz obr. 2.5).

Úmluva. Pro iterační proces platí

x1 = g(x0), x2 = g(x1) = g(g(x0)

), x3 = g

(g(g(x0)

)).

Page 39: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.2. Metoda prosté iterace 33

2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 32

2.2

2.4

2.6

2.8

3

3.2

3.4

3.6

3.8

Obr. 2.5: Případ g′(ξ) = 1

Obecně lze iteraci xk+1 definovat rekurzívně takto:

xk+1 = gk+1(x0),

přičemžg1(x) = g(x), gk+1(x) = g

(gk(x)

).

Funkce gk se nazývá k-tá iterace funkce g (viz obr. 2.6).

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

g3(x)g2(x) g4(x)

g(x)

y=x

Obr. 2.6: Grafy iterací funkce g(x) = 3,5x(1− x)

Doposud jsme se zabývali otázkami konvergence a divergence posloupnostixk. Ale někdy je užitečné zabývat se posloupnostmi, které jsou periodické. Zá-

kladním pojmem je zde pojem cyklu a jeho řádu.

Page 40: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

34 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Definice 2.2. Nechť g ∈ C[a, b], g : [a, b] → [a, b]. Řekneme, že bod x0 ∈ [a, b] jebodem cyklu řádu n funkce g, nebo že x0 generuje cyklus řádu n, jestliže gn(x0) =x0, gk(x0) 6= x0 pro k = 1, 2, . . . , n− 1.Poznámka 5. Je-li x0 bod cyklu řádu n, pak je pevným bodem funkce gn.

Uvažujme rovnici x = sin π2x + 2. Funkce g(x) = sin

π2x + 2 má pevný bod

ξ = 2. Zvolme počáteční aproximaci x0 = 1. Pak x1 = g(x0) = 3, x2 = g2(x0) = 1.Bod x0 = 1 tedy generuje cyklus řádu 2.Cyklus je ilustrován na obr. 2.7.

0 0.5 1 1.5 2 2.5 3 3.50

0.5

1

1.5

2

2.5

3

3.5

Obr. 2.7: Metoda prosté iterace, x = sin (π2x) + 2

Vyšetřujme nyní pevné body funkce g(x) = Ax(1 − x), x ∈ [0, 1], A ∈ [0, 4]v závislosti na parametru A. Tato funkce se používá na modelování některých bi-ologických jevů. Za uvedených předpokladů je funkce g spojitá na intervalu [0, 1]a zobrazuje tento interval do sebe. Protože jsou splněny předpoklady první částivěty 2.3, má funkce g v intervalu [0, 1] alespoň jeden pevný bod. V tomto jedno-duchém případě pevné body snadno vypočteme a vyšetříme jejich vlastnosti.Řešíme-li rovnici

x = Ax(1 − x)

dostaneme pro A ∈ [0, 1] právě jeden pevný bod ξ1 = 0 a pro A ∈ (1, 4] právě dvapevné body ξ1 = 0, ξ2 = 1− 1/A. Rozebereme nyní jednotlivé případy.

1. A ∈ [0, 1]. Je g′(x) = A− 2Ax; g′(0) = A ≤ 1. Funkce má jediný pevný bodξ1 = 0; graf funkce leží pod přímkou y = x a bod ξ1 = 0 je tedy přitahujícímpevným bodem (i pro A = 1) (viz obr. 2.8).

2. A ∈ (1, 3]. V tomto případě g′(ξ1) = A > 1; g′(ξ2) = A − 2. To znamená,že bod ξ1 je odpuzujícím pevným bodem a ξ2 je pro A ∈ (1, 3) přitahujícím

Page 41: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.2. Metoda prosté iterace 35

k xk g(xk)0 0,5500 0,23511 0,2351 0,17082 0,1708 0,13463 0,1346 0,11064 0,1106 0,09355 0,0935 0,08056 0,0805 0,07037 0,0703 0,0621

0 x0 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Obr. 2.8: Metoda prosté iterace, A = 0,95, ξ1 = 0

pevným bodem, neboť |g′(ξ2)| < 1. Pro A = 3 je |g′(ξ2)| = 1, ale i v tomtopřípadě lze ukázat, že posloupnost xk bude konvergovat k pevnému boduξ2, i když konvergence bude pomalá (viz [20] a obr. 2.9).

k xk g(xk)0 0,1500 0,31871 0,3187 0,54292 0,5429 0,62043 0,6204 0,58884 0,5888 0,60535 0,6053 0,59736 0,5973 0,60137 0,6013 0,5993

0 x0 0.5 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Obr. 2.9: Metoda prosté iterace, A = 2,5, ξ2 = 0,6

3. A ∈ (3, 4]. Pro tyto hodnoty A již existují cykly různých řádů. Pro jisté hod-noty A existují posloupnosti generované libovolným prvkem x0 ∈ [0, 1], kteréjsou buď periodické nebo konvergují k periodické posloupnosti. Existuje takékritická hodnota A = Ac = 3,5700 . . . taková, že pro A > Ac lze vždy najíttakovou počáteční aproximaci x0 ∈ [0, 1], že v odpovídající iterační posloup-nosti neexistuje žádná zákonitost. Tato posloupnost může být dokonce takneuspořádaná, že ji lze pokládat za posloupnost náhodných čísel a tomuto

Page 42: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

36 2. ŘEŠENí NELINEÁRNíCH ROVNIC

jevu říkáme chaos (viz obr. 2.10). Zde se nebudeme podrobně zabývat těmitootázkami. Podrobnější informace lze najít např. v [20].

k xk g(xk)0 0,500000 0,9375001 0,937500 0,2197272 0,219727 0,6429263 0,642926 0,8608964 0,860896 0,4490775 0,449077 0,9277766 0,927776 0,2512797 0,251279 0,7055188 0,705518 0,7791099 0,779109 0,64536710 0,645367 0,85825611 0,858256 0,45619712 0,456197 0,930305

0 0.5 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Obr. 2.10: Metoda prosté iterace, A = 3,75, ξ2 = 1115

Jako příklad ukážeme, že pro každé A ∈ (3, 4] existuje alespoň jedna dvojicebodů x01, x

02, které generují cyklus řádu 2.

Je zřejmé, že body cyklu řádu 2 najdeme řešením rovnice x = g2(x), tj.

A (Ax(1 − x)) (1−Ax(1 − x)) = x. (2.13)

Úpravou dostaneme

A3x4 − 2A3x3 +A2(A+ 1)x2 −A2x+ x = 0.

Pevné body ξ1 = 0, ξ2 = 1 − 1/A jsou rovněž řešení této rovnice. Vydělíme tutorovnici polynomem (x− 0)(x− (1− 1/A)) a výsledná rovnice je tvaru

A2x2 −A(A + 1)x+A+ 1 = 0. (2.14)

Její diskriminant D = A2(A+ 1)(A− 3). Odtud plyne:

0 ≤ A < 3 ⇒ D < 0 ⇒ neexistuje bod generující cyklus řádu 2.

A = 3 ⇒ D = 0 ⇒ kvadratická rovnice má dvojnásobný kořen ξ2 =1− 1/A = 2/3.

3 < A ≤ 4 ⇒ D > 0 ⇒ kvadratická rovnice má dva reálné různé kořenyx01, x

02, které generují cyklus řádu 2.

Například lze snadno ověřit pro A = 1 +√5 jsou body cyklu řádu 2 body

x01 = 0,5; x02 = (3 +

√5)/(2(1 +

√5)) (viz obr. 2.11).

Page 43: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.3. Hledání vhodného tvaru iterační funkce 37

k xk g(xk)0 0,5000 0,80901 0,8090 0,50002 0,5000 0,80903 0,8090 0,50004 0,5000 0,80905 0,8090 0,50006 0,5000 0,80907 0,8090 0,5000

0 0.5 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Obr. 2.11: Metoda prosté iterace, A = 1 +√5, ξ2 =

√5/(1 +

√5)

Pro určitou hodnotu A > 3 vznikne první 4-cyklus. Od hodnoty A = Ac =3,5700 . . . se objevují cykly řádu 2ip, p > 1 je liché číslo. Pro hodnotu A = 1+

√8

vznikne první 3-cyklus.Otázkami cyklů se obecně zabýval A. N. Šarkovskij. Uvedeme bez důkazu jeho

známou větu (podrobněji viz [20]).

Věta 2.7. (Šarkovského věta). Nechť g ∈ C[a, b], g : [a, b] → [a, b]. Na množiněpřirozených čísel definujme uspořádání takto:

3 ≺ 5 ≺ 7 ≺ . . . ≺ 2.3 ≺ 2.5 . . . ≺ 2i.3 ≺ 2i.5 ≺ . . .

. . . ≺ 2j+1 ≺ 2j . . . ≺ 8 ≺ 4 ≺ 2 ≺ 1.Jestliže g má cyklus řádu m, m ≺ n, pak má g cyklus řádu n.

§ 2.3. Hledání vhodného tvaru iterační funkce

Zabývejme se nyní volbou vhodné iterační funkce g pro řešení rovnice f(x) = 0.Jednou z možností je „vhodněÿ vypočítat x z rovnice f(x) = 0. Ale tento postupnení vždy jednoduchý. Některé možné postupy ukazují následující příklady:

Příklad 2.4.

1. Najděte vhodnou iterační funkci pro nalezení největšího kladného kořenerovnice x3 + x− 1000 = 0.Řešení. g(x) = 3

√1000− x.

2. Pro rovnici x− tg x = 0 najděte vhodnou iterační funkci pro určení nejmen-šího kladného kořene.Řešení. Nejmenší kladný kořen leží v intervalu [π, 32π) a vhodné iteračnífunkce jsou například

Page 44: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

38 2. ŘEŠENí NELINEÁRNíCH ROVNIC

(a) g(x) =1tg x

− 1x+ x,

(b) g(x) = arctg x+ π.

Příklad 2.5. Pro funkci z příkladu 2.1, tj. f(x) = x3 − x − 1, najděte vhodnouiterační funkci pro kořen ξ ∈ [1, 2]. Obrázky 2.12 a 2.13 ilustrují chování iteračníposloupnosti pro různé volby iterační funkce g. Je zřejmé, že vhodná iterační funkceje funkce g(x) = (x+ 1)

13 .

a) g(x) = (x+ 1)13

x0 = 1x1 = 1,259921050x2 = 1,312293837x3 = 1,322353819x4 = 1,324268745x5 = 1,324632625x6 = 1,324701749x7 = 1,324714878x8 = 1,324717372x9 = 1,324717846

b) g(x) = x3 − 1x0 = 1,3x1 = 1,197x2 = 0,715072373x3 = −0,634363117x4 = −1,255278226x5 = −2,977971306x6 = −27,40958194x7 = −20593,41275

−1 −0.5 0 0.5 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

y=x

x0

Obr. 2.12: Metoda prosté iterace, x = (x+ 1)13 , x0 = 1

Podle věty 2.3 je třeba najít takovou funkci g, pro kterou |g′(x)| ≤ q < 1 v okolíbodu ξ.Lze snadno ověřit, že pro iterační funkci g(x) = x3 − 1 nejsou splněny předpo-

klady věty 2.3 a pro iterační funkci g(x) = (x+1)13 jsou tyto předpoklady splněny

(q = 1/3 3√4).

Page 45: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.3. Hledání vhodného tvaru iterační funkce 39

−1.5 −1 −0.5 0 0.5 1 1.5 2−1.5

−1

−0.5

0

0.5

1

1.5

2

y=x

Obr. 2.13: Metoda prosté iterace, x = x3 − 1, x0 = 1,3

Příklad 2.6. Najděte vhodnou iterační funkci pro výpočet hodnoty 3√25.

Řešení. Zvolme funkci g(x) = 5√xza iterační funkci. Pevným bodem této funkce je

bod ξ = 3√25. Ukážeme, že funkce g splňuje na intervalu I = [2, 6; 3, 5] předpoklady

věty 2.3.Je

g′(x) = −52x−

32 ⇒ g je klesající na intervalu I,

a jelikož g(2, 6).= 3, 101, g(3, 5)

.= 2, 673, zobrazuje g tento interval do sebe.

Dále

g′′(x) =154x−

52 , g′′′(x) = −75

8x−

72 .

Odtud plyne, že funkce g′ je rostoucí a konkávní na I. Tedy

maxx∈I

|g′(x)| = |g′(2, 6)| .= 0, 596

Funkce g tedy splňuje předpoklady věty 2.3 s q.= 0, 596 a z věty 2.5 plyne kon-

vergence pro každou počáteční aproximaci x0 ∈ I. Zvolme počáteční aproximacix0 = 3; další aproximace jsou generovány vztahem xk+1 = 5/

√xk:

x1.= 2, 886751, x2

.= 2, 942831, x3

.= 2, 914656, x4

.= 2, 928709, x5

.= 2, 921675,

atd.Odhad relativní chyby pro x4 je roven

∣∣∣∣

x5 − x4

x4

∣∣∣∣

.= 0, 0024 .

Z uvedených příkladů je vidět, že při hledání řešení rovnice f(x) = 0 je častomožné vytvořit iterační funkci g více způsoby, přičemž ne vždy její vlastnosti

Page 46: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

40 2. ŘEŠENí NELINEÁRNíCH ROVNIC

zaručují konvergenci iteračního procesu. Ve většině případů je ale možné volititerační funkci ve tvaru

g(x) = x−Mf(x),

kde vhodnou volbou konstanty M lze často zaručit splnění předpokladů věty 2.3.Iterační proces má pak tvar

xk+1 = xk −Mf(xk), M 6= 0.

Geometricky je bod xk+1 průsečík osy x a přímky procházející bodem (xk, f(xk))se směrnicí 1/M .

Příklad 2.7. Najděte vhodnou iterační funkci pro výpočet hodnoty ln 2.Řešení. Řešíme rovnici ex = 2, tj. f(x) = ex − 2 = 0. Dále víme, že x ∈ I = [0, 1].Položme

g(x) = x−Mf(x) = x−M(ex − 2) .Nejprve zkoumejme derivaci funkce g:

g′(x) = 1−Mex, |g′(x)| = |1−Mex|.

Pokud chceme, aby |g′(x)| ≤ q < 1 na [0, 1], musí platit 0 < Mex < 2 pro x ∈ I,tedy 0 < M < 2/e.Z rovnice g′(x) = 0 dále lehce zjistíme, že funkce g může mít lokální extrém jediněv bodě ln(1/M), pokud ale zvolíme M < 1/e, leží tento bod mimo interval I a gje na I monotonní. Tedy k tomu, aby se interval I zobrazil do sebe, stačí, když sedo něj zobrazí krajní body:

g(0) = −M(1− 2) =M ∈ [0, 1], g(1) = 1−M(e− 2) ∈ [0, 1].

Pro M < 1/e oba vztahy platí, takže můžeme zvolit hodnotu M rovnu např. 1/3.

§ 2.4. Newtonova metoda

Určit vhodnou iterační funkci může být obtížné. Z tohoto důvodu se budeme za-bývat obecnými postupy, které rovnici f(x) = 0 „přiřadíÿ za jistých předpokladůo funkci f vhodnou iterační funkci. Předpokládejme, že rovnice f(x) = 0 má jed-noduchý kořen ξ, tj. f ′(ξ) 6= 0. Pak pro funkci

g(x) = x− f(x)f ′(x)

(2.15)

je ξ pevným bodem (ξ = g(ξ)). Iterační metoda určená touto iterační funkcí jetvaru

xk+1 = xk − f(xk)f ′(xk)

, (2.16)

(za předpokladu f ′(xk) 6= 0, k = 0, 1, . . .) a nazývá se Newtonova metoda. Tatometoda má jednoduchý geometrický význam: bod xk+1 je průsečík tečny ke grafu

Page 47: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.4. Newtonova metoda 41

funkce f v bodě [xk, f(xk)] s osou x. Z tohoto důvodu se Newtonova metoda takénazývá metoda tečen.

Věta 2.8. Nechť f ∈ C2[a, b]. Nechť ξ ∈ [a, b] je kořenem rovnice f(x) = 0a f ′(ξ) 6= 0. Pak existuje δ > 0 tak, že posloupnost

xk∞

k=0generovaná New-

tonovou metodou konverguje k bodu ξ pro každou počáteční aproximaci x0 ∈[ξ − δ, ξ + δ] ⊆ [a, b].Důkaz. Ukážeme, že existuje subinterval [ξ− δ, ξ+ δ] ⊆ [a, b], na kterém iteračnífunkce (2.15) splňuje předpoklady věty 2.5.Jelikož f ′(ξ) 6= 0 a f ′ je spojitá na intervalu [a, b], existuje takové δ1 > 0, že

pro všechna x ∈ [ξ − δ1, ξ + δ1] ⊆ [a, b] je f ′(x) 6= 0. Tedy funkce g je definovánaa spojitá na intervalu [ξ − δ1, ξ + δ1]. Dále

g′(x) = 1− f ′2(x) − f(x)f ′′(x)f ′2(x)

=f(x)f ′′(x)f ′2(x)

pro x ∈ [ξ − δ1, ξ + δ1], a protože f ∈ C2[a, b], je g ∈ C1[ξ − δ1, ξ + δ1]. Podlepředpokladu je f(ξ) = 0, a tedy

g′(ξ) =f(ξ)f ′′(ξ)f ′2(ξ)

= 0. (2.17)

Funkce g ∈ C1[ξ − δ1, ξ + δ1], a tedy z (2.17) plyne, že existuje δ, 0 < δ < δ1, tak,že

|g′(x)| ≤ q < 1

pro všechna x ∈ [ξ − δ, ξ + δ].Je třeba ještě ukázat, že g : [ξ−δ, ξ+δ]→ [ξ−δ, ξ+δ], což plyne ihned aplikací

věty o střední hodnotě, neboť pro libovolný bod x ∈ [ξ − δ, ξ + δ] platí

|g(x) − ξ| = |g(x) − g(ξ)| = |g′(α)(x − ξ)|,

a protože α leží v intervalu určeném body x a ξ, je |g′(α)| ≤ q < 1. Odtud|g(x)− ξ| ≤ q|x− ξ| < |x− ξ| ≤ δ, a tedy g(x) ∈ [ξ − δ, ξ + δ].Funkce g splňuje na intervalu [ξ− δ, ξ+ δ] předpoklady věty 2.5 a to znamená,

že posloupnostxk∞

k=0generovaná Newtonovou metodou konverguje pro každou

počáteční aproximaci x0 ∈ [ξ − δ, ξ + δ] ke kořenu ξ. 2

Důsledek. Newtonova metoda je metoda druhého řádu pro jednoduchý kořen ξ.

Důkaz plyne ihned ze vztahu (2.17), neboť ξ = g(ξ), g′(ξ) = 0 a g′′(ξ) 6= 0.Příklad 2.8. Newtonovou metodou nalezněte kořen rovnice f(x) = x3 − x − 1ležící v intervalu [1, 2].Řešení. Newtonova metoda je v tomto případě tvaru

xk+1 = xk − (xk)3 − xk − 13(xk)2 − 1 .

Page 48: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

42 2. ŘEŠENí NELINEÁRNíCH ROVNIC

k xk f(xk)0 2 51 1,54 1,1457550712 1,359614916 0,1537049343 1,325801345 0,0046249174 1,324719049 0,0000046585 1,324717957 2, 2204−16

1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−1

0

1

2

3

4

5

6

x

y

x0x1x2

Obr. 2.14: Newtonova metoda, x3 − x− 1 = 0, x0 = 2

Za počáteční aproximaci zvolme x0 = 2. Metoda je ilustrována na obr. 2.14.Jelikož |x5 − x4|/x5 = 8.10−7 a funkční hodnota f(x5) ≈ 5.10−12, je x5 velmi

dobrou aproximací hledaného kořene ξ, což je na druhé straně vidět přímým po-rovnáním s hodnotou vypočtenou pomocí Cardanových vzorců (viz př. 2.1).

Předpoklady uvedené ve větě 2.8 znamenají, že Newtonova metoda bude kon-vergovat, zvolíme-li počáteční aproximaci x0 „dostatečněÿ blízko bodu ξ. V dalšíčásti této kapitoly uvedeme metody, které jsou vhodné pro určení „dostatečněÿblízké počáteční aproximace. Jak jsme již viděli, jednou z takových metod je me-toda bisekce.

Věta 2.9. Nechť jsou splněny předpoklady předchozí věty. Pak pro posloupnostxk∞

k=0generovanou Newtonovou metodou platí

a)∣∣xk+1 − ξ

∣∣ ≤ M

2m(xk − ξ)2, (2.18)

b)∣∣xk+1 − ξ

∣∣ ≤ M

2m(xk+1 − xk)2, (2.19)

kde M = maxx∈I

|f ′′(x)|, m = minx∈I

|f ′(x)| > 0, I = [ξ − δ, ξ + δ].

Page 49: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.4. Newtonova metoda 43

Důkaz.

a) Užijme Taylorova vzorce ve tvaru

0 = f(ξ) = f(xk) + f ′(xk)(ξ − xk) + f ′′(ηk)(ξ − xk)2

2,

kde bod ηk leží mezi body xk, ξ.

Z Newtonovy metody plyne

xk+1f ′(xk) = xkf ′(xk)− f(xk).

Po dosazení do předchozího vztahu dostaneme

0 = −xk+1f ′(xk) + ξf ′(xk) + f ′′(ηk)(ξ − xk)2

2

a odtud∣∣xk+1 − ξ

∣∣ =

∣∣f ′′(ηk)

∣∣

2|f ′(xk)| (ξ − xk)2 ≤ M

2m(ξ − xk)2.

b) Pro důkaz vztahu (2.19) použijeme opět Taylorova vzorce:

f(xk+1) = f(xk) + f ′(xk)(xk+1 − xk) +f ′′(αk)2(xk+1 − xk)2,

kde αk leží mezi body xk a xk+1.

Opět z Newtonovy metody plyne, že

f(xk) + f ′(xk)(xk+1 − xk) = 0

a tudíž

f(xk+1) =f ′′(αk)2(xk+1 − xk)2.

Nyní použijeme věty o střední hodnotě ve tvaru (f(ξ) = 0)

f(xk+1) = f(xk+1)− f(ξ) = f ′(βk)(xk+1 − ξ),

βk leží mezi body xk+1 a ξ. Dosazením do předchozího vztahu odtud ihnedplyne

∣∣xk+1 − ξ

∣∣ =

∣∣f ′′(αk)

∣∣

2 |f ′(βk)| (xk+1 − xk)2 ,

a tedy i (2.19).

2

Page 50: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

44 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Následující věta ukazuje, že za jistých podmínek lze zajistit monotonní kon-vergenci posloupnosti generované Newtonovou metodou. Tyto podmínky se někdynazývají Fourierovy podmínky.

Věta 2.10. Nechť f ∈ C2[a, b] a nechť rovnice f(x) = 0 má v intervalu jediný ko-řen ξ. Nechť f ′, f ′′ nemění znaménka na intervalu [a, b], přičemž f ′(x) 6= 0, ∀x ∈[a, b]. Nechť počáteční aproximace x0 je ten z krajních bodů a, b, v němž znaménkofunkce je stejné jako znaménko f ′′ na intervalu [a, b]. Pak posloupnost

xk∞

k=0určená Newtonovou metodou konverguje monotonně k bodu ξ.

Důkaz. Vyšetříme případ f(a) < 0, f(b) > 0, f ′(x) > 0, f ′′(x) ≥ 0, ∀x ∈ [a, b].V ostatních případech je důkaz obdobný.Newtonova metoda je tvaru

xk+1 = xk − f(xk)f ′(xk)

, k = 0, 1, 2, . . .

Důkaz provedeme indukcí. Zvolme podle předpokladu za počáteční aproximaci bodb = x0. Je třeba ukázat, že ξ ≤ x1 < x0.Jelikož

x1 = x0 − f(x0)f ′(x0)

a f(x0) > 0, f ′(x0) > 0, plyne odtud, že x1 < x0.Dále užijeme Taylorova vzorce:

0 = f(ξ) = f(x0) + f ′(x0)(ξ − x0) +f ′′(η0)2(ξ − x0)2, η0 ∈ (ξ, x0).

Protože f ′′(η0)(ξ − x0)2/2 ≥ 0, plyne z tohoto vztahu, že

f(x0) + f ′(x0)(ξ − x0) ≤ 0,

neboť součet členů v předchozím vztahu se rovná nule. Odtud ale plyne

ξ ≤ x0 − f(x0)f ′(x0)

= x1.

To znamená, žeξ ≤ x1 < x0.

Nyní za předpokladu, že platí

ξ ≤ xk < xk−1 < . . . < x0

se stejným způsobem ukáže, že

ξ ≤ xk+1 < xk < . . . < x0.

Page 51: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.4. Newtonova metoda 45

Posloupnostxk∞

k=0konverguje monotonně k bodu ξ. 2

V předchozím příkladu jsme zvolili počáteční aproximaci v souladu s těmitopodmínkami.

Poznámka 6. Nevhodná volba počáteční aproximace pro Newtonovu metodumůže vést ke zcela chybným výsledkům, jak ukazuje následující příklad.

Příklad 2.9. Nechť je dáno číslo a > 0. Je třeba vypočítat převrácenou hodnotutohoto čísla bez použití dělení. Najděte vhodnou funkci f a použijte Newtonovumetodu.Řešení. Vhodná funkce f je tvaru f(x) = 1/x− a.

Newtonova funkce je totiž v tomto případě tvaru

xk+1 = xk −1xk

− a

− 1(xk)2

= 2xk − a(xk)2 = xk(2− axk).

Zabývejme se nyní konkrétní úlohou a zvolme a = 10. Separujme kořen rovnicef(x) = 1/x− 10.Je zřejmě

f(0,01) > 0,

f(1) < 0.

Kořen leží v intervalu [0,01; 1]. Protože f ′(x) = −1/x2 < 0 pro x ∈ [0,01; 1], jetento kořen jediný.Dále f ′′(x) = 2/x3 > 0, x ∈ [0,01; 1]. Vhodná počáteční aproximace je tedy

x0 = 0,01. Výpočet probíhá takto:

x0 = 0,01 x2 = 0,03439 · · · x7 = 0,099882x1 = 0,019 x3 = 0,08147

Pro tuto počáteční aproximaci posloupnost xk konverguje monotonně k boduξ = 0,1.Zvolme nyní počáteční aproximaci x0 = 1. Jednotlivé iterace jsou:

x0 = 1 x2 = −656x1 = −8 x3 = −4304672

Počáteční aproximace x0 = 1 je špatnou počáteční aproximací. Doporučujemečtenáři, aby sestrojil graf funkce f(x) = 1/x−10, příslušné tečny a jejich průsečíkys osou x!

Následující příklad rovněž ilustruje „zajímavéÿ chování iterační posloupnostipro různé počáteční aproximace.

Page 52: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

46 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Příklad 2.10. Řešme rovnici arctgx = 0. Je zřejmé, že kořen ξ ∈ [a, b], a < 0,b > 0, neboť arctg a < 0, arctg b > 0. Dále

f ′(x) =1

1 + x2, f ′′(x) = − 2x

(1 + x2)2.

Víme, že kořen ξ = 0, ale vyšetřme tento případ podrobněji. První derivace je stálekladná, druhá derivace mění znaménko v bodě 0. Iterační funkce pro Newtonovumetodu je tvaru

g(x) = x− (1 + x2) arctg xa Newtonova iterační metoda

xk+1 = xk −(1 + (xk)2

)arctgxk.

Zvolme počáteční aproximaci x0 = 1,5. Výsledné iterace jsou

k xk f(xk)1 1,5 0,9827937232 −1,6940796 −1,0375463593 2,321126961 1,1640020424 −5,114087837 −1,377694529

Zřejmě tato posloupnost nekonverguje ke kořenu ξ = 0. Tuto skutečnost lzeobjasnit takto (viz obr. 2.15):Je g′(x) = −2x arctg x. Na intervalu [−1,5; 1,5] není splněna podmínka |g′(x)|

≤ q < 1, a tedy není zaručena konvergence posloupnosti xk.Uvažujme nyní interval [−0,75; 0,75]. Funkce g zobrazuje tento interval do sebe

a |g′(x)| ≤ q < 1 na tomto intervalu. Podle věty 2.5 posloupnost určená iteračnímetodou bude konvergovat pro každou počáteční aproximaci x0 ∈ [−0,75; 0,75].Zvolme tedy x0 = 0,75. Posloupnost iterací

k xk f(xk)1 0,75 0,6435011092 −0,255470482 −0,2501206883 0,010974374 0,0109739344 −8,81125.10−7 −8,81125.10−7

konverguje k bodu ξ = 0 (viz obr. 2.16).

§ 2.5. Metoda sečen

Výpočet iteracíxk∞

k=0pomocí Newtonovy metody požaduje na každém kroku

výpočet f ′(xk). Někdy může být tento výpočet náročný a z tohoto důvodu apro-ximujeme první derivaci diferencí

f ′(xk) ≈ f(xk)− f(xk−1)xk − xk−1 , k = 1, 2, . . .

Page 53: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.5. Metoda sečen 47

−3 −2 −1 0 1 2 3−1.5

−1

−0.5

0

0.5

1

1.5

x

y x0

x1x2

Obr. 2.15: Newtonova metoda pro f(x) = arctg (x), x0 = 1,5

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

x0x1

x2

Obr. 2.16: Newtonova metoda pro f(x) = arctg (x), x0 = 0,75

Page 54: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

48 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Výsledná iterační metoda

xk+1 = xk − xk − xk−1

f(xk)− f(xk−1)f(xk), k = 0, 1, . . . (2.20)

se nazývá metoda sečen. Patří mezi tzv. quasi-Newtonovy metody. Je to me-toda dvoukroková, neboť pro výpočet xk+1 potřebujeme dvě předchozí aproxi-mace xk, xk−1, a tedy i dvě počáteční aproximace. Geometrický význam metody(2.20) je zřejmý z obrázku 2.17. Aproximace xk+1 je průsečík sečny vedené body[xk−1, f(xk−1)], [xk, f(xk)] s osou x. Tabulka udává aproximace získané metodousečen pro funkci f(x) = x3 − x− 1.

k xk f(xk)0 2 51 1 −12 1,16 −0,578703703 1,39560440 0,322630524 1,313656 −0,046687485 1,32401612 −0,002991146 1,32472525 0,000031107 1,32471795 −2.10−8

1 1.2 1.4 1.6 1.8 2−1

0

1

2

3

4

5

x

y

x0

x1 x2

x3

x4

Obr. 2.17: Metoda sečen, f(x) = x3 − x− 1, x0 = 2, x1 = 1

Je |(x7 − x6)/x7| ≈ 5.10−6 a |f(x7)| ≈ 2.10−8 ⇒ x7 je dobrou aproximacíhledaného kořene.Metoda sečen je metoda dvoukroková a k důkazu konvergence nelze tedy použít

věty 2.5. Pojednejme nyní o konvergenci a volbě počátečních aproximací:

Page 55: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.5. Metoda sečen 49

Věta 2.11. Nechť rovnice f(x) = 0 má kořen ξ a nechť derivace f ′, f ′′ jsou spojitév okolí bodu ξ, přičemž f ′(ξ) 6= 0. Posloupnost určená metodou sečen konvergujeke kořenu ξ, pokud zvolíme počáteční aproximace x0, x1 dostatečně blízko bodu ξa metoda je řádu (1 +

√5)/2 ≈ 1,618.

Důkaz. Odečteme od pravé a levé strany rovnice

xk+1 = xk − xk − xk−1

f(xk)− f(xk−1)f(xk)

hodnotu ξ:

xk+1 − ξ = xk − ξ − xk − xk−1

f(xk)− f(xk−1)f(xk).

Dále upravíme tento vztah takto:

xk+1 − ξ = xk − ξ − xk − xk−1

f(xk)− f(xk−1)

(f(xk)− f(ξ)

) xk − ξ

xk − ξ=

= (xk − ξ)

1−

f(xk)− f(ξ)xk − ξ

f(xk)− f(xk−1)xk − xk−1

(2.21)

Označme dále

f [xk, ξ] =f(xk)− f(ξ)

xk − ξ, f [xk, xk−1] =

f(xk)− f(xk−1)xk − xk−1 (2.22)

f [xk−1, xk, ξ] =f [xk, xk−1]− f [xk, ξ]

xk−1 − ξ(2.23)

Vztahy (2.22) a (2.23) se nazývají poměrné diference 1. resp. 2. řádu a pojednámeo nich později v kapitole 6. Lze snadno ukázat pomocí věty o střední hodnotěa Taylorova vzorce (viz též kapitola 6), že

f [xk, xk−1] = f ′(αk),

kde αk leží v intervalu určeném body xk, xk−1,

f [xk−1, xk, ξ] = 12f

′′(βk),

kde βk leží v intervalu určeném body xk−1, xk, ξ. Vztah (2.21) můžeme nyní psátve tvaru

xk+1 − ξ = (xk − ξ)(

1− f [xk, ξ]f [xk, xk−1]

)

=

= (xk − ξ)f [xk, xk−1]− f [xk, ξ]

f [xk, xk−1]=

= (xk − ξ)(xk−1 − ξ)f [xk−1, xk, ξ]f [xk, xk−1]

⇒ xk+1 − ξ = (xk − ξ)(xk−1 − ξ)f ′′(βk)2f ′(αk)

. (2.24)

Page 56: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

50 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Předpokládáme, že kořen ξ je jednoduchý. Z toho plyne, že f ′(x) 6= 0 v okolí boduξ. Existuje tedy číslo M a interval J = x | |x− ξ| ≤ ε tak, že

∣∣∣∣

f ′′(βk)2f ′(αk)

∣∣∣∣≤M, ∀αk, βk ∈ J.

Položme ek = M |xk − ξ| a e0, e1 ≤ δ, δ < min1, εM. Pak lze snadno indukcídokázat, že

ek+1 ≤ ekek−1, k = 1, 2, . . . , (2.25)

ek ≤ min1, εM. (2.26)

Ukážeme nyní opět indukcí, že platí

ek ≤ Kqk

, k = 0, 1, 2, . . . , (2.27)

kdeK = maxe0, q

√e1< 1 a q je kladný kořen rovnice q2 = q+1, q = (1+

√5)/2.

Je zřejmé, že pro k = 0, 1 vztah platí. Předpokládejme nyní, že (2.27) platí pro ka dokážeme, že platí pro k + 1. Ze vztahu (2.25) plyne

ek+1 ≤ ekek−1 ≤ Kqk

Kqk−1

= Kqk−1(q+1) = Kqk+1

,

neboť q + 1 = q2. Vztah (2.27) tedy platí pro všechna k. Ze vztahu (2.27) rovněžplyne, že metoda sečen konverguje alespoň tak jako metoda řádu q = (1 +

√5)/2.

2

Poznámka 7. Jeden krok metody sečen požaduje pouze výpočet jedné funkčníhodnoty. Dva kroky metody sečen jsou nejvýše tak „drahéÿ jako jeden krok metodyNewtonovy. Jelikož

Kqk+2

=(

Kqk)q2

=(

Kqk)q+1

,

představují dva kroky metody sečen metodu řádu q2 = q + 1 ≈ 2,618. Lze tedyříci, že metoda sečen lokálně konverguje rychleji než metoda Newtonova.

§ 2.6. Metoda regula falsi

Jak jsme viděli, konvergence Newtonovy metody i metody sečen závisí na vhodnévolbě počáteční aproximace nebo dvou počátečních aproximací. Pro získání po-čátečních aproximací lze použít metodu bisekce, ale další vhodnou metodou jemetoda regula falsi . Popíšeme nyní tuto metodu.Předpokládejme, že f(a)f(b) < 0, f ∈ C[a, b]. Metoda bisekce užívá středu

intervalu [a, b], ale lepší aproximaci získáme, jestliže najdeme bod c ∈ (a, b), vekterém přímka vedená body [a, f(a)], [b, f(b)] protíná osu x. Další postup apliku-jeme na ten z intervalů [a, c], [c, b], v jehož koncových bodech má funkce f opačná

Page 57: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.6. Metoda regula falsi 51

znaménka. (Může samozřejmě také nastat případ f(c) = 0, a tedy c = ξ je kořen.)Obecně lze tuto metodu, která se nazývá metoda regula falsi , zapsat takto:

xk+1 = xk − xk − xs

f(xk)− f(xs)f(xk), k = 0, 1, . . . , (2.28)

kde s = s(k) je největší index takový, že f(xk)f(xs) < 0. Předpokládáme, žepočáteční aproximace x0, x1 jsou vybrány tak, že f(x0)f(x1) < 0 (tj. např. x0 = a,x1 = b).

Věta 2.12. Nechť f ∈ C[a, b], f(a)f(b) < 0 a nechť ξ je jediný kořen v [a, b].Pak posloupnost

xk∞

k=0určená metodou regula falsi konverguje pro libovolné

počáteční aproximace x0, x1 ∈ [a, b], f(x0)f(x1) < 0, ke kořenu ξ ∈ (a, b) funkcef a je to metoda prvního řádu.

Důkaz je obecném případě značně obsáhlý (viz [5]).

Na tomto místě se budeme zabývat případem, kdy f ∈ C[a, b] a f ′′ neměníznaménko na [a, b] a popíšeme situaci z geometrického hlediska. Předpokládejme,že f ∈ [a, b], f(a) < 0, f(b) > 0, f má jediný kořen v intervalu [a, b], f ′(x) > 0,f ′′(x) ≤ 0, ∀x ∈ [a, b]. Položme a = x0, b = x1. Z předpokladů plyne, že pro bod

x2 = x1 − x1 − x0

f(x1)− f(x0)f(x1)

platí x0 < x2 < x1. Funkce f je na intervalu [x0, x1] konkávní a to znamená, žesečna určená body [x0, f(x0)], [x1, f(x1)] leží pod grafem funkce y = f(x), a tedyprůsečík x2 této sečny s osou x leží napravo od bodu ξ: ξ < x2 < x1. To všakznamená, že f(x2) > 0 a metodu regula falsi aplikujeme na interval [x0, x2]:

x3 = x2 − x2 − x0

f(x2)− f(x0)f(x2)

Indukcí plyne obecný vztah

xk+1 = xk − xk − x0

f(xk)− f(x0)f(xk), f(xk)f(x0) < 0, k = 1, 2, . . .

To znamená, že bod x0 je v jistém smyslu „pevnýÿ. Všechny sečny vycházejíz tohoto bodu. Posloupnost xk v tomto případě zřejmě monotonně konvergujek bodu x = ξ: ξ ≤ xk < xk−1 < . . . < x1, limk→∞ xk = ξ.

Obdobné úvahy lze provést i v dalších případech. Výsledek lze formulovat takto:

Nechť f ∈ C[a, b], f(a)f(b) < 0, a nechť f ′′ nemění znaménko na intervalu[a, b]. Pak „pevnýÿ je ten koncový bod intervalu, v němž znaménko funkce je stejnéjako znaménko f ′′ na intervalu [a, b] a posloupnost xk konverguje monotonně kekořenu x = ξ.

Podrobný důkaz lze provést užitím Taylorova vzorce.

Page 58: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

52 2. ŘEŠENí NELINEÁRNíCH ROVNIC

k xk f(xk)0 1 −11 2 52 1,16 −0,578703703 1,25311203 −0,285363034 1,29343740 −0,129542095 1,31128102 −0,056588496 1,31898850 −0,024303757 1,32228272 −0,010361858 1,32368429 −0,00440395

1 1.2 1.4 1.6 1.8 2−1

0

1

2

3

4

5

x

y

x0

x1x2 x3x4

Obr. 2.18: Metoda regula falsi, f(x) = x3 − x− 1, x0 = 1, x1 = 2

Metoda regula falsi pro funkci f(x) = x3 − x − 1 je ilustrována na obr. 2.18.Jelikož f ′(x) = 3x2 − 1 a f ′′(x) > 0 pro x ∈ [1, 2], je bod b = 2 „pevnýÿ. Tabulkaudává aproximace získané metodou regula falsi pro danou funkci.Užijeme kriterií (2.4), (2.5) pro odhad chyby. Je |(x8 − x7)/x7| ≈ 0,0014

a f(x8) ≈ 0,0044. Můžeme tedy říci, že iterace x8 aproximuje kořen ξ s chyboumenší než 5.10−3.

§ 2.7. Quasi Newtonova metoda

Hlavní myšlenkou této metody je nahrazení tečny použité v Newtonově metoděsečnou procházející bodem (xk, f(xk)) a bodem (xk+f(xk), f(xk+f(xk))), respek-tive bodem (xk − f(xk), f(xk − f(xk))). Přitom pokud je bod xk blízko hledanéhokořene ξ, pak hodnota f(xk) je blízká nule a sečna procházející uvedenými body je

Page 59: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.7. Quasi Newtonova metoda 53

blízká tečně vedené bodem xk. Jedná se tedy o metodu blízkou metodě Newtonově,zde má také původ název této metody.Nahrazením f ′(xk) ve vztahu pro Newtonovu metodu (2.16) přibližnou hod-

notouf(xk)− f(xk ± f(xk))xk − (xk ± f(xk))

=f(xk)− f(xk ± f(xk))

∓f(xk)

dostáváme iterační vztah

xk+1 = xk − f(xk)∓f(xk)

f(xk)− f(xk ± f(xk))= xk ± f2(xk)

f(xk)− f(xk ± f(xk))(2.29)

a iterační funkce má tedy tvar

g(x) = x± f2(x)f(x)− f(x± f(x))

. (2.30)

Věta 2.13. Nechť f ∈ C1[a, b], ξ ∈ [a, b] nechť je řešením rovnice f(x) = 0a f ′(ξ) 6= 0. Pak existuje ε > 0 tak, že posloupnost

xk∞

k=0generovaná quasi

Newtonovou metodou konverguje k bodu ξ pro každou počáteční aproximaci x0 ∈[ξ − ε, ξ + ε] ∩ [a, b]. Pokud má funkce f v okolí bodu ξ spojitou druhou derivaci,je řád metody alespoň 2.

Důkaz. Důkaz provedeme pro ξ ∈ (a, b). V případě, že ξ je jedním z krajníchbodů intervalu, úvahy jsou obdobné při použití jednostranných intervalů.Nechť δ je takové, že [ξ− δ, ξ+ δ] ⊆ [a, b]. Pak existuje δ0, že pro x ∈ [ξ− δ0, ξ+ δ0]platí |f(x)| ≤ δ/2. Položme δ1 = minδ0, δ/2. Potom pro x ∈ [ξ − δ1, ξ + δ1]dostáváme

|ξ − (x± f(x))| ≤ |ξ − x|+ |f(x)| ≤ δ/2 + δ/2 = δ

takže bod x±f(x) leží v intervalu [ξ−δ, ξ+δ] ⊆ [a, b] a je tedy definována hodnotaf(x± f(x)).Dále pomocí l’Hospitalova pravidla spočítáme limitu

limx→ξ

∓f(x)f(x)− f(x± f(x))

= limx→ξ

∓f ′(x)f ′(x) − f ′(x ± f(x))(1 ± f ′(x))

=

= limx→ξ

∓f ′(x)f ′(x)− f ′(x)(1 ± f ′(x))

= limx→ξ

∓f ′(x)f ′(x)− f ′(x) ∓ (f ′(x))2

=1

f ′(ξ),

protože f(x)→ 0 pro x→ ξ.Odtud dostáváme

g(ξ) = limx→ξ

g(x) = ξ − f(ξ) limx→ξ

∓f(x)f(x)− f(x± f(x))

= ξ − f(ξ)f ′(ξ)

= ξ ,

takže ξ je pevným bodem funkce g. Navíc

g′(ξ) = limx→ξ

g(x)− g(ξ)x− ξ

= limx→ξ

1x− ξ

(

x− f(x)∓f(x)

f(x) − f(x± f(x))− ξ

)

=

Page 60: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

54 2. ŘEŠENí NELINEÁRNíCH ROVNIC

= limx→ξ

x− ξ

x− ξ− lim

x→ξ

f(x)x− ξ

· ∓f(x)f(x)− f(x± f(x))

=

= 1− limx→ξ

f(x)− f(ξ)x− ξ

· limx→ξ

∓f(x)f(x)− f(x± f(x))

= 1− f ′(x)1

f ′(x)= 0 .

Protože f má spojitou derivaci v ξ, má v tomto bodě spojitou derivaci i funkce g,a proto existuje ε > 0 takové, že [ξ−ε, ξ+ε] ⊆ [ξ−δ1, ξ+δ1] a pro x ∈ [ξ−ε, ξ+ε]je |g(x)| ≤ q < 1. Interval [ξ − ε, ξ + ε] funkce g zobrazuje do sebe, neboť jestližex ∈ [ξ − ε, ξ + ε], pak

|g(x)− ξ| = |g(x)− g(ξ)| ≤ q|x− ξ| < |x− ξ| ≤ ε .

Podle věty 2.5 konverguje metoda pro libovolnou počáteční aproximaci x0 ∈[ξ − ε, ξ + ε]. Pokud má f v okolí bodu ξ spojitou druhou derivaci, má zde spo-jitou druhou derivaci i funkce g, a jelikož platí g′(ξ) = 0, podle věty 2.4 je quasiNewtonova metoda řádu alespoň 2. 2

Příklad 2.11. Použijeme quasi Newtonovou metodou na stejnou úlohu jako v pří-kladě 2.8, tj. pro nalezení kořene funkce f(x) = x3 − x− 1 ležící v intervalu [1, 2].Řešení. Quasi Newtonova metoda (varianta +) dává iterační vztah

xk+1 = xk +f(xk)2

f(xk)− f(xk + f(xk)).

Je samozřejmě možné výraz upravit dosazením dané funkce, výsledný vztah jeovšem poměrně komplikovaný. Při vlastním výpočtu je lepší použít např. substituciyk = f(xk) a pak použít vztah

xk+1 = xk +(yk)2

yk − f(xk + yk).

Za počáteční aproximaci zvolme x0 = 2. V tabulce jsou uvedeny jednotlivé apro-ximace a funkční hodnoty

k xk f(xk)0 1,4 0,3440000001 1,346609850 0,0952760112 1,326900496 0,0093266703 1,324741149 0,0000989084 1,324717960 0,0000000115 1,324717957 2,2204·10−16

Vidíme, že je potřeba poměrně velmi přesnou počáteční iteraci, aby hodnota x0+f(x0) ležela v daném intervalu, ale nemusíme počítat derivace.

Poznámka 8. Dosud probrané metody patří mezi nejužívanější metody k řešenínelineárních rovnic. Z nich metoda bisekce a regula falsi patří mezi vždy konver-gentní metody, neboť posloupnost aproximací generovaná těmito metodami vždy

Page 61: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.8. Iterační metody pro násobné kořeny 55

konverguje k hledanému kořenu spojité funkce na daném intervalu. Jejich nevý-hodou je pomalá konvergence, lze jich ale s výhodou použít pro nalezení dobrépočáteční aproximace pro některou jinou metodu, která konverguje rychleji.

§ 2.8. Iterační metody pro násobné kořeny

Doposud jsme předpokládali, že kořen ξ je jednoduchým kořenem rovnice f(x) = 0.Dá se ukázat, viz např. [5], [13], že uvedené iterační metody konvergují lineárně,má-li hledaný kořen násobnostM větší než 1. Ale známe-li násobnost kořene, mů-žeme modifikovat Newtonovu metodu tak, že konvergence bude opět kvadratická.

Věta 2.14. Nechť kořen ξ má násobnost M > 1. Pak modifikovaná Newtonovametoda

xk+1 = xk −Mf(xk)f ′(xk)

(2.31)

je metoda druhého řádu.

Důkaz. Nechť

xk+1 = xk −Mf(xk)f ′(xk)

.

Pak

ξ − xk+1 = ξ − xk +Mf(xk)f ′(xk)

(2.32)

a odtud(ξ − xk+1)f ′(xk) = σ(xk), (2.33)

σ(x) = (ξ − x)f ′(x) +Mf(x).

Derivováním dostaneme

σ(j)(x) =Mf (j)(x) + (ξ − x)f (j+1)(x) − jf (j)(x).

Bod ξ je M -násobným kořenem funkce f (f (j)(ξ) = 0, j = 0, 1, . . . ,M − 1,f (M)(ξ) 6= 0) a tedy

σ(j)(ξ) = 0, j = 0, 1, . . . ,M, σ(M+1)(ξ) 6= 0.

Aplikací Taylorova vzorce pro funkci σ odtud plyne

σ(x) =(x− ξ)M+1

(M + 1)!σ(M+1)(α1). (2.34)

Na druhé straně (opět z Taylorova vzorce)

f ′(x) =(x − ξ)M−1

(M − 1)! f(M)(α2). (2.35)

Page 62: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

56 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Dosazením vztahů (2.34) a (2.35) do (2.33) dostaneme

(ξ − xk+1)(xk − ξ)M−1

(M − 1)! f (M)(αk2) =

(xk − ξ)M+1

(M + 1)!σ(M+1)(αk

1)

a odtud(ξ − xk+1

)=

(ξ − xk

)2

M(M + 1)

(σ(M+1)(αk

1))

(f (M)(αk

2)) .

Metoda je tedy řádu 2, neboť∣∣f (M)(x)

∣∣ ≥ m > 0 v okolí bodu x = ξ a σ(M+1)(ξ)

6= 0. 2

Poznámka 9. „Klasickáÿ Newtonova metoda konverguje pro násobný kořen line-árně.

Následující tabulka ukazuje srovnání rychlostí konvergence pro jednotlivé me-tody. Zde ek =

∣∣xk − ξ

∣∣.

Metoda Speciální případyPosloupnost

chybových členů

Bisekce ek+1 ≈ 12 ek

Regula falsi ek+1 ≈ CR ek

Metoda sečen násobný kořen ek+1 ≈ CSN ek

Newtonova metoda násobný kořen ek+1 ≈ CNN ek

Metoda sečen jednoduchý kořen ek+1 ≈ CS e1,618k

Newtonova metoda jednoduchý kořen ek+1 ≈ CN e2k

quasi Newtonovametoda jednoduchý kořen ek+1 ≈ CQ e

2k

ModifikovanáNewtonova metoda násobný kořen ek+1 ≈ CMN e2k

Poznámka 10. Obvykle násobnost kořene předem neznáme. Víme ale, že funkceu(x) = f(x)/f ′(x) má v bodě x = ξ jednoduchý kořen bez ohledu na násobnostkořene původní funkce. Místo rovnice f(x) = 0 uvažujme tedy rovnici

u(x) = 0,

jejíž kořeny jsou totožné s kořeny dané rovnice a jsou všechny jednoduché. Nynímůžeme aplikovat výše uvedené metody na tuto funkci a řád konvergence metodyse nezmění.

Page 63: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.9. Urychlení konvergence 57

§ 2.9. Urychlení konvergence

Nyní vyložíme techniku nazývanou Aitkenovou δ2-metodou, která může být pou-žita k urychlení konvergence libovolné lineárně konvergentní posloupnosti nezávislena tom, jak je tato posloupnost generována.

Věta 2.15. (Aitkenova δ2-metoda). Nechť je dána posloupnost xk∞k=0, xk 6= ξ,k = 0, 1, 2, . . ., limk→∞ xk = ξ, a nechť tato posloupnost splňuje podmínky

xk+1 − ξ = (C + γk)(xk − ξ), k = 0, 1, 2, . . . |C| < 1, lim

k→∞γk = 0.

Pak posloupnost

xk = xk − (xk+1 − xk)2

xk+2 − 2xk+1 + xk(2.36)

je definována pro všechna dostatečně velká k a platí

limk→∞

xk − ξ

xk − ξ= 0,

tj. posloupnost xk konverguje k limitě ξ rychleji než posloupnost xk.Důkaz. Ověříme, zda posloupnost xk je definována pro dostatečně velká k.Počítejme

xk+2 − 2xk+1 + xk = (xk+2 − ξ)− 2(xk+1 − ξ) + (xk − ξ) =

= (xk+1 − ξ)(C + γk+1)− 2(xk − ξ)(C + γk) + (xk − ξ) =

= (xk − ξ)(C + γk)(C + γk+1)− 2(xk − ξ)(C + γk) + (xk − ξ) =

= (xk − ξ)(C2 − 2C + 1 + τk) = (xk − ξ)((C − 1)2 + τk

),

kde limk→∞

τk = 0.

Pro dostatečně velká k je xk+2 − 2xk+1+ xk 6= 0 a posloupnost xk je defino-vána.Nyní

xk − ξ = xk − ξ − (xk+1 − xk)2

xk+2 − 2xk+1 + xk= (xk − ξ)−

(xk+1 − ξ − (xk − ξ)

)2

(xk − ξ) ((C − 1)2 + τk)=

= (xk − ξ)− (xk − ξ)2(C − 1 + γk)2

(xk − ξ) ((C − 1)2 + τk)= (xk − ξ)

(

1− (C − 1 + γk)2

(C − 1)2 + τk

)

a odtud

limk→∞

xk − ξ

xk − ξ= lim

k→∞

(

1− (C − 1 + γk)2

(C − 1)2 + τk

)

= 0.

2

Poznámka 11. Výraz ve jmenovateli xk+2 − 2xk+1 + xk se nazývá někdy druhácentrální diference a označuje se δ2xk. Odtud název Aitkenova δ2-metoda.

Page 64: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

58 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Uvedená metoda má zajímavý geometrický význam. Definujme funkci chyby εtakto:

ε(xk) = xk − xk+1, ε(xk+1) = xk+1 − xk+2

Chceme sestrojit takovou posloupnost, která by konvergovala rychleji k bodu ξ.Body o souřadnicích

[xk, ε(xk)

],[xk+1, ε(xk+1)

]vedeme přímku a její průsečík

s osou x vezmeme za další aproximaci bodu ξ, tj. provedeme „extrapolaciÿ (vizobr. 2.19).

−0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35−0.05

0

0.05

0.1

0.15

0.2

0.25

x2x3x4x5x2

Obr. 2.19: Aitkenova metoda, xn = 1/(2n − 1)

Rovnice přímky je tvaru

y − ε(xk) =ε(xk)− ε(xk+1)xk − xk+1

(x− xk)

Odtud je zřejmé, že průsečík s osou x (y = 0) je právě hodnota xk

xk = xk − ε(xk)(xk − xk+1)ε(xk)− ε(xk+1)

= xk − (xk+1 − xk)2

xk+2 − 2xk+1 + xk.

§ 2.10. Steffensenova metoda

Vraťme se nyní k iterační metodě xk+1 = g(xk). Můžeme užít Aitkenovy δ2-metody ke konstrukci posloupnosti xk, která konverguje rychleji než původníposloupnost xk. Je vhodné sestrojit novou posloupnost takto:Položme

yk = g(xk), zk = g(yk),

Page 65: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.10. Steffensenova metoda 59

xk+1 = xk − (yk − xk)2

zk − 2yk + xk. (2.37)

V tomto případě je tedy ε(xk) = xk − yk, ε(yk) = yk − zk.Posloupnost (2.37) je posloupnost sestrojená Aitkenovou δ2-metodou. Tato ite-

rační metoda se nazývá Steffensenova a může být popsána iterační funkcí ϕ:

xk+1 = ϕ(xk), (2.38)

kde

ϕ(x) =xg(g(x)) − g2(x)g(g(x))− 2g(x) + x, g2(x) = (g(x))2. (2.39)

Snadno lze ověřit, že iterační proces (2.38) generuje posloupnost danou vztahem(2.37). Počítejme hodnotu ϕ(xk):

ϕ(xk) =xkg(g(xk))− g2(xk)g(g(xk))− 2g(xk) + xk

=xkg(yk)− (yk)2

g(yk)− 2yk + xk=

=xkzk − (yk)2

zk − 2yk + xk=xk(zk − 2yk + xk)− (yk − xk)2

zk − 2yk + xk= xk − (yk − xk)2

zk − 2yk + xk

Pro pevné body funkcí ϕ, g platí následující věta.

Věta 2.16.

1. ϕ(ξ) = ξ implikuje g(ξ) = ξ.

2. Jestliže g(ξ) = ξ, g′(ξ) existuje a g′(ξ) 6= 1, pak ϕ(ξ) = ξ.

Důkaz.

1. Z definice funkce ϕ dané vztahem (2.39) plyne

(ξ − ϕ(ξ))(g(g(ξ)) − 2g(ξ) + ξ) = (ξ − g(ξ))2.

Tedy ϕ(ξ) = ξ implikuje g(ξ) = ξ.

2. Předpokládejme nyní, že ξ = g(ξ), g je diferencovatelná pro x = ξ a g′(ξ) 6= 1.Pro výpočet hodnoty ϕ(ξ) použijeme l’Hospitalova pravidla:

ϕ(ξ) =g(g(ξ)) + ξg′(g(ξ))g′(ξ)− 2g(ξ)g′(ξ)

g′(g(ξ))g′(ξ)− 2g′(ξ) + 1 =ξ + ξg′2(ξ)− 2ξg′(ξ)1 + g′2(ξ) − 2g′(ξ) = ξ

2

Věta 2.17. Nechť funkce g má spojité derivace až do řádu p + 1 včetně v okolíbodu x = ξ. Nechť iterační metoda xk+1 = g(xk) je řádu p pro bod ξ.Pak pro p > 1 je iterační metoda xk+1 = ϕ(xk) řádu 2p− 1. Pro p = 1 je tato

metoda řádu alespoň 2 za předpokladu g′(ξ) 6= 1.Důkaz lze nalézt v [5].

Page 66: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

60 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Poznamenejme, že funkce ϕ je iterační funkcí pro metodu druhého řádu, tj.metoda je lokálně kvadraticky konvergentní i v případě, že |g′(ξ)| > 1 a metodaxk+1 = g(xk) diverguje jako posloupnost.

Příklad 2.12. Iterační funkce g(x) = x2 má dv pevné body ξ1 = 0, ξ2 = 1.

−0.2 0 0.2 0.4 0.6 0.8 1 1.2−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Je g′(x) = 2x, g′′(x) = 2, ⇒ g′(ξ1) = 0, g′(ξ2) = 2. ξ1 je přitahujícím pevnýmbodem, a protože g′(ξ1) = 0, je pro tento bod metoda řádu druhého. o znamená,že pro každou počáteční iteraci x0 ∈ [−1/4, 1/4] bude posloupnost xk+1 = (xk)

2

konvergovat kvadraticky k bodu ξ1 = 0. Bod ξ2 je odpuzujícím pevným bodema posloupnost xk+1 = (xk)

2nekonverguje k bodu ξ2 (pro |x0| < 1 posloupnost

konverguje k bodu ξ1, pro |x0| > 1 diverguje). Protože g′(ξi) 6= 1, i = 1, 2,můžeme sestrojit iterační funkci pro Steffensenovu metodu a tato iterační funkcebude mít stejné pevné body jako funkce g.Je

ϕ(x) =x g(g(x)) − g2(x)g(g(x)) − 2g(x) + x =

x5 − x4

x4 − 2x2 + x =

=x4(x− 1)

x(x − 1)(x2 + x− 1) =x3

x2 + x− 1 =x3

(x− λ1)(x− λ2),

kde λ1,2 = (−1±√5)/2.

Tato iterační funkce je vhodná pro oba pevné body ξ1, ξ2 a platíϕ′(ξ1) = 0, ϕ′′(ξ1) = 0 ⇒ metoda je řádu 3 pro bod ξ1 = 0,ϕ′(ξ2) = 0, ϕ′′(ξ2) 6= 0 ⇒ metoda je řádu 2 pro bod ξ2 = 1.

−0.2 0 0.2 0.4 0.6 0.8 1 1.2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

Graf funkce ϕ.

Page 67: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.10. Steffensenova metoda 61

Jednotlivé iterace pro ξ1: x0 = 14 , x

1 = − 144 , x

2 = 187076

.= 0, 00001484.

Jednotlivé iterace pro ξ2: x0 = 2, x1 = 1, 6, x2.= 1, 2962, x3

.= 1, 1019.

Příklad 2.13. Aplikujme Steffensenovu metodu na iterační funkci g(x) = sin π2x+

2, jejíž pevný bod ξ = 2. Metoda je znázorněna na obr. 2.20.

k xk yk zk

0 0,50000000000000 2,70710678118655 1,103981064073191 1,77848375282432 2,34097786767556 1,489637058887402 2,00227199284588 1,99643116955900 2,005605876385703 1,99999999735784 2,00000000415030 1,999999993480734 2,00000000000000 2,00000000000000 2,00000000000000

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

3

y=x

x

y

x0 y0z0 x1 y1

z1 x2

Obr. 2.20: Steffensenova metoda (pro iterační metodu), x = sin (π2x) + 2

Poznámka 12. Hledáme-li řešení rovnice f(x) = 0 a iterační funkci g definujemevztahem g(x) = x+ f(x) nebo g(x) = x− f(x), dostaneme pomocí Steffensenovymetody

yk = g(xk) = xk ±f(xk), zk = g(yk) = yk ±f(yk) = xk ±f(xk)±f(xk ±f(xk)),

xk+1 = xk − (yk − xk)2

zk − 2yk + xk=

= xk − (xk ± f(xk)− xk)2

xk ± f(xk)± f(xk ± f(xk))− 2xk ∓ 2f(xk) + xk=

= xk − f2(xk)±f(xk ± f(xk))∓ f(xk)

=

Page 68: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

62 2. ŘEŠENí NELINEÁRNíCH ROVNIC

= xk − f2(xk)∓[f(xk)− f(xk ± f(xk))]

=

= xk ± f2(xk)f(xk)− f(xk ± f(xk))

.

V tomto případě se tedy jedná o quasi Newtonovu metodu (viz odstavec 2.7).

§ 2.11. Müllerova metoda

Na závěr této kapitoly se zmíníme ještě o Müllerově metodě. Tato metoda bylanavržena v roce 1956 D. M. Müllerem. Je vhodná pro hledání kořenů libovolnéfunkce, ale především je užitečná zejména pro určení kořenů polynomu.Müllerova metoda je zobecněním metody sečen. Metoda sečen v podstatě zna-

mená, že pro dané aproximace xk, xk−1 bodu ξ aproximujeme funkci f přímkouprocházející body

[xk−1, f(xk−1)

],[xk, f(xk)

]a za další aproximaci bodu ξ vez-

meme průsečík této přímky s osou x. Müllerova metoda užívá tři aproximace xk−2,xk−1, xk a křivku y = f(x) aproximujeme parabolou určenou těmito body. Prů-sečík této paraboly s osou x, který je nejbližší k xk, vezmeme za další aproximacixk+1. Touto metodou lze najít i násobné a komplexní kořeny. Lze ji popsat násle-dujícím způsobem.Nechť xk−2, xk−1, xk jsou již vypočtené aproximace. Sestrojme polynom

P (x) = a(x− xk)2 + b(x− xk) + c

procházející body[xk−2, f(xk−2)

],[xk−1, f(xk−1)

],[xk, f(xk)

], t.j. splňující pod-

mínky P (xi) = f(xi), i = k − 2, k − 1, k. Z nich plyne

c = f(xk)

b =(xk−2 − xk)2

[f(xk−1)− f(xk)

]− (xk−1 − xk)2

[f(xk−2)− f(xk)

]

(xk−2 − xk)(xk−1 − xk)(xk−2 − xk−1)

a =(xk−2 − xk)

[f(xk−1)− f(xk)

]− (xk−1 − xk)

[f(xk−2)− f(xk)

]

(xk−2 − xk)(xk−1 − xk)(xk−1 − xk−2)

Kořeny kvadratické rovnice P (x) = 0 je vhodné vyjádřit (vzhledem k zaokrouhlo-vacím chybám) ve tvaru

xk+1 − xk =−2c

b±√b2 − 4ac

.

Znaménko u odmocniny vybereme tak, aby bylo shodné se znaménkem b. Tatovolba znamená, že jmenovatel zlomku bude v absolutní hodnotě největší a tedyvýsledná hodnota xk+1 bude nejbližší xk. Je tedy

xk+1 = xk − 2c

b+ (sign b)√b2 − 4ac

.

Page 69: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.12. Iterační metody pro systémy nelineárních rovnic 63

Další postup opakujeme s aproximacemi xk−1, xk, xk+1 atd. Při řešení kvadra-tické rovnice musíme užívat komplexní aritmetiky, neboť výraz b2 − 4ac může býtzáporný.

Příklad 2.14. Aplikujme Müllerovu metodu na řešení rovnice x3 − x − 1 = 0.Výpočet je uveden v tabulce a graficky zobrazen na obr. 2.21. Funkce f(x) =x3 − x − 1 má jediný reálný kořen a proto lze v tomto případě vzít za počátečníaproximace x0, x1, x2 (z důvodu vhodnějšího grafického vyjádření) body x0 = −1,x1 = 0, x2 = 2.

k xk f(xk)0 −1,00000000 −1,000000001 0,00000000 −1,000000002 2,00000000 5,000000003 0,61803399 −1,381966014 1,17827569 −0,542435975 1,30978731 −0,062791136 1,32509032 0,001588557 1,32471777 −0,00000081

−1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−1

0

1

2

3

4

5

x

y

x0 x1 x2x3 x4

Obr. 2.21: Müllerova metoda, f(x) = x3 − x− 1

Lze ukázat [5], že Müllerova metoda je řádu alespoň q = 1,84 . . ., kde q jenejvětší kořen rovnice q3 − q2 − q − 1 = 0.

§ 2.12. Iterační metody pro systémy nelineárních rovnic

Zabývejme se nyní řešením systému nelineárních rovnic. Je dáno m nelineárních

Page 70: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

64 2. ŘEŠENí NELINEÁRNíCH ROVNIC

rovnic o m neznámýchf1(x1, . . . , xm) = 0

...fm(x1, . . . , xm) = 0

(2.40)

Kořenem systému (2.40) rozumíme každou uspořádanou m-tici reálných čísel(ξ1, . . . , ξm), která tomuto systému vyhovuje. Systém (2.40) lze také zapsat vevektorovém tvaru

F (x) = o, x ∈ Rm,o = (0, . . . , 0)T ∈ R

m. (2.41)

Kořen této rovnice budeme nyní značit ξ = (ξ1, . . . , ξm)T . Dále budeme postupovatobdobně jako při řešení jedné rovnice, tzn. rovnici (2.41) převedeme na rovniciekvivalentní

x = G(x), x ∈ Rm (2.42)

a budeme hledat pevný bod zobrazení G : Rm → Rm. Systém (2.42) lze samo-zřejmě rozepsat takto:

x1 = g1(x1, . . . , xm)...

xm = gm(x1, . . . , xm)

(2.43)

Definujme nyní v prostoru Rm metriku vztahem

(x,y) = max1≤i ≤m

|xi − yi|. (2.44)

Prostor Rm s takto definovanou metrikou je úplným metrickým prostorem. Nynílze pro vyšetřování konvergence iteračního procesu xk+1 = G(xk), k = 0, 1, 2, . . .užít Banachovy věty o pevném bodě.

Věta 2.18. Nechť zobrazení G : Rm → Rm je kontrakce na Rm,

(G(x), G(y)) ≤ q(x,y), 0 ≤ q < 1.

Pak pro každou počáteční aproximaci x0 ∈ Rm je posloupnostxk∞

k=0, k =

0, 1, 2, . . ., xk = G(xk−1), konvergentní v Rm a limk→∞ xk = ξ, kde ξ je jedinýpevný bod zobrazení G.

Důkaz plyne ihned aplikací Banachovy věty o pevném bodě.

Užitečnější výsledek získáme, budeme-li předpokládat existenci kořene ξ. Do-kážeme tuto větu:

Věta 2.19. Nechť ξ ∈ Rm je pevný bod rovnice x = G(x). Nechť funkce

gi, i = 1, . . . ,m, mají spojité parciální derivace pro všechna x ∈ Ω(ξ, r), Ω(ξ, r) =x|(x, ξ) ≤ r. Nechť dále platí

∣∣∣∣

∂gi(x)∂xj

∣∣∣∣≤ q

m, i, j = 1, . . . ,m, (2.45)

Page 71: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.12. Iterační metody pro systémy nelineárních rovnic 65

0 ≤ q < 1 a nechť x0 ∈ Ω(ξ, r). Pak všechny iteracexk∞

k=0určené vztahem

xk+1 = G(xk) leží v množině Ω(ξ, r) a limk→∞

xk = ξ.

Důkaz. Množina Ω(ξ, r) je uzavřenou omezenou podmnožinou úplného metric-kého prostoru Rm a je tedy rovněž úplným metrickým prostorem. Nyní je třebaověřit, zda jsou na množině Ω(ξ, r) splněny předpoklady Banachovy věty.Pro libovolné dva body x,y ∈ Ω(ξ, r) platí podle Taylorovy věty pro funkce

více proměnných:

gi(x)− gi(y) =m∑

j=1

∂gi(αi)∂xj

(xj − yj), i = 1, . . . ,m,

kde αi ∈ Ω(ξ, r), neboť αi leží na úsečce spojující body x a y a množina Ω(ξ, r)je konvexní.Pomocí vztahu (2.45) odhadneme nyní absolutní hodnotu rozdílu gi(x)−gi(y):

|gi(x)− gi(y)| ≤m∑

j=1

∣∣∣∣

∂gi(αi)∂xj

∣∣∣∣|xj − yj | ≤

≤ max1≤j≤m

|xj − yj |m∑

j=1

∣∣∣∣

∂gi(αi)∂xj

∣∣∣∣≤ q(x,y), i = 1, . . . ,m.

Jelikož tato nerovnost platí pro všechna i = 1, . . . ,m, je také

max1≤i ≤m

|gi(x)− gi(y)| = (G(x), G(y)) ≤ q(x,y).

Zobrazení G je tedy kontrakce na Ω(ξ, r).Nechť nyní x ∈ Ω(ξ, r), pak také G(x) ∈ Ω(ξ, r), neboť

(G(x), ξ) = (G(x), G(ξ)) ≤ q(x, ξ) < r.

Odtud plyne, že pro zobrazení G platí G : Ω(ξ, r) → Ω(ξ, r). Tedy zobrazeníG splňuje na úplném metrickém prostoru Ω(ξ, r) předpoklady věty 2.18 a odtudplyne tvrzení věty. 2

Poznámka 13. Je zřejmé, že předpoklad (2.45) lze nahradit předpokladem

max1≤i ≤m

m∑

j=1

∣∣∣∣

∂gi(x)∂xj

∣∣∣∣≤ q < 1. (2.46)

Příklad 2.15. Řešte systém nelineárních rovnic

x21 − 2x1 − x2 + 0, 5 = 0

x21 + 4x22 − 4 = 0

Page 72: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

66 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Řešení: První rovnici lze upravit následujícím způsobem:

x21 − 2x1 − x2 + 0, 5 = 0

x2 = x21 − 2x1 + 0, 5x2 = (x1 − 1)2 − 0, 5 ,

jedná se tedy o rovnici paraboly. Druhá rovnice je rovnice elipsy

x214+ x22 = 1 .

Hledáme tedy průsečíky paraboly s elipsou. Průsečík ξ1 leží ve druhém kvadranru,průsečík ξ2 v prvním kvadrantu (viz obrázek 2.22). Budeme hledat aproximaciprůsečíku ξ1. Rovnice převedeme na tvar

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−1.5

−1

−0.5

0

0.5

1

1.5

x0

ξ1

ξ2

Obr. 2.22: Průsečíky elipsyx21

4+ x22 = 1 s parabolou x2 = (x1 − 1)2 − 0, 5

x1 = g1(x1, x2) =x21 − x2 + 0, 5

2

x2 = g2(x1, x2) =−x21 − 4x22 + 8x2 + 4

8

Ve druhé rovnici byl na každou stranu přidán člen −8x2 a rovnice pak vydělena−8. Jedná se o poněkud umělý krok, který ovšem zajistí dostatečné podmínky prokonvergenci.Jako počáteční iteraci zvolíme bod (x01, x

02) = (0; 1), který leží blízko ξ1.V okolí

hledaného průsečíku jsou zřejmě splněny podmínky (2.45). Postupně dostaneme

x11 = g1(x01, x02) = −0, 25, x12 = g2(x01, x

02) = 1

x21 = g1(x11, x12) = −0, 21875, x22 = g2(x11, x

12) = 0, 9921875

...x81 = g1(x71, x

72)

.= −0, 2222145, x82 = g2(x71, x

72)

.= 0, 9938084

x91 = g1(x81, x82)

.= −0, 2222146, x92 = g2(x81, x

82)

.= 0, 9938084

Page 73: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 2.13. Newtonova metoda pro systémy nelineárních rovnic 67

Pokud bychom chtěli najít druhý průsečík, museli bychom změnit iterační funkce,abychom zajistili konvergenci. Možná volba je např.

x1 = g1(x1, x2) =−x21 + 4x1 + x2 − 0, 5

2

x2 = g2(x1, x2) =−x21 − 4x22 + 11x2 + 4

11.

Navrhneme nyní modifikaci iterační metody xk+1 = G(xk). Tato modifikacespočívá v tom, že pro výpočet xk+1

i použijeme již vypočtených hodnot xk+11 , . . . ,

xk+1i−1 , tj.

xk+11 = g1(xk

1 , xk2 , . . . , x

km)

xk+12 = g2(x

k+11 , xk

2 , . . . , xkm)

xk+13 = g3(x

k+11 , xk+1

2 , . . . , xkm)

...

xk+1m = gm(x

k+11 , . . . , xk+1

m−1, xkm).

Tato modifikace se nazývá Seidelova metoda.

Otázkami konvergence této metody se zabývá monografie [17].

§ 2.13. Newtonova metoda pro systémy nelineárních rovnic

Rovnici F (x) = o lze převést na rovnici x = G(x) různými způsoby. Pojednámepodrobněji o tvaru Newtonovy metody pro systémy nelineárních rovnic.Položme

G(x) = x − J−1F (x)F (x),

kde

JF (x) =

∂f1(x)∂x1

· · · ∂f1(x)∂xm

.... . .

...∂fm(x)∂x1

· · · ∂fm(x)∂xm

Matici JF (x) nazýváme Jacobiovou maticí funkce F . Nechť JF (x) je regulárnímatice se spojitými prvky v okolí bodu ξ. Iterační metodu

xk+1 = xk − J−1F (x

k)F (xk), k = 0, 1, 2, . . . (2.47)

nazýváme Newtonovou iterační metodou pro systém F (x) = o.

Page 74: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

68 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Otázky konvergence a volby počáteční aproximace pro metodu (2.47) jsou mno-hem komplikovanější než v případě jedné rovnice. Tato problematika je podrobněstudována v [5] nebo v [17]. Zde uvedeme bez důkazu jednu ze základních vět.

Věta 2.20. Nechť ξ je kořenem rovnice F (x) = o. Nechť JF (x) je regulárnímatice se spojitými prvky v okolí O(ξ) bodu ξ, přičemž

∥∥J−1

F (x)∥∥∞ ≤ K, K = konst.,

pro všechna x z tohoto okolí. Nechť funkce fi, i = 1, . . . ,m, mají spojité druhéparciální derivace v O(ξ).Posloupnost

xk∞

k=0určená Newtonovou metodou konverguje ke kořenu ξ za

předpokladu, že počáteční aproximace x0 leží dostatečně blízko ξ. Řád metody jeroven dvěma.

Důkaz viz [2], [5].

Tato věta předpokládá existenci „dobréÿ počáteční aproximace. Ovšem prosystém nelineárních rovnic není snadné určit „dobrouÿ počáteční aproximaci. Prosystém F (x) = o neexistují jednoduché, vždy konvergentní metody, které by umož-nily vhodnou volbu počáteční aproximace. Lze sice formulovat podmínky pro po-čáteční aproximaci, pro kterou bude iterační proces konvergovat, ale ověření těchtopodmínek je značně náročné a pro praktické výpočty nepoužitelné.V případě dvou rovnic lze v některých případech určit počáteční aproximaci

geometricky.

Poznámka 14. Problém řešení systému nelineárních rovnic lze převést na problémminimalizace funkce více proměnných, viz např. [5], [17].

Vraťme se nyní ke vztahu (2.47). Zde je třeba na každém kroku vypočítatinverzní matici J−1

F (x). Tento vztah však můžeme zapsat i takto:

JF (xk)(xk+1 − xk) = −F (xk). (2.48)

Položíme-li nyní δk = xk+1 − xk, tj. xk+1 = xk + δk, k = 0, 1, 2, . . ., dostaneme

JF (xk)δk = −F (xk); δk = (δk

1 , . . . , δkm)

T . (2.49)

(2.49) je nyní systém lineárních rovnic pro neznámé δk1 , . . . , δ

km. Řešení tohoto

systému, vektor δk je vektor „opravÿ pro aproximaci xk.

Příklad 2.16. Použijte Newtonovu metodu k nalezení průsečíku ξ2 parabolya elipsy z příkladu 2.15Řešení: Položme

F (x1, x2) =(x21 − 2x1 − x2 + 0, 5

x21 + 4x22 − 4

)

, pak JF (x1, x2) =(2x1 − 2 −12x1 8x2

)

.

Zvolme počáteční aproximaci (x01, x02) = (2; 0, 25), takže

F (2; 0, 25) =(0, 250, 25

)

, JF (2; 0, 25) =(2, 0 −1, 04, 0 2, 0

)

.

Page 75: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 2 69

Řešíme tedy systém(2, 0 −1, 04, 0 2, 0

)(δ1δ2

)

= −(0, 250, 25

)

Řešení je δ1 = −0.09375, δ2 = 0.0625, tj.

x1 =(2, 0− 0.093750, 25 + 0.0625

)

=(1.906250, 3125

)

.

Dalším postupem dostaneme

x2.=(1.9006910.311213

)

, x3.=(1.9006770.311219

)

, x4.=(1.9006770.311219

)

.

Poznámka 15. Jako kritérium pro dosažení dostatečně malé chyby aproximace

a zastavení výpočtu můžeme použít např. odhad ‖xk+1−xk‖‖xk‖ ≤ ε, kde ε je předem

daná přesnost výpočtu.

Cvičení ke kapitole 2

1. Funkce f(x) = x3 + 4x2 − 10 má jediný kořen v intervalu [1; 1,5]. Uvažujtetyto iterační funkce pro nalezení kořene (ξ ≈ 1,365230013):

g1(x) = x− x3 − 4x2 + 10 g4(x) =(104 + x

) 12

g2(x) =(10x

− 4x) 12

g5(x) = x− x3 + 4x2 − 103x2 + 8x

g3(x) =12(10− x3)

12

Nechť počáteční aproximace x0 = 1,5. Ukažte, že funkce g3, g4, g5 jsouvhodné iterační funkce (tj. posloupnost iterací konverguje ke kořenu ξ). Dáleukažte, že volba funkce g1 vede na divergentní posloupnost a posloupnostxk, xk = g2(xk−1), x0 = 1,5, není definována (v oboru reálných čísel).

2. Ukažte, že funkce g(x) = 2−x má jediný pevný bod v intervalu [13 ; 1]. Najdětetento pevný bod s chybou menší než 10−4. Kolik iterací je třeba k dosaženítéto přesnosti?(Řešení: x0 = 1, x12 = 0,6412053. Podle důsledku věty 2.5 je třeba 15 iterací.)

3. Je dána rovnice 3x2 − ex = 0. Určete interval, ve kterém leží kladný kořentéto rovnice. Najděte vhodnou iterační funkci g, pro kterou iterační metodaxk+1 = g(xk) bude konvergovat k tomuto kladnému kořenu.

Page 76: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

70 2. ŘEŠENí NELINEÁRNíCH ROVNIC

4. Je dána rovnice 3x3−x−1 = 0. Určete interval, ve kterém leží kladný kořentéto rovnice. Najděte vhodnou iterační funkci g, pro kterou iterační metodaxk+1 = g(xk) bude konvergovat k tomuto kladnému kořenu.

5. Je dána rovnice x = g(x), g(x) = (6 + x)1/2. Pevný bod je ξ = (3, 3).Znázorněte geometricky příslušný iterační proces xk+1 = g(xk), x0 = 7.Bude tento iterační proces konvergovat?

6. Ukažte, že iterační funkce

g(x) =12

(

x+2x

)

splňuje podmínky pro výpočet√2. Jaký tvar má funkce g pro výpočet

√a,

a > 0?

7. Užitím Newtonovy metody vypočtěte√13. Zvolte vhodnou funkci a počá-

teční aproximaci.

8. Newtonovou metodou nalezněte kořen funkce f(x) = x− cosx.(Řešení: x0 = π

4 , x3 = 0,7390851332.)

9. Užitím Newtonovy metody s počáteční aproximací x0 = 10 vypočtěte√91.

(Řešení: xk+1 = (xk + 91/xk)/2, x3 = 9,539392015.)

10. Na parabole y = x2 najděte užitím Newtonovy metody bod nejbližší bodu(1, 3).Návod:1. Určete druhou mocninu vzdálenosti d2(x) bodu X = (x, x2) ležícího naparabole a bodu (1, 3).

2. Řešte rovnici (d2(x))′ = f(x) = 0. Za počáteční aproximaci zvolte x0 =1, 0.(x4

.= 1, 28962390)

11. Užijte a) Newtonovy metody, b) metody sečen, c) metody regula falsi k na-lezení kořenů funkcí

1) x3 − 2x2 − 5 = 0, ξ ∈ [1, 4],2) x− 0,8− 0,2 sinx = 0, ξ ∈ [0, π

2 ],

3) 3x2 − ex = 0, ξ ∈ [0, 2].

12. Je dána rovnice 4x−7x−2 = 0.

(a) Jaké jsou vhodné počáteční aproximace pro metodu regula falsi?

(b) Je x0 = 3 vhodná počáteční aproximace pro použití Newtonovy me-tody?

13. Metodou regula falsi najděte kladný kořen rovnice x2 − 7 = 0.

Page 77: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 2 71

14. Řešte rovnici x = 2−x pro kořen v intervalu [0, 1] Steffensenovou metodou aporovnejte s výsledkem cvičení 2.

15. Vypočtěte√3 s počáteční aproximací x0 = 2 Steffensenovou metodou a

porovnejte výsledky s použitím metody Newtonovy, metody sečen a metodyregula falsi.

16. Užijte Müllerovy metody k nalezení kořenů rovnice x3 + 3x2 − 1 = 0.(Řešení: 0,532089, −0,652703, −2,87938.)

17. Je dán systém nelineárních rovnic

x21 − x2 − 0,2 = 0,x22 − x1 − 0,3 = 0.

Užitím Newtonovy metody nalezněte kořen ležící v 1. kvadrantu. Počátečníaproximaci určete graficky.(x0 = (1,2; 1,2)T , x2 = (1,192309; 1,221601)T .)

18. Uvažujme systém nelineárních rovnic

x1 =2x1 − x21 + x2

2(parabola),

x2 =2x1 − x21 + 8

9+4x2 − x224

(elipsa).

Zvolte x0 = (1,4; 2,0)T a vypočtěte 2 iterace

a) iterační metodou xk = G(xk−1),

b) Seidelovou metodou.

Výsledky porovnejte s přesným řešením ξ = (1,4076401; 1,9814506)T.

19. Je dána funkce soustava nelineárních rovnic

x1 =7x31 − x2 − 1

10≡ g1(x1, x2)

x2 =8x32 + x1 − 1

11≡ g2(x1, x2)

Tato soustava má 9 pevných bodů.Ověřte, že v okolí bodu (0,0) splňuje tato soustava podmínku pro konvergenciiteračního procesu

xk+11 = g1(xk

1 , xk2)

xk+12 = g2(xk

1 , xk2)

.

Bude tato podmínka splněna v okolí bodu (1,1)?

Page 78: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

72 2. ŘEŠENí NELINEÁRNíCH ROVNIC

Kontrolní otázky ke kapitole 2

1. Je možné použít prostou iterační metodu v případě, že funkce g zobrazujeinterval I = [a, b] do sebe a platí |g′(x)| ≤ 1, přičemž rovnost nastává pouzev některém z krajních bodů intervalu I? Proč?

2. Je dána funkce f(x) = cosx.Newtonovou metodou chceme najít kořen ξ = 3π

2 . Můžeme použít počátečníaproximaci x0 = 3? Proč?Můžeme použít počáteční aproximaci x0 = 5? Proč?

3. Je dána funkce f(x) = (x− 3)1/2.Můžeme užít Newtonovu metodu pro nalezení kořene s počáteční aproximacíx0 = 4? Proč?

4. Co se stane, když použijeme Müllerovu metodu pro nalezení kořene poly-nomu 2. stupně?

5. Co se stane při použití Newtonovy metody pro systém nelineárních rovnicna řešení soustavy rovnic lineárních?

6. Aplikujte Aitkenovou δ2-metodou na posloupnost částečných součtů geome-trické řady. Co nastane a proč?

Page 79: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 3

Polynomy

Nechť Πn je třída polynomů stupně nejvýše n s reálnými koeficienty. PolynomP ∈ Πn budeme zapisovat ve tvaru

P (x) = a0xn + . . .+ an. (3.1)

Označme ξ1, ξ2, . . . , ξn kořeny (reálné i komplexní) polynomu P . V této kapitolese budeme zabývat numerickými metodami pro určení těchto kořenů.

§ 3.1. Hranice kořenů

Pro volbu počáteční aproximace pro aplikaci numerické metody je vhodné znáthranice těchto kořenů:

Věta 3.1. Nechť

A = max (|a1|, . . . , |an|) ,B = max (|a0|, . . . , |an−1|) ,

kde ak, k = 0, 1, . . . , n, a0an 6= 0, jsou koeficienty polynomu P ∈ Πn, Pak provšechny kořeny ξk, k = 0, 1, . . . , n, polynomu P platí

1

1 +B

|an|

≤ |ξk| ≤ 1 +A

|a0|. (3.2)

Důkaz. Bez újmy na obecnosti předpokládejme |x| > 1. Pak

|P (x)| ≥ |a0xn| −(∣∣a1x

n−1∣∣+ . . .+ |an|)≥

≥ |a0||x|n −A(|x|n−1 + . . .+ 1

)=

= |a0||x|n −A|x|n − 1|x| − 1 >

(

|a0| −A

|x| − 1

)

|x|n.

Page 80: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

74 3. POLYNOMY

Jestliže |a0|−A/(|x|−1) > 0, pak je |P (x)| > 0 a to znamená, že pro |x| > 1+A/|a0|nemá P kořen. Odtud plyne, že všechny kořeny polynomu P splňují nerovnost

|ξk| ≤ 1 +A

|a0|, k = 1, . . . , n.

Položme nyní x = 1/y. Užitím této substituce dostaneme:

P (x) = P (1y) =

1yn(a0 + . . .+ any

n) =1ynQ(y).

Určíme horní hranici kořenů η1, . . . , ηn polynomu Q ∈ Πn. Podle předchozího je

|ηk| ≤ 1 +B

|an|, k = 1, . . . , n.

Jelikož ηk = 1/ξk, k = 1, . . . , n, plyne odtud požadovaná nerovnost (3.2). 2

Příklad 3.1. Určete hranice reálných kořenů polynomu

P (x) = x6 − 2x5 + 8x4 + 3x3 − x2 + x− 10.

Řešení.

A = max(2, 8, 3, 1, 1, 10) = 10

B = max(1, 2, 8, 3, 1, 1) = 8

Odtud59=

11 + 8

10

≤ |ξk| ≤ 1 +101= 11.

Některé další hranice pro kořeny polynomu jsou uvedeny v následující větě:

Věta 3.2. Pro všechny kořeny ξk, k = 0, 1, . . . , n, polynomu P ∈ Πn platí

|ξk| ≤ max

1,

n∑

j=1

∣∣∣∣

aj

a0

∣∣∣∣

|ξk| ≤ 2max∣∣∣∣

a1a0

∣∣∣∣,

√∣∣∣∣

a2a0

∣∣∣∣, 3

√∣∣∣∣

a3a0

∣∣∣∣, . . . , n

√∣∣∣∣

an

a0

∣∣∣∣

|ξk| ≤ max∣∣∣∣

an

a0

∣∣∣∣, 1 +

∣∣∣∣

an−1a0

∣∣∣∣, . . . , 1 +

∣∣∣∣

a1a0

∣∣∣∣

.

Důkaz lze najít např. v [5].

§ 3.2. Počet reálných kořenů polynomu

Zabývejme se nyní otázkou počtu reálných kořenů polynomu.

Page 81: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.2. Počet reálných kořenů polynomu 75

Úmluva. Nechť c1, . . . , cm je posloupnost reálných čísel různých od nuly.Řekneme, že pro dvojici ck, ck+1 nastává znaménková změna, jestliže

ckck+1 < 0.Řekneme, že dvojice ck, ck+1 zachovává znaménko, jestliže ckck+1 > 0.

Dále ukážeme, že počet reálných kořenů polynomu lze určit pomocí posloup-nosti polynomů klesajících stupňů. Vhodnou posloupností je tzv. Sturmova po-sloupnost:

Definice 3.1. Posloupnost reálných polynomů

P = P0, P1, . . . , Pm

se nazývá Sturmovou posloupností příslušnou polynomu P , jestliže

(a) Všechny reálné kořeny polynomu P0 jsou jednoduché.

(b) Je-li ξ reálný kořen polynomu P0, pak signP1(ξ) = −signP ′0(ξ).

(c) Pro i = 1, 2, . . . ,m− 1,

Pi+1(α)Pi−1(α) < 0,

jestliže α je reálný kořen polynomu Pi.

(d) Poslední polynom Pm nemá reálné kořeny.

Poznámka 1. Jestliže polynom P má násobné kořeny, pak dělením polynomu Pnejvětším společným dělitelem P a P ′ dostaneme polynom, který má tytéž kořeny,ale všechny jednoduché.

Uveďme nyní jednoduchý postup pro konstrukci Sturmovy posloupnosti pří-slušné polynomu P za předpokladu, že všechny reálné kořeny polynomu P jsoujednoduché.Položme

P0(x) = P (x), P1(x) = −P ′0(x) (3.3)

a sestrojme další polynomy Pi+1 rekurentně dělením polynomu Pi−1 polynomemPi:

Pi−1(x) = Qi(x)Pi(x) − ciPi+1(x), i = 1, 2, . . . , (3.4)

kdestupeňPi > stupeňPi+1

a konstanty ci jsou kladné, ale jinak libovolné. Lze říci, že Pi+1 je záporně vzatýzbytek při dělení Pi−1/Pi. Tato rekurze je známý Euklidův algoritmus. Protožestupně polynomů klesají, musí algoritmus končit po m ≤ n krocích:

Pm−1(x) = Qm(x)Pm(x), Pm(x) 6≡ 0.

Page 82: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

76 3. POLYNOMY

Poslední polynom Pm je největší společný dělitel polynomů P a P1 = −P ′. Jestliževšechny reálné kořeny polynomu P jsou jednoduché, pak P a P ′ nemají žádnéspolečné reálné kořeny. Tedy Pm nemá reálné kořeny.Jestliže Pi(α) = 0, tak z (3.4) plyne

Pi−1(α) = −ciPi+1(α).

Jestliže bychom předpokládali, že Pi+1(α) = 0, pak z (3.4) by plynulo Pi+1(α) =. . . = Pm(α) = 0, což by byl spor, neboť Pm(α) 6= 0. Odtud tedy plynePi−1(α)Pi+1(α) < 0, je-li Pi(α) = 0. Výše zkonstruovaná posloupnost zřejmětaké splňuje podmínku 2 z definice Sturmovy posloupnosti a je tedy Sturmovouposloupností příslušnou polynomu P .

Věta 3.3. (Sturm). Počet reálných kořenů polynomu P v intervalu a ≤ x <b je roven W (b) − W (a), kde W (x) je počet znaménkových změn ve Sturmověposloupnosti P0(x), . . . , Pm(x) v bodě x (z níž jsou vyškrtnuty nuly).

Důkaz. Nejdříve ukážeme, jaký vliv má malá změna hodnoty a na počet zna-ménkových změn W (a) v posloupnosti

P0(a), P1(a), . . . , Pm(a). (3.5)

Nechť nejdříve a není kořenem žádného z polynomů Pi, i = 0, . . . ,m. Pak samo-zřejmě malá změna čísla a nemá žádný vliv na počet znaménkových změn v po-sloupnosti (3.5).Nechť nyní a je kořenem některého z polynomů Pi, i = 0, 1, . . . ,m − 1. Před-

pokládejme nejdříve, že 1 ≤ i ≤ m− 1. Nechť polynom Pi mění znaménko v boděa. Pro dostatečně malé h > 0 zachycují chování polynomů Pi−1, Pi, Pi+1 v bodecha− h, a, a+ h následující tabulky.

a− h a a+ h

Pi−1 − − −Pi − 0 +

Pi+1 + + +

W (x) 1 1 1

a− h a a+ h

Pi−1 + + +

Pi − 0 +

Pi+1 − − −W (x) 1 1 1

a− h a a+ h

Pi−1 − − −Pi + 0 −Pi+1 + + +

W (x) 1 1 1

a− h a a+ h

Pi−1 + + +

Pi + 0 −Pi+1 − − −W (x) 1 1 1

Ve všech těchto případech W (a− h) =W (a) =W (a+ h), což znamená, že připřechodu přes bod a, který je kořenem některého z polynomů Pi, i = 1, . . . ,m− 1,

Page 83: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.2. Počet reálných kořenů polynomu 77

počet znaménkových změn ve Sturmově posloupnosti se nemění. Totéž platí i v pří-padě, že Pi nemění znaménko v bodě a.Nechť nyní a je kořenem polynomu P0. Znaménka polynomů P0, P1 v okolí

bodu a ukazují následující tabulky.

a− h a a+ h

P0 − 0 +

P1 − − −W (x) 0 0 1

a− h a a+ h

P0 + 0 −P1 + + +

W (x) 0 0 1

V obou případech W (a + h) −W (a − h) = 1. Odtud plyne: Je-li a kořenempolynomu P0, pak při přechodu přes bod a získáme jednu znaménkovou změnu.Pro a < b a dostatečně malé h > 0 číslo

W (b)−W (a) =W (b − h)−W (a− h)

udává počet kořenů polynomu P v intervalu a−h < x < b−h. Protože číslo h > 0je libovolně malé, udává tento rozdíl rovněž počet kořenů v intervalu a ≤ x < b. 2

Příklad 3.2. Určete počet reálných kořenů polynomu

P (x) = x3 − 3x+ 1.

Řešení. Sestrojíme Sturmovu posloupnost příslušnou polynomu P (x). Je

P0(x) = x3 − 3x+ 1, P ′0(x) = 3x

2 − 3,P1(x) = −x2 + 1.

Polynom P2 je záporně vzatý zbytek při dělení polynomu P0 polynomem P1, tj.P2(x) = 2x− 1 a dále P3(x) = −3/4.Sestavíme tabulku pro určení počtu reálných kořenů.

x P0(x) P1(x) P2(x) P3(x) W (x)

−∞ − − − − 0

+∞ + − + − 3

0 + + − − 1

−1 + 0 − − 1

−2 − − − − 0

1 − 0 + − 2

2 + − + − 3

Odtud plyne: W (∞)−W (−∞) = 3 ⇒ 3 reálné kořenyW (∞)−W (0) = 2 ⇒ 2 kladné kořenyW (−1)−W (−2) = 1 ⇒ 1 kořen v intervalu [−2,−1]W (1)−W (0) = 1 ⇒ 1 kořen v intervalu [0, 1]W (2)−W (1) = 1 ⇒ 1 kořen v intervalu [1, 2]

Page 84: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

78 3. POLYNOMY

I když z teoretického hlediska vypadá konstrukce Sturmovy posloupnosti velmijednoduše, mohou být konkrétní výpočty poněkud těžkopádné, neboť koeficientypolynomů Pi mohou být řádově dosti velké. Pro rychlý odhad počtu kladnýchkořenů daného polynomu je vhodná následující Descartesova věta.

Věta 3.4. (Descartes). Počet kladných kořenů polynomu P (počítáno s násob-ností) je roven počtu znaménkových změn v posloupnosti koeficientů a0, . . . , an

nebo o sudé číslo menší.Jsou-li všechny koeficienty a0, . . . , an různé od nuly, pak počet záporných ko-

řenů je roven počtu zachování znamének v této posloupnosti nebo o sudé číslomenší.

Důkaz viz [2].

Příklad 3.3. Odhadněte počet kladných a záporných kořenů polynomu

P (x) = x6 − 2x5 + 8x4 + 3x3 − x2 + x− 10

Posloupnost koeficientů: 1,−2, 8, 3,−1, 1,−10Počet kladných kořenů: 5 nebo 3 nebo 1Počet záporných kořenů: 1

§ 3.3. Newtonova metoda a její modifikace

Pro určení kořenů polynomu P lze použít kterékoliv z metod uvedených v předchozíkapitole. Pro polynomy jsou vhodné zejména metoda Newtonova a Müllerova.Připomeňme, že Newtonova metoda je tvaru

xk+1 = xk − P (xk)P ′(xk)

, k = 0, 1, . . .

Hodnoty P (xk), P ′(xk) lze snadno spočítat Hornerovým schematem.

Hornerovo schema.

Nechť α je reálné číslo. Vydělíme polynom P (x) lineárním polynomem x− α:

P (x) = (x− α)Q(x) + bn,

kdeQ(x) = b0xn−1 + . . .+ bn−1 .

Koeficienty bi, i = 0, . . . , n určíme z rekurentních vztahů:

b0 = a0

bk = ak + αbk−1, k = 1, . . . , n .

Pak je zřejmě P (α) = bn.

Page 85: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.3. Newtonova metoda a její modifikace 79

Poznámka 2. Nechť ξ1 je přibližný kořen polynomu P . Polynom P dělíme line-árním polynomem (x − ξ1), tj.

P (x) = (x− ξ1)Q(x) + bn.

Koeficienty b0,. . . ,bn−1 polynomu Q lze získat Hornerovým schématem. V případě,že ξ1 je přesný kořen polynomu P , je bn = P (ξ1) = 0. Je-li ξ1 aproximací kořeneξ1, je P (ξ1) = bn 6= 0.Hornerova schematu lze použít i pro výpočet hodnoty derivace polynomu P

v bodě α. Derivací vztahu P (x) = (x− α)Q(x) + bn dostaneme

P ′(x) = Q(x) + (x − α)Q′(x)

a tedy P ′(α) = Q(α).

Q(x) = (x− α)R(x) + cn−1R(x) = c0x

n−2 + . . . cn−2a Q(α) = cn−1.

Výpočet lze vhodně uspořádat do tabulky

a0 a1 a2 . . . an−1 an

α αb0 αb1 . . . αbn−2 αbn−1

b0 b1 b2 . . . bn−1 bn = P (α)

α αc0 αc1 . . . αcn−2

c0 c1 c2 . . . cn−1 = Q(α) = P ′(α)

Obdobným způsobem lze vypočítat hodnoty P (j)(α) pro libovolné j ≥ 1. Položme

Q(0)(x) = Q(x) = b(0)0 xn−1 + . . .+ b(0)n−1

takžeP (x) = (x− α)Q(0)(x) + b(0)n

DáleQ(0)(x) = (x− α)Q(1)(x) + b(1)n−1

proQ(1)(x) = b(1)0 xn−1 + . . .+ b(1)n−2,

a tedyP (x) = Q(1)(x)(x − α)2 + b(1)n−1(x− α) + b(0)n .

Dalším postupem bychom dostali vyjádření

P (x) = b(n)0 (x− α)n + b(n−1)1 (x − α)n−1 + . . .+ b(1)n−1(x− α) + b(0)n , (3.6)

kde koeficienty b(n−i)i , i = 0, . . . , n dostaneme postupným použitím Hornerova

schematu podle následující tabulky

Page 86: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

80 3. POLYNOMY

a0 a1 a2 . . . an−2 an−1 an

α αb(0)0 αb

(0)1 . . . αb

(0)n−3 αb

(0)n−2 αb

(0)n−1

b(0)0 b

(0)1 b

(0)2 . . . b

(0)n−2 b

(0)n−1 b

(0)n

α αb(1)0 αb

(1)1 . . . αb

(1)n−3 αb

(1)n−2

b(1)0 b

(1)1 b

(1)2 . . . b

(1)n−2 b

(1)n−1

α αb(2)0 αb

(2)1 . . . αb

(2)n−3

b(2)0 b

(2)1 b

(2)2 . . . b

(2)n−2

...

b(n−2)0 b

(n−2)1 b

(n−2)2

α αb(n−1)0

b(n−1)0 b

(n−1)1

α

b(n)0

Přitom je z (3.6) zřejmé, že P (j)(α) = j! b(j)n−j.

Jak víme z předchozí kapitoly, pro konvergenci Newtonovy metody je třeba znátdostatečně dobrou počáteční aproximaci. Avšak neexistuje žádné pravidlo, které byzaručovalo dobrou počáteční aproximaci pro libovolný polynom. Na druhé stranětakové pravidlo platí pro speciální případ, kdy všechny kořeny ξi, i = 1, . . . , n jsoureálné a platí

ξ1 ≥ ξ2 ≥ . . . ≥ ξn.

Toto pravidlo je v podstatě obdobou věty 2.10 a zní takto:

Věta 3.5. Nechť P ∈ Πn je polynom stupně n ≥ 2. Nechť všechny kořeny ξi,

ξ1 ≥ ξ2 ≥ . . . ≥ ξn,

jsou reálné. Pak posloupnostxk∞

k=0určená Newtonovou metodou je konvergentní

klesající posloupnost pro každou počáteční aproximaci x0 > ξ1, ξ1 = limk→∞

xk.

Důkaz. Bez újmy na obecnosti lze předpokládat, že P (x0) > 0. Protože P neměníznaménko pro x > ξ1, máme

P (x) > 0 pro x > ξ1

a tedy a0 > 0. Derivace P ′ má n− 1 reálných kořenů αi s vlastností (v důsledkuRolleovy věty):

ξ1 ≥ α1 ≥ ξ2 ≥ α2 ≥ . . . ≥ αn−1 ≥ ξn.

Protože P ′ je polynom stupně nejvýše n−1, jsou toto všechny jeho kořeny a P ′(x) >0 pro x > α1, neboť a0 > 0. Opětovnou aplikací Rolleovy věty dostaneme

P ′′(x) > 0 pro x > α1 (n ≥ 2),P ′′′(x) ≥ 0 pro x ≥ α1.

Page 87: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.3. Newtonova metoda a její modifikace 81

Tedy P a P ′ jsou konvexní funkce pro x ≥ α1. Nyní na intervalu [α1, x0] lzeaplikovat větu (2.9). Znaménko polynomu P v bodě x0 je stejné jako znaménkoP ′′ na intervalu [α1, x0] a tedy pro počáteční aproximaci x0 > ξ1 posloupnostxk∞

k=0určená Newtonovou metodou konverguje monotonně ke kořenu ξ1. 2

Poznámka 3. Pro volbu počáteční aproximace lze užít odhadů uvedených vevětách 3.1, 3.2.

Newtonova metoda konverguje kvadraticky, ale tato konvergence nemusí vždyznamenat rychlou konvergenci. Jestliže počáteční aproximace x0 leží daleko odkořene, pak posloupnost

xk∞

k=0určená Newtonovou metodou může konvergovat

pomalu, neboť pro xk velké

xk+1 = xk − (xk)n + . . .n(xk)n−1 + . . .

≈ xk

(

1− 1n

)

,

odkud je vidět, že je malý rozdíl mezi xk, xk+1. Z tohoto důvodu se budemezabývat následující zdvojenou metodou.

xk+1 = xk − 2 P (xk)

P ′(xk), k = 0, 1, 2, . . . (3.7)

místo přímé Newtonovy metody.

Věta 3.6. Nechť P ∈ Πn, n ≥ 2, a nechť všechny kořeny ξi, i = 1, . . . , n polynomuP jsou reálné a ξ1 ≥ ξ2 ≥ . . . ≥ ξn. Nechť α1 je největší kořen P ′:

ξ1 ≥ α1 ≥ ξ2.

Pro n = 2 předpokládejme ξ1 > ξ2. Pak pro každé z > ξ1 jsou čísla

z′ = z − P (z)P ′(z)

, y = z − 2 P (z)P ′(z)

, y′ = y − P (y)P ′(y)

(3.8)

definována a platí

α1 < y,

ξ1 ≤ y′ ≤ z′.(3.9)

Důkaz lze najít v [5].

Obrázek 3.1 ilustruje geometrický význam této metody.Metoda (3.7) není z geometrického hlediska založena na průsečíku tečny s osou

x, ale na průsečíku sečny, která má směrnici P ′(x)/2, s osou x. To znamená, žepři použití této metody můžeme „přestřelitÿ bod ξ1, tj. pro bod y ve vztahu (3.8)může platit y < ξ1. Ale z věty 3.6 plyne, že tento bod splňuje rovněž nerovnost(3.9) a použitím klasické Newtonovy metody dostaneme bod y′, který je lepšíaproximací ξ1 než bod z′.Praktický význam věty 3.6 je následující:

Page 88: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

82 3. POLYNOMY

1.8 2 2.2 2.4 2.6 2.8 3−2

0

2

4

6

8

10

12

14

x0x1

x2x3

Obr. 3.1: Zdvojená Newtonova metoda, P (x) = x3 + x2 − 10x+ 8, x0 = 3

Začneme s počáteční aproximací x0 > ξ1. Pro posloupnostxk∞

k=0generova-

nou zdvojenou metodou

xk+1 = xk − 2 P (xk)

P ′(xk), k = 0, 1, . . .

mohou nastat dva případy:

(a) P (x0)P (xk) > 0 pro všechna k. V tomto případě

x0 > x1 > . . . > xk > . . . ≥ ξ1, limk→∞

xk = ξ1

a konvergence je rychlejší než konvergence přímé Newtonovy metody.

(b) Existuje xk0 tak, že P (xk0)P (x0) < 0, P (xk)P (x0) > 0 pro 0 ≤ k < k0.V tomto případě tedy došlo k „přestřeleníÿ bodu ξ1 a platí

x0 > x1 > . . . > xk0−1 > ξ1 > y = xk0 > α1 > ξ2.

Položme y0 = xk0 a pokračujme dále klasickou Newtonovou metodou s toutopočáteční aproximací:

yk+1 = yk − P (yk)P ′(yk)

, k = 0, 1, 2, . . .

Dostaneme opět monotonní posloupnost

y1 > y2 > . . . > yk > . . . ≥ ξ1, limk→∞

yk = ξ1.

Page 89: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.3. Newtonova metoda a její modifikace 83

Příklad 3.4. Ukážeme si rozdíl mezi rychlostí konvergence přímé a zdvojené New-

tonovy metody. Položme P (x) =8∏

i=1

(x − i), tedy ξ1 = 8, ξ2 = 7,. . . ,ξ8 = 1.

Počáteční aproximaci zvolme x0 = 20. Jednotlivé iterace dává následující tabulka:

Newtonova metoda zdvojená Newtonovametoda

x0 20,0 20,0

x1 18,105567 16,211133

x2 16,454192 13,398883

x3 15,016438 11,329903

x4 13,766710 9,834383

x5 12,682811 8,794966

x6 11,745573 8,148323

x7 10,938548 7,929357

x8 10,247782 8,016696

x9 9,661673 8,000686

x10 9,170955 8,000001

U zdvojené Newtonovy metody došlo k „přestřeleníÿ kořene ξ1 u aproximace x7,pro následující iterace už je použita přímá Newtonova metoda.

Výše uvedeným postupem nalezneme aproximaci ξ1 největšího kořene ξ1 poly-nomu P . Pro určení dalších kořenů se nabízí jednoduchá myšlenka: známe aproxi-maci ξ1, vydělíme polynom P dvojčlenem (x− ξ1) a výsledný polynom

P1(x) =P (x)

x− ξ1

je polynom stupně n− 1 s největším kořenem ξ2. Tato metoda se nazývá metodasnižování stupně . Takto bychom mohli teoreticky najít všechny kořeny polynomuP . Ale praktická realizace tohoto procesu není bez problémů. Kořen ξ1 je známpřibližně a vzhledem k zaokrouhlovacím chybám nelze přesně určit polynom P1 (vizpoznámka 2). Polynom, který získáme uvedeným dělením bude mít tedy kořenyodlišné od ξ2, . . . , ξn. Při dalším opakování tohoto postupu mohou být posledníkořeny polynomu P určeny zcela nepřesně. Z těchto důvodů byly navrženy různémodifikace metody snižování stupně ([5]).Metodu, která se vyhýbá přímému snižování stupně, navrhl v roce 1954 Ma-

ehly ([5]). Základní myšlenka této metody spočívá ve vhodném vyjádření derivacepolynomu nižšího stupně:

P ′1(x) =

P ′(x)

x− ξ1− P (x)

(x− ξ1)2, (3.10)

Page 90: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

84 3. POLYNOMY

Dosazením tohoto vyjádření do vzorce pro Newtonovu metodu pro polynom P1dostaneme:

xk+1 = xk − P1(xk)P ′1(xk)

= xk − P (xk)

P ′(xk)− P (xk)

xk − ξ1

(3.11)

Obecně, jestliže jsme již nalezli aproximace kořenů ξ1, . . . , ξj , postupujeme ob-dobně a sestrojíme polynom

Pj(x) =P (x)

(x− ξ1) . . . (x− ξj),

P ′j(x) =

P ′(x)

(x− ξ1) . . . (x− ξj)− P (x)

(x − ξ1) . . . (x− ξj)

j∑

i=1

1

x− ξi

Newtonova metoda pro nalezení kořene ξj+1 je tvaru

xk+1 = Φj(xk), Φj(x) = x− P (x)

P ′(x) −j∑

i=1

P (x)

x− ξi

. (3.12)

Přednost této metody spočívá ve skutečnosti, že posloupnost xk generovanámetodou (3.12) konverguje kvadraticky ke kořenu ξj+1 i v případě, že ξ1, . . . , ξjnejsou kořeny P (konvergence je pouze lokální v tomto případě). Tedy výpočetξj+1 není citlivý na chyby při výpočtu předchozích kořenů. Můžeme také vhodněaplikovat zdvojenou Newtonovu metodu.

Příklad 3.5. Užitím zdvojené Newtonovy–Maehlyovy metody nalezněte kořenypolynomu P (x) = x3 + x2 − 10x+ 8.Řešení. Nechť x0 = 3, tj. počáteční aproximace kořene ξ1 je ξ01 = 3.

Aproximace kořene ξ1: ξ11 = 1,782608695652ξ21 = 2,10014059474224ξ31 = 2,00971540717739ξ41 = 2,0001079735567ξ51 = 2,00000001359833

Hned první aproximace ξ11 „přestřelilaÿ hledaný kořen ξ1 = 2, tj. ξ01 > ξ1, ξ11 < ξ1,

pro výpočet dalších aproximací je tedy použita klasická Newtonova metoda.Dále, položme ξ02 = 1,9 (což je počáteční aproximace pro kořen ξ2).

Je ξ12 = 0,33823529411765ξ22 = 1,11911764705882ξ32 = 1,00270873930706ξ42 = 1,00000146586547ξ52 = 1,00000000000043

Page 91: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.3. Newtonova metoda a její modifikace 85

Opět první aproximace ξ11 je menší než hledaný kořen ξ2 = 1, takže pro výpočetdalších aproximací použijeme klasickou Newtonovu metodu.Za počáteční aproximace kořene ξ3 zvolíme ξ03 = 0,9. Další aproximace jsou

ξ13 = −8,899999999935ξ23 = −4,000000000 . . .ξ23 = ξ33 = ξ

43

Pro srovnání: přesné kořeny jsou ξ1 = 2, ξ2 = 1, ξ3 = −4. Tvar polynomu za-chycuje obrázek 5. Pro srovnání uveďme výsledky, které bychom dostali metodou

−5 −4 −3 −2 −1 0 1 2 3−30

−20

−10

0

10

20

30

Obr. 3.2: Průběh polynomu P (x) = x3 + x2 − 10x+ 8.

snižování stupně. Výpočet ξ1 by samozřejmě probíhal stejným způsobem. Pokudξ51 = 2,00000001359833 považujeme za dostatečně přesnou aproximaci ξ1, dosta-neme polynom P1(x) = P (x)/(x − ξ51) ve tvaru

P1(x) = x2 + 3.00000001359833 x− 3.99999993200835

a následným použitím zdvojené Newtonovy metody vyjde ξ52 = 0.99999998368243.Dalším snížením stupně polynomu dostaneme P2(x) = x+3.99999999728076, takženelze dostat přesnější aproximaci kořene ξ3 než hodnotu −3.99999999728076.

Význam Maehlyovy metody se projevuje zejména u polynomů vyšších stupňů,jak dokládá následující příklad.

Příklad 3.6. Položme P (x) =15∏

i=1

(x−i). V uvedené tabulce vidíme rozdíl mezi me-todou snižování stupně a Maehlyovou metodou. V tabulce nejsou uvedeny všechnyvýsledky, jen aproximace nejmenších kořenů, kde je chyba největší.

Page 92: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

86 3. POLYNOMY

snižování řádu Maehlyova metoda

ξ1 15,0000037 15,0000037...

ξ13 2,92420696801 2,999999999978

ξ14 2,01522846251 2,000000000007

ξ15 0,99878713149 1,000000000000

§ 3.4. Bairstowova metoda

Doposud jsme se zabývali výpočtem reálných kořenů polynomu. Pokud jde o vý-počet komplexních kořenů, lze užít některých z předcházejících metod, např. New-tonovy metody s komplexní počáteční aproximací, nebo některých speciálních me-tod: Lehmerovy-Schurovy metody, Graeffovy metody, Bernoulliovy metody neboBairstowovy metody. Pojednáme zde podrobněji o Bairstowově metodě. Ostatnízmíněné metody jsou uvedeny např. v [19].Podstatou Bairstowovy metody je myšlenka nalezení kvadratického trojčlenu,

který je dělitelem daného polynomu:Nechť

P (x) = a0xn + a1xn−1 + . . .+ an.

Označme z, z, z = u+iv, dvojici komplexně sdružených kořenů polynomu P . Číslaz, z lze považovat za kořeny kvadratického trojčlenu D(x) = x2+px+q, p = −2u,q = u2+ v2. Naším úkolem je najít čísla p, q tak, aby polynom D dělil polynom Pbeze zbytku. Budeme-li znát čísla p, q, pak snadno určíme komplexní kořeny z, zpolynomu P . Tuto myšlenku lze formálně zapsat takto:

P (x) = D(x)Q(x) +Ax+B, (3.13)

kde

D(x) = x2 + px+ q,

Q(x) = Q(x, p, q) je polynom stupně n− 2,A = A(p, q),

B = B(p, q).

Je třeba určit p, q tak, aby

A(p, q) = 0, B(p, q) = 0. (3.14)

Systém (3.14) je systém nelineárních rovnic a budeme ho řešit Newtonovou meto-dou pro systémy nelineárních rovnic (2.47).

Page 93: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.4. Bairstowova metoda 87

Považujeme-li kvadratický trojčlen D(x) = x2 + px+ q za aproximaci dělitele,dostaneme další aproximaci D1(x) = x2+p1x+ q1, p1 = p+h, q1 = q+k, řešenímsoustavy

∂A

∂p

∂A

∂q

∂B

∂p

∂B

∂q

(

h

k

)

= −(

A(p, q)

B(p, q)

)

neboli, označíme-li∂A

∂p= A′

p,∂A

∂q= A′

q,∂B

∂p= B′

p,∂B

∂q= B′

q,

A(p, q) +A′p(p, q)h+A

′q(p, q)k = 0,

B(p, q) +B′p(p, q)h+B

′q(p, q)k = 0.

(3.15)

Veličiny A(p, q), B(p, q) lze získat zobecněným Hornerovým schematem (viz strana88) při dělení polynomu P trojčlenem D. Derivujeme vztah (3.13) podle p a q:

0 = xQ(x) + Q′p(x)D(x) +A

′px+B

′p

0 = Q(x) + Q′q(x)D(x) +A

′qx+B

′q

Odtud(a) xQ(x) = −Q′

p(x)D(x) −A′px−B′

p,

(b) Q(x) = −Q′q(x)D(x) −A′

qx−B′q.

(3.16)

Je zřejmé, že −A′p, −B′

p resp. −A′q, −B′

q jsou koeficienty lineárních zbytků přidělení polynomu xQ(x) polynomem D(x), resp. Q(x) polynomem D(x). Položme

a = −A′q, b = −B′

q.

Tato čísla lze opět získat zobecněným Hornerovým algoritmem pro dělení poly-nomů Q(x)/D(x). Vypočteme nyní A′

p, B′p.

Vynásobme (3.16b) číslem x:

xQ(x) = −xQ′q(x)D(x) + ax

2 + bx

a po úpravě můžeme tento vztah zapsat ve tvaru

xQ(x) = a(x2 + px+ q) + bx− xQ′q(x)D(x) − apx− q,

a tedyxQ(x) =

(a− xQ′

q(x))D(x) + (b − ap)x− aq. (3.17)

Porovnáním (3.17) a (3.16a) dostaneme

A′p = ap− b, B′

p = aq.

Page 94: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

88 3. POLYNOMY

Soustavu (3.15) můžeme nyní zapsat takto:

(ap− b)h− ak +A = 0,

aqh− bk +B = 0.(3.18)

Vyřešením této soustavy získáme čísla h, k a kvadratický trojčlen D1(x) = x2 +(p + h)x + q + k, jehož kořeny jsou aproximací kořenů z, z polynomu P . Postupopakujeme. Jako kriterium pro zastavení výpočtu lze zvolit: |h| < ε|p|, |k| < ε|q|,ε > 0 zadaná přesnost. Na závěr této kapitoly uvedeme zobecněné Hornerovoschéma pro výpočet hodnot A, B, a, b.

Zobecněné Hornerovo schema.Je dán polynom P (x) = a0x

n + . . . + an a aproximace kvadratického trojčlenuD(x) = x2 + px + q. Hodnoty A, B, a, b vypočítáme zobecněným Hornerovýmschematem. Výpočet lze uspořádat do tabulky:

a0 a1 a2 . . . an−3 an−2 an−1 an

−p −pb0 −pb1 . . . −pbn−4 −pbn−3 −pbn−2−q −qb0 . . . −qbn−5 −qbn−4 −qbn−3 −qbn−2

b0 b1 b2 . . . bn−3 bn−2 A B

−p −pc0 −pc1 . . . −pcn−4−q −qc0 . . . −qcn−5 −qcn−4

c0 c1 c2 a b

Zde Q(x) = b0xn−2 + . . .+ bn−2,

bj = aj − pbj−1 − qbj−2, j = 2, . . . , n− 2b0 = a0

b1 = a1 − pb0

A = an−1 − pbn−2 − qbn−3

B = an − qbn−2

DáleQ(x) = D(x)R(x) + ax+ b,

kde R(x) = c0xn−4 + . . .+ cn−4. Koeficienty cj , a, b jsou určeny obdobným způso-bem jako koeficienty bj , A,B, a to:

a = −pcn−4 − qcn−5 + bn−3, b = −qcn−4 + bn−2,

cj = bj − pcj−1 − qcj−2, j = 2, . . . , n− 4 .Příklad 3.7. Užitím Bairstowovy metody nalezněte dvojici komplexně sdruženýchkořenů polynomu

P (x) = x4 − 3x2 + 4x− 1.

Page 95: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 3.4. Bairstowova metoda 89

Řešení. Ze Sturmovy věty plyne, že polynom má 2 reálné a 2 komplexně sdruženékořeny.Za počáteční aproximaci kvadratického trojčlenu zvolme D0(x) = x2 + x + 1,

tj. p = 1, q = 1.Aplikujme nyní zobecněné Hornerovo schema:

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

−1 −1 1 3

1 −1 −3 8 2

−1 −1−1 −1

1 −2 −4

Odtud plyne, že A = 8, B = 2, a = −2, b = −4. Odpovídající systém rovnic (3.18)je tvaru

2h+ 2k + 8 = 0

−2h+ 4k + 2 = 0.

Odtud h = −7/3, k = −5/3 a tedy nový kvadratický trojčlen je tvaru

D1(x) = x2 +(1− 7

3

)x+

(1− 5

3

)= x2 − 4

3x− 23 .

Nyní výpočet opakujeme s tímto kvadratickým trojčlenem. Koeficienty kvadratic-kých trojčlenů jsou uvedeny v následující tabulce.

pk qk

k = 0 1 1

k = 1 −4/3 −2/3k = 2 −2,283000949 2,1946816134

k = 3 −2,03645296288 1,53678222972...

k = 8 −1,90640113643838 1,3662797903433

k = 9 −1,90640113643838 1,3662797903433

Aproximace 8, 9 ukazují, že výpočet je stabilizován, neboť absolutní hodnota roz-dílu dvou po sobě jdoucích aproximací je zanedbatelná. Za aproximaci dvojčlenulze vzít

D(x) ≈ x2 − 1,90640113643838x+ 1,3662797903433.Kořeny tohoto dvojčlenu jsou

ξ1,2 = 0,95320056821919± 0,67652677240516i.

Page 96: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

90 3. POLYNOMY

Cvičení ke kapitole 3

1. Pomocí Hornerova schematu vypočtěte hodnotu P (α), P ′(α) a P ′′(α) propolynom P (x) = 2x5 − x4 + 3x2 + x− 5 a α = 2.

2. Užitím zobecněného Hornerova algoritmu vypočtěte hodnotu polynomu z pří-kladu 1 v bodě z = 1 + i.(Řešení: P (1 + i) = −8− i.)

3. Je dána rovnice 3x3−x−1 = 0. Určete interval, ve kterém leží kladný kořentéto rovnice.

4. Užitím Sturmovy věty určete počet reálných kořenů polynomů

a) P (x) = x4 − 4x+ 1 (2 reálné kořeny: ξ1 ∈ [0, 1], ξ2 ∈ [1, 2]),b) P (x) = x3 + 3x2 − 1 (3 reálné kořeny: ξ1 ∈ [0, 1], ξ2 ∈ [−1, 0], ξ3 ∈[−3,−2]).

5. Sestrojte Sturmovu posloupnost pro polynom

P (x) = x3 + 3x2 − 1

a určete počet reálných kořenů tohoto polynomu. Ukažte, že všechny reálnékořeny leží v intervalu [−3, 1] a najděte intervaly, ve kterých leží vždy právějeden kořen.

6. Pomocí Sturmovy věty určete počet reálných kořenů polynomu P (x) = x4−x2 + 3.

7. Užitím zdvojené Newtonovy-Maehlyovy metody nalezněte kořeny polynomuP (x) = x3 + 3x2 − 1.(Řešení: ξ1 = 0,532089, ξ2 = −0,652706, ξ3 = −2,87938.)

8. Určete reálné a komplexní kořeny polynomu

P (x) = x4 + 2x2 − x− 3.

(Řešení: ξ1 = 1,2412, ξ2 = −0,876053, ξ3,4 = −0,124035± 1,74096i.)

9. Užitím Bairstowovy metody nalezněte komplexní kořeny polynomu

P (x) = x4 + 4x2 − 3x− 1.

(Řešení: ξ1,2 = −0,3111± 2,1231i.)

Page 97: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kontrolní otázky ke kapitole 3 91

Kontrolní otázky ke kapitole 3

1. Platí věta 3.1 i pro polynomy s komplexními koeficienty?

2. Bylo by možné použít zdvojenou Newtonovu metodu v případě n = 2 aξ1 = ξ2 (viz předpoklady věty 3.6)?

3. Co by se mohlo stát, pokud by při použití zdvojené Newtonovy metody nebylsplněn předpoklad, že všechny kořeny jsou reálné?

4. Lze použít Maehlyovu metodu pro polynom s vícenásobnými kořeny?

5. Jak se dá použít princip Maehlyovy metody v případě, že polynom má kom-plexní kořeny?

Page 98: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

92 3. POLYNOMY

Page 99: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 4

Přímé metody řešenísystémů lineárních rovnic

Nyní se budeme zabývat metodami pro řešení systému lineárních rovnic

Ax = b, A =

a11 · · · a1n...

...

an1 · · · ann

, b =

x1...

xn

. (4.1)

Předpokládáme, že A je reálná čtvercová matice řádu n (A ∈ Mn), b je reálnývektor. Je-li matice A regulární, má systém (4.1) jediné řešení x∗:

x∗ = A−1b (4.2)

V této kapitole se budeme zabývat přímými metodami řešení systému (4.1), tj.metodami, jejichž aplikací získáme přesné řešení x∗ po konečném počtu kroků zapředpokladu, že všechny aritmetické operace provádíme přesně a vstupní údajejsou dány přesně. Při vyšetřování těchto metod se budeme také zabývat otázkou,kolik aritmetických operací je třeba pro realizaci výpočtu užitím dané metody.Jelikož výpočty provádíme v důsledku zápisů čísel v počítači pouze s přibližnýmičísly a zaokrouhlujeme během výpočtu, budeme věnovat také pozornost přesnostinalezeného řešení užitím dané metody — to jsou tzv. a priori odhady.

§ 4.1. Systémy lineárních rovnic

Připomeňme nyní základní poznatky z lineární algebry.

Matici tvaru

(A | b) =

a11 · · · a1n b1

a21 · · · a2n b2...

......

an1 · · · ann bn

(4.3)

Page 100: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

94 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

nazýváme rozšířenou maticí systému (4.1).

Definice 4.1. Systém (4.1) se nazývá řešitelný (resp. neřešitelný), jestliže existujealespoň jedno (resp. neexistuje žádné) řešení.

Věta 4.1. (Frobenius). Systém lineárních rovnic (4.1) je řešitelný právě tehdy,když hodnost matice A je rovna hodnosti rozšířené matice systému (A | b).

Definice 4.2. Matice R ∈ Mn, R = (rij), se nazývá horní trojúhelníková matice,jestliže rij = 0 pro i > j.Matice R ∈ Mn, R = (rij), se nazývá dolní trojúhelníková matice, jestliže

rij = 0 pro i < j.

Definice 4.3. Matice A ∈ Mn se nazývá pásová, jestliže existují přirozená číslap, q, 1 < p, q < n taková, že aij = 0, jestliže i+ p ≤ j nebo j + q ≤ i. Šířka pásuw = p+ q − 1.Poznámka 1. Pro p = q = 2 se pásová matice nazývá třídiagonální a je tvaru

A =

a11 a12 0 · · · · · · 0

a21 a22 a23...

0 a32 a33...

.... . . 0

... an−1,n−1 an−1,n0 · · · · · · 0 an,n−1 ann

.

Definice 4.4. Matice A ∈ Mn se nazývá ryze řádkově diagonálně dominantní,jestliže

|aii| >n∑

j=1j 6=i

|aij |, i = 1, . . . , n. (4.4)

Věta 4.2. Jestliže A ∈ Mn je ryze řádkově diagonálně dominantní, je regulární.

Důkaz. Předpokládejme, že A není regulární. Pak systém Ax = o má netriviálnířešení x = (x1, . . . , xn)T . Nechť |xk| = max

1≤i ≤n|xi|. Podle předpokladu je xk 6= 0.

Nyní, i-tá rovnice systému Ax = o je tvaru

n∑

j=1

aijxj = 0

a k-tá rovnice může být zapsána ve tvaru

akkxk +n∑

j=1j 6=k

akjxj = 0,

Page 101: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 95

tj.

akk = −n∑

j=1j 6=k

akjxj

xk.

Přechodem k absolutním hodnotám dostaneme

|akk| ≤n∑

j=1j 6=k

|akj ||xj ||xk|

≤n∑

j=1j 6=k

|akj |,

což je spor s předpokladem (4.4). Matice A musí tedy být regulární. 2

Definice 4.5. Symetrická matice A ∈ Mn se nazývá pozitivně definitní, jestližexTAx > 0 pro každý nenulový vektor x ∈ Rn.

Věta 4.3. Pozitivně definitní matice je regulární.

Důkaz. Předpokládejme, že A je singulární, tzn. že systém Ax = o má netriviálnířešení x′ 6= o, Ax′ = o. Pro tento vektor x′ platí x′TAx′ = 0, což je spor s pozitivnídefinitností matice A a tedy A je regulární. 2

Většina výpočetních algoritmů numerické lineární algebry má společnou zá-kladní strukturu, kterou lze popsat takto:

1. Daný problém se převede na „redukovanýÿ problém.

2. Řeší se tento redukovaný problém při využití jeho speciální struktury.

3. Řešení původního problému se zpětně získá z řešení redukovaného problému.

Úmluva. V celé této kapitole budeme předpokládat, že A ∈ Mn. Tuto skutečnostnebudeme zdůrazňovat, pokud nemůže dojít k nedorozumění.

§ 4.2. Gaussova eliminační metoda

Nejznámější přímou metodou pro řešení systému lineárních rovnic je Gaussova eli-minační metoda „GEMÿ, kterou lze rovněž zahrnout do výše uvedené třídy algo-ritmů. Hlavní myšlenka této metody spočívá v převedení daného systému Ax = b

vhodnými ekvivalentními úpravami na systém Rx = c s horní trojúhelníkovoumaticí R, tj. problém se převede na redukovaný problém. Této etapě říkáme přímýchod . Tento systém má stejné řešení jako původní systém Ax = b a jeho řešenílze snadno získat zpětnou substitucí (za předpokladu rii 6= 0, i = 1, . . . , n):

xi =

ci −n∑

k=i+1

rikxk

rii, i = n, n− 1, . . . , 1. (4.5)

Jelikož systém Rx = c řešíme od poslední rovnice, říká se této etapě zpětný chod .

Page 102: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

96 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

V prvém kroku algoritmu se vhodný násobek první rovnice odečítá od zbývají-cích n−1 rovnic tak, aby koeficienty u x1 ve zbývajících rovnicích byly rovny nule;tedy x1 zůstává pouze v první rovnici. Tento postup je možný pouze za předpo-kladu, že a11 6= 0. Splnění tohoto předpokladu lze dosáhnout vhodnou výměnourovnic, tj. nalezením alespoň jednoho prvku ai1 6= 0.Uvedený postup lze vhodně zapsat pomocí maticových operací aplikovaných

na matici

(A | b) =

a11 · · · a1n b1a21 · · · a2n b2...

......

an1 · · · ann bn

.

První krok GEM vede na matici(A′ | b′) tvaru

(A′ | b′

)=

a′11 a′12 · · · a′1n b′10 a′22 · · · a′2n b′2...

......

...0 a′n2 · · · a′nn b′n

a tento krok můžeme formálně popsat takto:

(a) Urči prvek ar1 6= 0, r = 1, 2, . . . , n, a pokračuj krokem (b);jestliže žádné takové r neexistuje, nelze pokračovat.

(b) Vyměň první a r-tý řádek matice (A | b). Výsledkem jematice (A | b).

(c) Pro i = 2, 3, . . . , n, odečti násobek

li1 =ai1

a11

prvního řádku od i-tého řádku matice (A | b). Výsledkemje matice (A′ | b′).

(4.6)

Čísla li1 se nazývají multiplikátory. Prvek ar1 se nazývá hlavním prvkem nebotaké pivotem.

Zapišme tento postup užitím maticového násobení:

(A | b) = P1(A | b), (A′ | b′) = G1(A, b) = G1P1 (A, b) , (4.7)

Page 103: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 97

kde P1 je permutační matice a G1 je dolní trojúhelníková matice (P1, G1 ∈ Mn):

P1 =

0 · · · 1... 1

.... . .

1 · · · 0 · · ·1. . .

1

, G1 =

1 · · · · · · 0−l21 1...

. . ....

−ln1 0 · · · 1

.

Při násobení permutační maticí P1 se vymění první a r-tý řádek matice A. Prvkypermutační matice P1 jsou dány vztahy pii = 1, i 6= 1, r, p1r = 1, pr1 = 1, p11 = 0,prr = 0, pij = 0 pro ostatní i, j.

Matice G1 se nazývá Frobeniova matice. Matice P1, G1 jsou regulární a platí

P−11 = P1, G−1

1 =

1 0

l21. . .

.... . .

ln1 0 1

.

Je zřejmé, že systémy Ax = b, A′x = b′ mají stejné řešení. Je totiž:

Ax∗ = b ⇒ G1P1Ax∗ = A′x∗ = b′ = G1P1b

a

A′x = b′ ⇒ P−11 G−1

1 A′x = Ax = b = P−11 G−1

1 b′ ⇒ x = x∗.

Po prvním eliminačním kroku je výsledná matice(A′ | b′

)tvaru

(A′ | b′) =(a′11 a′T b′10 A b

)

,

kde A je čtvercová matice řádu n − 1. Nyní aplikujeme výše uvedený algoritmus(4.6) na systém (A | b) a postup pak opět opakujeme. Označíme-li (A(1) | b(1)) =(A | b), (A′ | b′) = (A(2) | b(2)) atd., lze uvedenou proceduru zapsat takto:

(A | b) = (A(1) | b(1))→ (A(2) | b(2))→ . . .→ (A(n) | b(n)) = (R | c), (4.8)

kde R je požadovaná horní trojúhelníková matice. Matice (A(k) | b(k)) v této

Page 104: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

98 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

posloupnosti je tvaru

(A(k) | b(k)) =

× · · · · · · × × · · · · · · × ×0 × · · · × × · · · · · · × ×...

. . .......

......

0 · · · · · · × × · · · · · · × ×0 · · · · · · 0 × · · · · · · × ×...

......

......

.........

......

0 · · · · · · 0 × · · · · · · × ×

=

=

(

A(k)11 A

(k)12 b

(k)1

O A(k)22 b

(k)2

)

. (4.9)

Matice A(k)11 je horní trojúhelníková matice řádu (k − 1), (k ≥ 2). Přechod (A(k) |b(k))→ (A(k+1) | b(k+1)) spočívá v aplikaci algoritmu (4.6) na matici (A(k)22 | b

(k)2 ),

což je matice typu (n− k+1)× (n− k+2). Prvky matic A(k)11 , A(k)12 a vektoru b

(k)1

se při této transformaci nemění. Stejně jako v prvním kroku lze tuto transformacivyjádřit maticově

(A(k) | b(k)) = GkPk(A(k−1) | b(k−1)) (4.10)

(R, c) = Gn−1Pn−1 . . . G1P1(A | b) (4.11)

s odpovídajícími permutačními maticemi Pk a Frobeniovými maticemi Gk tvaru

Gk =

1 · · · 0. . .

... 1

−lk+1,k. . .

.... . .

0 −ln,k 1

.

Zde opět čísla lik, i = k + 1, . . . , n se nazývají multiplikátory.

GEM rovněž dává velmi důležitý výsledek:

Věta 4.4. Jestliže GEM lze provést bez výměny řádků, pak matici A lze rozložitna součin dolní a horní trojúhelníkové matice

A = LR, (4.12)

kde matice R = (rij), L = (lij) jsou definovány takto:

rij =

a(i)ij , i = 1, . . . , j0, i = j + 1, j + 2, . . . , n

(4.13)

Page 105: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 99

a

lij =

0, i = 1, 2, . . . , j − 1, j ≥ 21, i = j, j = 1, . . . , na(j)ij /a

(j)ii , i = j + 1, . . . , n,

(4.14)

lij jsou příslušné multiplikátory dané algoritmem (4.6).

Důkaz. Jestliže neměníme pořadí řádků, je P1 = P2 = . . . = Pn−1 = E. Nyníz (4.10) a (4.11) plyne, že

R = Gn−1 . . . G1A,

a tedyG−11 G−1

2 . . .G−1n−1R = A. (4.15)

Dále

G−1j =

1 · · · 0. . .

... 1

lj+1,j. . .

.... . .

0 lnj 1

.

Odtud je zřejmé, že

G−11 . . . G−1

n−1 =

1 · · · · · · 0

l21. . .

......

. . ....

ln1 · · · ln,n−1 1

.

Z algoritmu (4.6) plyne, že prvky matice R jsou dány vztahy (4.13). Položíme-linyní L = G−1

1 . . . G−1n−1, plyne ze (4.15) tvrzení věty. 2

Poznámka 2. Jestliže GEM nelze provést bez výměny řádků, definuje tento al-goritmus rozklad matice PA:

PA = LR, (4.16)

kde P = Pn−1Pn−2 . . . P1.Při praktickém výpočtu ovšem nevíme předem, které řádky budeme muset

vyměnit, takže není možné určit součin PA a pak provést rozklad. Rozklad jeovšem možné provést pomocí následující úvahy:Nechť například je třeba při výpočtu vyměnit k-tý a j-tý řádek, k < j. Pokudbychom to věděli předem a provedli výměnu před začátkem vlastní GEM, pakv matici A(j), by byly oproti současnému stavu vyměněny celé řádky k-tý a j-tý,v matici obsahující mezivýsledek pro výpočet L by byly vyměněny jen spočítanéčásti obou řádků, tedy sloupce 1, . . . , k−1. Můžeme tedy provést příslušné výměnya zaznamenat si, které řádky byly vyměněny.

Page 106: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

100 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Pro toto zaznamenání není potřeba pracovat s celými permutačními maticemi,ale stačí tzv. permutační vektor p. Na začátku výpočtu položíme p = (1, . . . , n)T

a při výměně řádků vyměníme stejné řádky i ve vektoru p. Pak jeho i-tá složka pi

udává původní číslo řádku maticeA v matici PA. Tj. jestliže například po ukončenívýpočtu je p = (3, 5, 1, 4, 2)T , pak matice PA v (4.16) je postupně tvořena třetím,pátým, prvním, čtvrtým a druhým řádkem matice A.

Trojúhelníkový rozklad (4.12) resp. (4.16) má velký význam pro řešení systémůlineárních rovnic. Jestliže známe rozklad (4.16), pak systém Ax = b lze ihned řešitpro libovolný vektor b. Je totiž

PAx = LRx = Pb.

Řešení x∗ nyní najdeme řešením dvou systémů s trojúhelníkovými maticemi:

Lu = Pb, Rx = u

za předpokladu rii 6= 0, i = 1, . . . , n. První systém má dolní trojúhelníkovou maticia řešíme jej tedy od první rovnice, druhý systém má horní trojúhelníkovou maticia řešíme jej od poslední rovnice.

Podívejme se na počet násobení a dělení pro přímý chod GEM.Podle algoritmu (4.6) je v prvním kroku zapotřebí vypočítat (n− 1) multipli-

kátorů, což znamená (n−1) dělení. Každý prvek první rovnice včetně pravé stranymusí být násoben každým multiplikátorem, tzn. že v prvním kroku je zapotřebícelkem n− 1 + n(n − 1) = (n − 1)(n+ 1) násobení a dělení (násobicích operací).Na j-tém kroku se pak požaduje (n− j) + (n− j + 1)(n− j) násobicích operací.Připomeňme nyní, že

m∑

j=1

1 = m,m∑

j=1

j =m(m+ 1)2

,

m∑

j=1

j2 =m(m+ 1)(2m+ 1)

6.

Pak celkový počet násobicích operací pro přímý chod je roven

n−1∑

j=1

(n− j)(n− j + 2) =2n3 + 3n2 − 5n

6.

Podobně lze ukázat, že pro zpětný chod, tj. pro řešení systému Rx = c je zapotřebí

1 +n−1∑

j=1

((n− j) + 1) =n2 + n2

násobicích operací. Celkový počet násobicích operací pro GEM je roven

2n3 + 3n2 − 5n6

+n2 + n2

=n3 + 3n2 − n

3≈ n3

3.

Page 107: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 101

Obdobným způsobem lze spočítat počet sčítání a odčítání. Počet těchto operacípro GEM je:

2n3 + 3n2 − 5n6

≈ n3

3.

Je zřejmé, že počet aritmetických operací velmi rychle roste s rostoucím n. Tentofakt ukazuje pro některá n následující tabulka ([4]):

n násobení/dělení sčítání/odčítání3 17 115 65 5010 430 37550 44150 42875100 343300 338250

Zmíníme se nyní o problémech s výběrem pivotů. Viděli jsme, že GEM selhává,jestliže hlavní prvek je roven nule. V tomto případě lze vyměnit pořadí rovnic. Aleproblematická situace nastává, jestliže některý z pivotů je blízký nule: v tomto pří-padě lze výpočet provést, ale získané výsledky mohou být zcela chybné. Ilustrujmetuto skutečnost na známém příkladu Forsytha a Molera (viz [6]):Příklad 4.1. Aplikujme GEM na matici

A =(0, 0001 11 1

)

.

Multiplikátor l21 = 1/10−4 = 104. Matice

G =

(1 0−104 1

)

a

A(2)2 = R =

(0, 0001 10 −104

)

, L =(1 0104 1

)

,

neboť 1−104 ≈ −104. GEM definuje rozklad matice A na součin matic L a R, cožje ale v tomto případě

LR =(0, 0001 11 0

)

,

tedy tato matice se nerovná matici A. Výsledek lze vysvětlit faktem, že prveka(1)11 = 0, 0001 je velmi malý, což má za následek velký multiplikátor a při jeho po-užití se prakticky vyloučí malé vstupní prvky (1−104 ≈ −104). Tomuto problémuse můžeme vyhnout výměnou řádků matice A.Uvažujme tedy matici

P1A =(0 11 0

)(0, 0001 11 1

)

=(1 10, 0001 1

)

Page 108: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

102 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

a aplikujeme GEM na matici P1A. Nyní l21 = 10−4.

R = G1P1A =(1 0−10−4 1

)(1 1−10−4 1

)

=(1 10 1

)

,

(1− 10−4 ≈ 1),

L =(1 0−10−4 1

)

⇒ LR =(1 1−10−4 1

)

= P1A.

Tomuto postupu obecně říkáme Gaussova eliminace s částečným výběrem hlav-niho prvku (pivota). Tento postup spočívá v tom, že v každém kroku vybírámev příslušném sloupci prvek maximální v absolutní hodnotě, tj. určíme p tak, aby

|a(k)pk | = maxk≤i≤n

|a(k)ik |

a vyměníme p-tou a k-tou rovnici.

Další vhodnou modifikací GEM je úplný výběr pivota. Tato procedura znamená,že na j-tém kroku vybíráme prvek maximální v absolutní hodnotě ze submaticeA(k)22 , tj. ∣

∣∣a(k)rs

∣∣∣ = max

i,j=k,...,n

∣∣∣a(k)ij

∣∣∣ .

Pak vyloučíme neznámou xs pomocí r-té rovnice ze zbývajících (n− j) rovnic. Proprovedení 1. kroku této procedury je třeba n2 − 1 porovnání absolutních hodnotkoeficientů. Druhý krok vyžaduje (n−1)2−1 porovnání a celkový počet porovnáníje roven

n∑

k=2

(k2 − 1) = n(n− 1)(2n+ 5)6

.

Poznámka 3. Výměnu řádků u GEM s částečným výběrem pivota resp. řádkůa sloupců u GEM s úplným výběrem pivota lze realizovat opět prostřednictvímpermutačních matic.

Příklad 4.2. Systém

2x1 + 4x2 − x3 = −5x1 + x2 − 3x3 = −94x1 + x2 + 2x3 = 9

řešte

1) GEM bez výběru pivota,

2) GEM s částečným výběrem pivota.

Řešení.

Page 109: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 103

1) GEM bez výběru pivota:

(A | b) = (A(1) | b(1)) =

2 4 −1 −51 1 −3 −94 1 2 9

Prvek a11 = 2 ⇒ l21 = 12 , l31 = 2.

(A(2) | b(2)) =

2 4 −1 −50 −1 − 52 − 1320 −7 4 19

Prvek a(2)22 = −1 ⇒ l31 = 7.

(A(3) | b(3)) =

2 4 −1 −50 −1 − 52 − 1320 0 43

21292

Nyní řešíme systém A(3)x = b(3), tj.

2x1 + 4x2 − x3 = −5−x2 −

52x3 = −13

2432x3 =

1292

Řešíme od poslední rovnice (zpětný chod):

x3 = 3, x2 = −1, x1 = 1.

Matice L je v tomto případě tvaru:

L =

1 0 012 1 0

2 7 1

a matice R = A(3)

R =

2 4 −10 −1 − 520 0 43

2

.

Snadno se ověří, že A = LR.

Page 110: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

104 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

2) GEM s částečným výběrem pivota:

(A | b) = (A(1) | b(1)) =

2 4 −1 −51 1 −3 −94 1 2 9

Je |a31| = max1≤i ≤3

|ai1| ⇒ vyměníme 1. a 3. rovnici:

(A | b) =

4 1 2 9

1 1 −3 −92 4 −1 −5

;

permutační matice P1 =

0 0 10 1 01 0 0

.

Hlavní prvek a11 = 4 ⇒ l21 = 14 , l31 =

12 . Odtud

(A(2) | b(2)) =

4 1 2 9

0 34 − 72 − 454

0 72 −2 − 192

.

Jelikož |a(2)32 | = max(|a(2)22 |, |a

(2)32 |), vyměníme 2. a 3. řádek, tj. matici A(2)

vynásobíme permutační maticí P2, která je tvaru

P2 =

1 0 00 0 10 1 0

,

tj.

P2(A(2) | b(2)) =

4 1 2 9

0 72 −2 − 192

0 34 − 72 − 454

.

Odpovídající multiplikátor l32 = 314 a výsledná matice

(A(3) | b(3)) =

4 1 2 9

0 72 −2 − 192

0 0 − 4314 − 12914

Page 111: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.2. Gaussova eliminační metoda 105

Tento systém opět řešíme od poslední rovnice a opět dostaneme:

x3 = 3, x2 = −1, x1 = 1.

Dále

P2P1 =

0 0 11 0 00 1 0

,

P2P1A =

4 1 2

2 4 −11 1 −3

.

Snadno se ověří, že GEM definuje tento rozklad matice PA, P = P2P1:

PA = LR, kde L = P2P1(G2P2G1P1)−1,

a tedy

L =

1 0 012 1 014

314 1

, R =

4 1 2

0 72 −2

0 0 − 4314

.

Nyní se ještě zmíníme o aplikaci GEM na speciální typy matic (důkazy viz[4], [13]).

Věta 4.5.

a) Nechť matice A je ryze řádkově diagonálně dominantní. Pak GEM lze provéstbez výměny řádků a sloupců.

b) Nechť matice A je pozitivně definitní. Pak GEM lze provést bez výměny řádkůa sloupců.

Za předpokladu, že všechny pivoty a(k)kk , k = 1, . . . , n, jsou různé od nuly, GEMdefinuje rozklad matice A na součin dolní a horní trojúhelníkové matice A = LR(říkáme, že se jedná o LR rozklad nebo LR faktorizaci). Z algoritmu GEM jezřejmé, že tento přímý rozklad nemusí existovat dokonce i pro velmi jednoduchématice. Zabývejme se nyní otázkou, kdy lze takový přímý rozklad provést.

Věta 4.6. Nechť všechny hlavní minory matice A ∈ Mn jsou různé od nuly, tj.

a11 6= 0,∣∣∣∣

a11 a12a21 a22

∣∣∣∣6= 0, . . . ,detA 6= 0.

Pak matici A lze rozložit na součin dolní a horní trojúhelníkové matice.

Page 112: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

106 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Důkaz. (indukcí) Je-li n = 1 a prvek a11 6= 0, je jasné, že tvrzení věty platí,neboť existují nenulová čísla c11, b11 tak, že a11 = c11b11, tj. A = CB, C = (c11),B = (b11).Nechť nyní podle indukčního předpokladu tvrzení platí pro matici An−1 ∈

Mn−1 a dokážeme, že platí i pro matici A ∈ Mn.Matici An−1 lze tedy vyjádřit ve tvaru An−1 = Cn−1Bn−1, kde Cn−1 je dolní

trojúhelníková matice a Bn−1 je horní trojúhelníková matice. Matici A zapíšemeblokově takto:

A =

An−1

a1na2n...

an−1,nan1 · · · an,n−1 ann

=(An−1 u

vT ann

)

,

kde vektory u,v jsou vektory dimenze n−1. Hledejme nyní matice C, B, A = CB,rovněž v blokovém tvaru:

C =(Cn−1 o

xT cnn

)

, B =(Bn−1 y

oT bnn

)

.

Zde x,y jsou neznámé vektory řádu n − 1 a bnn, cnn jsou neznámé prvky maticB,C. Podle pravidla o násobení blokově daných matic dostáváme z rovnice A =CB: (

An−1 u

vT ann

)

=(Cn−1Bn−1 Cn−1yxTBn−1 xT y + cnnbnn

)

. (4.17)

Podle předpokladu je matice An−1 regulární a tedy jsou regulární i matice Cn−1,Bn−1. Porovnáme-li ve vztahu (4.17) prvky v odpovídajících pozicích, dostaneme:

An−1 = Cn−1Bn−1Cn−1y = u

xTBn−1 = vT

xT y + cnnbnn = ann

(4.18)

Ze vztahů (4.18) lze určit vektory x,y a čísla cnn, bnn, z nichž jedno lze volitlibovolně (6= 0). To znamená, že existuje dolní trojúhelníková matice C a hornítrojúhelníková matice B tak, že A = CB. 2

Poznámka 4. Předepíšeme-li matici C diagonální prvky rovny 1, je rozklad jedno-značný. Na druhé straně, GEM bez výběru pivota rovněž definuje rozklad A = LR.Odtud plyne, že L = C, R = B. Odtud plyne, že neexistence přímého rozkladumatice a selhání GEM bez výběru pivota se dá objasnit stejnými příčinami.

Příklad 4.3. Je dána matice A:

A =

1 2 32 4 14 5 2

.

Page 113: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.3. Systémy se speciálními maticemi 107

Pokusme se matici A rozložit na součin CB. Porovnáním prvků v pozici (i, j)matice A a prvků v pozici (i, j) matice CB dostaneme (předpokládáme cii = 1,i = 1, . . . , n)

1 = b11 2 = c21b11 ⇒ c21 = 22 = b12 4 = c21b12 + b22 ⇒ b22 = 03 = b13 1 = c21b13 + b23 ⇒ b23 = −5

4 = c31b11 ⇒ c31 = 45 = c31b12 + c32b22 ⇒ nelze určit c32, neboť b22 = 0.2 = c31b13 + c32b23 + b33

Odtud

C =

1 0 02 1 04 ? .

B =

1 2 30 0 −5. . .

Rozklad není možný, neboť

∣∣∣∣

1 22 4

∣∣∣∣= 0.

V příkladě 4.2 v části 1) byl proveden přímý rozklad matice na součin hornía dolní trojúhelníkové matice. Pokud bychom chtěli udělat rozklad

2 4 −11 1 −34 1 2

=

l11 0 0l21 l22 0l31 l32 l33

=

u11 u12 u130 u22 u230 0 u33

porovnáním jednotlivých prvků, dostaneme soustavu rovnic:

l11u11 = 2 l21u11 = 1 l31u11 = 4l11u12 = 4 l21u12 + l22u22 = 1 l31u12 + l32u22 = 1l11u13 = −1 l21u13 + l22u23 = −3 l31u13 + l32u23 + l33u33 = 2

Máme 9 rovnic pro 12 neznámých, řešení tedy není určeno jednoznačně. Rozkladvypočtený v příkladě 4.2 bychom dostali volbou l11 = l22 = l33 = 1.

I když GEM definuje rozklad matice na součin trojúhelníkových matic, je někdyvhodné mít k dispozici algoritmus, který tuto faktorizaci provede přímo. Tentopostup je vhodný zejména v případech, kdy je třeba řešit více systémů s toutéžmaticí A, (viz [4], [13]).

§ 4.3. Systémy se speciálními maticemi

Předchozí věty lze s výhodou užít i v případech, kdy matice A má speciální struk-turu a předpokládat speciální tvar rozkladu matice.

Page 114: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

108 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Věta 4.7. Nechť matice A ∈ Mn je symetrická a splňuje předpoklady předchozívěty. Pak existuje taková horní trojúhelníková matice T ∈ Mn, že A = T TT .

Důkaz. Podle předchozí věty existuje rozklad A = CB. Nechť cii = 1, i = 1, . . . , na rozklad je tedy jednoznačný. Nechť D je diagonální matice s prvky dii = bii,i = 1, . . . , n, na diagonále. Položme B = D−1B. Pak A lze zapsat ve tvaru

A = CDB.

Zde B je horní trojúhelníková matice s jedničkami na diagonále. Dále platí

A = AT =(CDB

)T= BTDCT .

BT je dolní trojúhelníková matice s jedničkami na diagonále, DCT je horní troj-úhelníková matice. Z jednoznačnosti rozkladu plyne:

BT = C, DCT = B.

Nyní položímeT =

√DB,

kde√D je diagonální matice s prvky

√dii =

√bii, i = 1, . . . , n, na diagonále.

NyníT TT = BT

√D√DB = BTDB = A.

Dostali jsme požadovaný rozklad matice A. 2

Důsledek. Nechť T je matice uvedená v předchozí větě. Prvky této matice jsouurčeny vztahy:

t11 =√a11

t1j =a1jt11

, j = 2, . . . , n

tii =

√√√√aii −

i−1∑

l=1

t2li, i = 2, . . . , n

tij =1tii

(

aij −i−1∑

l=1

tlitlj

)

pro j > i

tij = 0 pro i > j.

(4.19)

Důkaz plyne ihned porovnáním odpovídajících prvků ve vztahu A = T TT .

Uvedená metoda se nazývá metoda Choleského nebo také metoda druhýchodmocnin.

Poznámka 5. Je-li A pozitivně definitní matice, probíhá výpočet bez komplikací.V tomto případě jsou všechny prvky matice T reálné. Obecně může mít matice Tryze imaginární prvky. Tyto prvky se vyskytují v celém řádku matice a při dalším

Page 115: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.3. Systémy se speciálními maticemi 109

výpočtu se imaginární jednotky vyruší. Tento rozklad vede opět na řešení dvousystémů s trojúhelníkovými maticemi:

T T z = b, Tx = z.

Počet násobicích operací Choleského metody je přibližně n3/6; přitom je třebaještě vyčíslit n druhých odmocnin.

Příklad 4.4. Choleského metodou řešte systém

x1 + 2x2 − x3 = 12x1 + 2x2 + 4x3 = 3−x1 + 4x2 + 8x3 = 6.

Řešení. Najdeme rozklad matice A ve tvaru T TT = A. Prvky matice T vypočtemeze vztahů (4.19).

t11 = 1, t12 = 2, t13 = −1,t22 =

a22 − t212 = i√2,

t23 =1t22(a23 − t13t12) = −i3

√2,

t33 =√

a33 − (t213 + t223) = 5.

Matice je tvaru

T =

1 2 −10 i

√2 −i3

√2

0 0 5

.

Nyní řešíme T T z = b, tj.

1 0 02 i

√2 0

−1 −i3√2 5

z1z2z3

=

136

.

Řešení tohoto systému je vektor z = (1,−i√2/2, 2)T . Nyní řešíme Tx = z

1 2 −10 i

√2 −i3

√2

0 0 5

x1x2x3

=

1−i

√2/22

.

Řešení tohoto systému (a tedy i řešení daného systému) je vektor

x = (0, 710 ,25 )

T .

Přímý rozklad matice na součin trojúhelníkových matic lze také použít pro

Page 116: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

110 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

třídiagonální matice. Uvažujme třídiagonální matici A:

A =

a11 a12 0 · · · 0a21 a22 a23 0

0. . .

. . .. . .

......

. . .. . . an−1,n

0 · · · 0 an,n−1 ann

Hledejme rozklad matice A ve tvaru: A = LU

L =

l11 0 · · · 0l21 l22 0 · · · 0

0 l32 l33...

.... . .

. . . 00 · · · 0 ln,n−1 lnn

,

U =

1 u12 0 · · · 00 1 u23 0...

. . .. . .

...... 1 un−1,n0 · · · · · · 0 1

(4.20)

Je třeba určit (2n − 1) prvků matice L a (n − 1) prvků matice U , tedy celkem(3n− 2) prvků. Tyto prvky lze určit z následujících rovnic:

a11 = l11ai,i−1 = li,i−1, i = 2, 3, . . . , naii = li,i−1ui−1,i + lii, i = 2, 3, . . . , nai,i+1 = liiui,i+1, i = 1, 2, . . . , n− 1.

(4.21)

Tyto rovnice se snadno získají porovnáním prvků matice A s odpovídajícími prvkysoučinu LU . Uvedená metoda se nazývá Croutova.

Věta 4.8. Nechť A ∈ Mn je třídiagonální matice s vlastnostmi:

ai,i−1ai,i+1 6= 0, i = 2, 3, . . . , n− 1,|a11| > |a12|,|aii| ≥ |ai,i−1|+ |ai,i+1|,|ann| > |an,n−1|.

i = 2, . . . , n− 1,

A řádkově diagonálnědominantní

Pak matice A je regulární a hodnoty lii, i = 1, . . . , n, vypočtené ze vztahů (4.21)jsou různé od nuly.

Důkaz viz [4].

Page 117: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.4. Výpočet inverzní matice a determinantu 111

Důsledek. Jsou-li splněny předpoklady věty 4.8, lze matici A rozložit na součindolní a horní trojúhelníkové matice tvaru (4.20).

Poznámka 6. Počet násobicích operací pro realizaci Croutovy metody je (5n−4),počet sčítacích operací (3n− 3).Jestliže matici A vyjádříme ve tvaru A = LU , pak systém Ax = b lze opět

jednoduše řešit takto:

Ax = b ⇒

Ly = b

Ux = y.

Příklad 4.5. Croutovou metodou řešte systém

2x1 − x2 = 4x1 + 4x2 + x3 = 5

x2 + 3x3 − 2x4 = −12x3 − 3x4 = 7

5

Řešení. Podle vztahů (4.21) určíme prvky matic L a U :

i = 1 l11 = a11 = 2, u12 =a12l11= − 12

i = 2 l22 = a22 − l21u12 = 4− 1(− 12 ) = 92

l21 = a21 = 1

u23 =a23l22=192

= 29

i = 3 l32 = a32 = 1, l33 = a33 − l32u23 = 3− 1.29 = 259

u34 =a34l33= − 225

9

= − 1825

i = 4 l43 = a43 = 2, l44 = a44 − l43u34 = −3− 2(− 1825 ) = − 3925Matice L a U jsou tvaru

L =

2 0 0 0

1 92 0 0

0 1 259 0

0 0 2 − 3925

, U =

1 − 12 0 0

0 1 29 0

0 0 1 − 18250 0 0 1

.

Nyní řešíme systém Ly = b. Řešením je vektor y = (2, 23 ,− 35 ,− 53 )T . Nyní řešímesystém Ux = y. Řešením tohoto systému, a tedy i daného systému, je vektorx = (3815 ,

1615 ,− 95 ,− 53 )T .

§ 4.4. Výpočet inverzní matice a determinantu

S problémem řešení systému Ax = b souvisí také problémy výpočtu inverzní ma-tice a determinantu matice.

Page 118: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

112 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Výpočet inverzní matice k matici A je ekvivalentní řešení systému

AX = E,

kde X = A−1, E je jednotková matice. Nechť X = (xij). Pak řešit systém AX = Eznamená řešit n systémů tvaru

A

x11x21...xn1

=

10...0

, A

x12x22...xn2

=

01...0

, . . . A

x1nx2n...

xnn

=

00...1

,

tj. řešíme n systémů s toutéž maticí A a s různými pravými stranami. K řešenítěchto systémů lze užít některé z již uvedených přímých metod (např. GEM).

Příklad 4.6. Užitím GEM nalezněte matici inverzní k matici

A =

2 −7 41 9 −6

−3 8 5

.

Řešení. Řešit systém AX = E, kde X = (xij) je inverzní matice, znamená řešit nsystémů vždy s toutéž maticí A. Postup při aplikaci GEM zapíšeme do tabulky:

ai1 ai2 ai3 b1 b2 b3

2 -7 4 1 0 0

1 9 -6 0 1 0

-3 8 5 0 0 1

2 -7 4 1 0 0

0 252 -8 − 12 1 0

0 − 52 11 32 0 1

2 -7 4 1 0 0

0 252 -8 - 12 1 0

0 0 475

75

15 1

Prvky inverzní matice X = (xij) získáme řešením systémů rovnic

2 −7 4

0 252 −8

0 0 475

x11

x21

x31

=

1

− 1275

,

Page 119: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.4. Výpočet inverzní matice a determinantu 113

2 −7 4

0 252 −8

0 0 475

x12

x22

x32

=

0

115

,

2 −7 4

0 252 −8

0 0 475

x13

x23

x33

=

0

0

1

.

Výsledná matice je tvaru

X = A−1 =1235

93 67 613 22 1635 5 25

.

Je třeba poznamenat, že výpočet inverzní matice je třikrát „dražšíÿ než řešenísystému Ax = b. Z těchto důvodů je vhodné se „vyhnoutÿ přímému výpočtuA−1 kdykoliv je to možné. Lineární systém bychom nikdy neměli řešit explicitnímvýpočtem inverzní matice.Pro zajímavost uvedeme ještě dva užitečné vzorce pro výpočet inverze matice

B, která se poněkud liší od matice A ([6]):

1. Shermanův-Morrisonův vzorec. Nechť u, v jsou vektory, A ∈ Mn je regulárnímatice. Pak

(A− uvT )−1 = A−1 + α(A−1uvTA−1),

kde

α =1

(1− vTA−1u),

za předpokladu vTA−1u 6= 1.

2. Woodburyho vzorec. Nechť A,U, V ∈ Mn,

(A− UV T )−1 = A−1 +A−1U(E − V TA−1U)−1V TA−1,

za předpokladu, že E − V TA−1U je regulární.

Poznámka 7. Tyto rovnice ukazují, jak lze vypočítat inverzní matici k maticiA− uvT , resp. A− UV T bez explicitního výpočtu této inverzní matice, známe-limatici A−1.

Příklad 4.7. Je dána matice A ∈ Mn a matice k ní inverzní A−1 ∈ Mn:

A =

1 1 12 4 56 7 8

a A−1 =

−3 −1 114 2 −3

−10 −1 2

.

Page 120: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

114 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Nechť u = v = (1, 0, 0)T . Odtud

A− uvT =

0 1 12 4 56 7 8

.

Nyní

α =1

1− vTA−1u= 14

a

(A−1 + αA−1uvTA−1) = (A− uvT )−1 =

− 34 − 14 − 1472 − 32 1

2

− 52 32 − 12

.

Poznámka 8. Víme, že GEM bez výběru hlavního prvku definuje rozklad maticeA ve tvaru

A = LR,

kde L je dolní trojúhelníková matice s 1 na diagonále, R je horní trojúhelníkovámatice. Z tohoto vztahu plyne ihned vzorec pro výpočet determinantu matice A,neboť

detA = detL detR = detU =n∏

i=1

a(i)ii .

Výpočet pomocí GEM s částečným výběrem hlavního prvku vede na rozklad

PA = LR,

kde detP = (−1)r, r je počet výměn řádků během výpočtu. Odtud

detPA = (−1)r detA =n∏

i=1

a(i)ii ,

neboli

detA = (−1)rn∏

i=1

a(i)ii .

§ 4.5. Metody založené na minimalizaci kvadratické formy

V tomto odstavci se budeme zabývat metodami, které jsou založeny na mini-malizaci kvadratické funkce, jejímž jediným minimem je řešení rovnice Ax = b.Budeme předpokládat, že matice A je symetrická a pozitivně definitní.

Page 121: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.5. Metody založené na minimalizaci kvadratické formy 115

Věta 4.9. Jestliže A je pozitivně definitní matice, pak řešení systému Ax = b jeekvivalentní minimalizaci kvadratické funkce

Q(x) =12xTAx − xT b. (4.22)

Tato kvadratická funkce má jediné minimum, kterého nabývá v řešení systémuAx = b, tj. pro x∗ = A−1b.

Důkaz. Jednoznačnost minima plyne z pozitivní definitnosti matice A. Nechťx∗ = A−1b. Uvažujme rozdíl Q(x∗ +∆x)−Q(x∗), kde ∆x 6= o. Pro tento rozdílplatí

Q(x∗ +∆x)−Q(x∗) =12(x∗ +∆x)TA(x∗ +∆x)− (x∗ +∆x)T b −

− 12x∗TAx∗ + x∗T b =

12∆xTA∆x.

Matice A je pozitivně definitní a tudíž ∆xTA∆x > 0 pro ∆x 6= o. To znamená, žeQ(x∗ +∆x)−Q(x∗) > 0, tj. Q(x∗ +∆x) > Q(x∗), a tedy x∗ realizuje minimumkvadratické funkce Q.Nechť nyní x realizuje minimum kvadratické funkce Q. Nechť dále v ∈ Rn

je libovolný vektor. Uvažujme vektory tvaru z = x + tv, t je reálné číslo. Tytovektory leží na přímce vycházející z x. Vypočtěme hodnotu funkce Q pro z. Je

Q(x+ tv) =12(x+ tv)TA(x+ tv)− (x+ tv)T b =

=12xTAx+

12tvTAx+

12txTAv +

+12t2vTAv − xbT − tvT b.

Jelikož A je pozitivně definitní, je xTAv = vTAx. Odtud

Q(x+ tv) =12xTAx+ tvTAx+

12t2vTAv − xT b − tvT b.

Funkce Q má minimum v bodě x, to znamená, že

dQ(x+ tv)dt

∣∣∣∣t=0

= 0,

kdedQ(x+ tv)

dt= vTAx+ tvTAv − vT b.

A odtud

vTAx − vT b = 0

vT (Ax − b) = 0.

Page 122: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

116 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Vektor v je libovolný vektor z Rn. Poslední vztah znamená, že vektor Ax − b je

ortogonální ke všem vektorům v ∈ Rn a odtud plyne, že Ax − b = o. Vektor x

tedy je řešením systému Ax = b, a protože A je pozitivně definitní, je x = x∗. 2

Důsledek. minQ(x) = Q(x∗) = − 12bTA−1b.

Důkaz. Q(x∗) = 12x

∗TA x∗ − x∗T b, x∗ je přesným řešením systému Ax = b,a tedy Ax∗ = b, x∗T = bTA−1. Dosazením do předchozího vztahu ihned plynetvrzení. 2

Podívejme se nyní na geometrickou interpretaci hledání minima kvadratickéhofunkcionálu Q (viz [12], [19]). Nechť x∗ je řešení systému Ax = b a nechť x =x∗ + s. Pak

Q(x) +12x∗T

b =12(x∗ + s)TA (x∗ + s)− (x∗ + s)T b+

12x∗T

b =12sTAs .

Plocha

S = s = (s1, . . . , sn)T |12sTAs = konst.

je hyperelipsoid v proměnných s1,. . . ,sn se středem v s = o, tj. v x∗. Tedy i rovniceQ(x) = konst. představuje hyperelipsoid. Protože A je pozitivně definitní existujeortogonální matice P taková, že matice

PTAP = D

je diagonální matice s kladnými vlastními čísly λi matice A na diagonále. Prove-deme-li transformaci proměnných

z = PT s, z = (z1, . . . , zn)T ,

dostaneme

sTA s = zTDz =n∑

i=1

λiz2i .

Odtud plyne, že hyperelipsoid má své osy ve směrech zi a délky těchto os jsoupřímo úměrné 1√

λi, i = 1, . . . , n.

Tyto geometrické úvahy budeme nyní ilustrovat na jednoduchém příkladě.

Příklad 4.8. Uvažujme systém

2x1 − x2 = 1

−x1 + 2x2 = 1 ,

jehož přesné řešení je x∗ = (1, 1)T .

Q(x) =12(2x21 + 2x

22 − 2x1x2)− (x1 + x2)

aQ(x∗) = −1 .

Page 123: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.5. Metody založené na minimalizaci kvadratické formy 117

Rovnice elipsy je dána vztahem 12s

TAs = c, c = konstanta

12(2s21 + 2s

22 − 2s1s2) = c.

Obrázek 4.1 ukazuje tvar elipsy pro c = 1.Vlastní čísla matice A jsou λ1 = 3, λ2 = 1. Tedy rovnice příslušné elipsy je

z21√3+z221= c .

−1.5 −1 −0.5 0 0.5 1 1.5

−1.5

−1

−0.5

0

0.5

1

1.5

s1

s2 z

1

z2

Obr. 4.1: Elipsa 12(2s21 + 2s

22 − 2s1s2) = 1.

Vlastní vektor příslušný vlastnímu číslu λ1 = 3 je tvaru x(1) = 1√2(−1, 1)T

a vektor příslušný vlastnímu číslu λ2 = 1 je x(2) = 1√2(1, 1)T , takže

P =1√2

(1 1

−1 1

)

.

Na obrázku 4.2 vidíme průběh kvadratického funkcionálu Q(x).

Obecné schema minimalizace funkce Q bude takové, že vybereme počátečníaproximaci x1 a pak určíme x2 tak, že zvolíme nějaký směr v1 a vzdálenost t1 vesměru v1. Obecně pak

xk+1 = xk + tkvk, i = 1, 2, . . .

Vektory vk se nazývají směrové vektory.

Page 124: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

118 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

0

0.5

1

1.5

2

0

0.5

1

1.5

2−1

−0.5

0

0.5

1

1.5

2

Obr. 4.2: Průběh kvadratického funkcionálu Q(x), Q(x∗) = −1

Popišme nyní jednu z metod tohoto typu, a to metodu největšího spádu.Nechť x1 ∈ Rn je počáteční aproximace přesného řešení x∗ a položme r1 =

b−Ax1; vektor r1 se nazývá reziduový vektor . Našim cílem je najít takový vektorv1 ∈ Rn, ‖v1‖ = ‖Ax1 − b‖, pro který

ddtQ(x1 + tv1)

∣∣∣∣t=0

= max, t ∈ R .

Geometricky lze tuto metodu vysvětlit takto:x = x1 + tv1, t ∈ R, je přímka procházející body x1 a v1. Kvadratická funkce Qje plocha v Rn a bodům ležícím na uvedené přímce odpovídá křivka na této ploše.Nyní hedáme takový směr, tj. takový vektor v1, ve kterém má plocha největšíspád.Vypočtěme hodnotu funkce Q pro body na přímce x = x1 + tv:

Q(x1 + tv) =12x1

TAx1 + tv1

T(Ax1 − b) +

12t2v1

TAv1 − x1

Tb .

DáledQ(x1 + tv1)

dt= v1

T(Ax1 − b) + tv1

TAv1 (4.23)

a pro t = 0 dostaneme

ddtQ(x1 + tv1)

∣∣∣∣t=0

= v1T(Ax1 − b) .

Při předepsané normě bude skalární součin maximální v případě, že v1 = Ax1−b.To znamená, že ve směru v1 = −r1 má plocha Q největší spád.

Page 125: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.5. Metody založené na minimalizaci kvadratické formy 119

Nyní musíme v tomto směru najít takový bod x2, pro který Q nabývá mi-nimální hodnoty. Budeme tedy hledat minimum kvadratické funkce Q(x1 − tr1)jedné proměnné t. Ze vztahu dQ(x1 − tr1)/dt = 0 plyne

r1Tr1 + tr1

TA r1 = 0

tj.

t1 = − r1Tr1

r1TAr1

.

Funkce Q(x1 − tr1) je konvexní vzhledem k proměnné t, neboť

d2Q(x1 − tr1)dt2

= v1TAv1 > 0.

To znamená, že v bodě t1 se realizuje jediné minimum. Matice A je pozitivnědefinitní a r1 6= o, a tedy r1

TAr1 > 0. Další aproximace je tvaru

x2 = x1 +r1

Tr1

r1TAr1

r1 .

Uvedená metoda se nazývá metoda největšího spádu a její algoritmus má obecnětvar:

xk+1 = xk +rkT

rk

rkTArk

rk . (4.24)

Nyní odvodíme důležité vztahy mezi reziduálními vektory rk. Z (4.24) plyne

Axk+1 = Axk +rkT

rk

rkTArk

Ark, rk = b −Axk

a

Axk+1 − b = Axk − b+rkT

rk

rkTArk

Ark, rk = b −Axk .

Odtud

rk+1 = rk − rkTrk

rkTArk

Ark, rk = b −Axk

nebolirk+1 = rk + tkArk .

Dále pro skalární součin vektorů rk+1 a rk platí

rk+1T rk = (rk + tkArk)T rk = rkTrk + tkrkT

Ark =

= rkTrk − rkT

rk

rkTArk

rkTArk = 0 ,

což znamená, že vektory rk+1 a rk jsou ortogonální.

Page 126: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

120 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Ukážeme, že pro posloupnost generovanou metodou největšího spádu platí:

Q(xk+10 < Q(xk), k = 1, 2 . . .

Počítejme rozdíl

Q(xk+1)−Q(xk) = Q

(

xk +rkT

rk

rkTArk

rk

)

−Q(xk) =

=rkT

rk

rkTArk

rkTAxk − rkT

rk

rkTArk

rkTb+12

(

rkTrk

rkTArk

)2

rkTArk =

=rkT

rk

rkTArk

(

rkT(Axk − b) +

12

rkTrk

rkTArk

rkTArk

)

=

=rkT

rk

rkTArk

(

−rkTrk +

12rkT

rk

)

= −12(rkT

rk)2

rkTArk

< 0 ⇒

⇒ Q(xk+1) < Q(xk) .

Odtud také plyne konvergence metody největšího spádu (viz [19]).

Příklad 4.9. Řešme metodou největšího spádu systém

2x1 − x2 = 1

−x1 + 2x2 = 1 ,

jehož přesné řešení je x∗ = (1, 1)T . Zvolme počáteční aproximaci x1 = (0, 1)T , jeQ(x1) = 0. Pak

r1 = b −Ax1 = (2,−1)T a r1Tr1 = 5, r1

TAr1 = 14 .

Další aproximace x2 je tvaru

x2 =(01

)

+514

(2−1

)

=(5/79/14

)

; Q(x2) = −3049.

Dále

r2 = b −Ax2 = (3/14, 3/7)T , r2Tr2 =

45196

, r2TA r2 =

54196

,

odtud

x3 =(5/79/14

)

+4554

(3/143/7

)

=(25281

)

.=(0, 898261

)

,

Q(x3).= −0, 988518. První tři iterace ukazuje obrázek 4.3 spolu s elipsami o rovnici

12 (2s

21 + 2s

22 − 2s1s2) = c, na nichž jednotlivé iterace leží.

Další metodu patřící do této skupiny je metodu sdružených gradientů. Tatometoda byla navržena v roce 1952 Hestenesem a Stiefelem a nyní se velmi často

Page 127: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.6. Stabilita, podmíněnost 121

−1 −0.5 0 0.5 1 1.5 2 2.5 3−0.5

0

0.5

1

1.5

2

2.5

x1

x2

x3

2x1−x

2=1

c=0.012

c=0.107

c=1.0−x1+2x

2=1

Obr. 4.3: Metoda největšího spádu

užívá pro řešení velkých a řídkých systémů s pozitivně definitními maticemi. Z hle-diska teoretického je tato metoda přímá, ale při praktické realizaci je to metodaiterační. Podrobný pos této metody lze nalézt např. v [19].

Podívejme se nyní na otázky stability algoritmů a vlivu zaokrouhlovacích chybpři řešení systému Ax = b.

§ 4.6. Stabilita, podmíněnost

V úvodní kapitole jsme uvedli definici stability. Nyní podrobně probereme otázkystability při řešení systémů lineárních rovnic.

Definice 4.6. Algoritmus pro řešení Ax = b se nazývá stabilní, jestliže vypočtenéřešení x je takové, že

(A+ E)x = b+ δb,

kde E a δb jsou malé; E se nazývá chybová matice.Poznámka 9. „Malostÿ matice nebo vektoru lze „měřitÿ buď na základě jejichprvků nebo výpočtem normy.

Podívejme se nyní na GEM bez výběru pivota. Lze ukázat ([6]), že vypočtenéřešení x vyhovuje systému

(A+ E)x = b,

přičemž‖E‖∞ ≤ cn3‖A‖∞µ+O(µ2),

Page 128: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

122 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

kde A(k) = (a(k)ij ), A(1) = A, jsou redukované matice v eliminačním procesu, µ je

strojová přesnost (µ = 10−6 pro jednoduchou přesnost, µ = 10−16 pro dvojnásob-nou přesnost), c je konstanta a se nazývá růstový faktor a je dán vztahem

=max

kmax

i,j

∣∣∣a(k)ij

∣∣∣

maxi,j

∣∣∣a(1)ij

∣∣∣

.

Jestliže α1 = maxi,j

|a(1)i,j |, αk = maxi,j

|a(k)i,j |, pak lze vyjádřit takto:

=max (α1, α2, . . . , αn)

α1.

Pro libovolnou matici mohou prvky matic A(k) růst libovolně a tedy i faktor může být velký (podrobněji viz [6]). Ilustrujme tento fakt na příkladu:

Příklad 4.10.

A = A(1) =(10−10 11 2

)

→ A(2) =(10−10 10 −1010

)

Růstový faktor

=max (α1, α2)

α1=max

(2, 1010

)

2=1010

2.

Řešíme-li lineární systém s touto maticí, nemůžeme očekávat malou chybovoumatici E .Řešme např. systém

10−10x1 + x2 = 1x1 + 2x2 = 3

Užitím A(2) vypočteme x1 = 0, x2 = 1, zatímco přesné řešení je x1 = 1, x2 = 1(při zaokrouhlování na 9 cifer).

Při GEM je vektor b = b(1) modifikován na vektor b(2): b(2) = (1, 3−1010)T =(1,−1010)T . Tento fakt ukazuje, že GEM bez výběru pivota je obecně nestabilníprocedura. Ale na druhé straně může být tato procedura stabilní pro některéspeciální typy matice.

Následující tabulky ukazují srovnání různých metod z hlediska stability ([6]).

Page 129: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.6. Stabilita, podmíněnost 123

I. Matice systému je libovolná

MetodaPočet

nás. operacíStabilita

GEM bezvýběru pivota

n3

3 nestabilní

GEM s částečnýmvýběrem pivota

n3

3 +O(n2) porovnání stabilní

GEM s úplnýmvýběrem pivota

n3

3 +O(n3) porovnání stabilní

II. Speciální typy matic

Matice MetodaPočet

nás. operacíStabilita

SymetrickáGEM bezvýběru pivota

n3

3 stabilní

Symetrická Choleskéhon3

6 + n druhýchodmocnin

stabilní

Diagonálnědominantní

GEM bezvýběru pivota

n3

3 stabilní

Třídiagonální Croutova O(n) stabilní

Z předchozích úvah bychom neměli nabýt dojmu, že stabilita algoritmu zaru-čuje, že vypočtené řešení bude přesné. Vlastnost, která se nazývá podmíněnost ,ale také přispívá k přesnosti nebo nepřesnosti vypočteného výsledku.Podmíněnost problému je vlastnost problému samotného. Jak jsme již uvedli

v úvodu, podmíněnost se týká toho, jak se řešení změní, jestliže se změní vstupnídata. Tento problém nastává při praktických aplikacích, kdy vstupní data získanáměřením nebo pozorováním jsou zatížena chybami. Ve skutečnosti tedy musímeřešit problém, který není zadán původními daty, ale daty s „poruchamiÿ. Otázkoutedy je, jaký vliv mají tyto poruchy na řešení. Ilustrujme tento fakt na příkladě.

Příklad 4.11. Předpokládejme, že v nějakém podniku jsou dvě oddělení. V prvnímoddělení pracuje 101 žena a 10 mužů, v druhém oddělení 10 žen a 1 muž. Nechťprvní oddělení dostane za časovou jednotku 111 Kč, druhé oddělení 11 Kč. Ptámese, jaká je mzda ženy a muže za časovou jednotku?Označíme-li x1 mzdu ženy a x2 mzdu muže, vede úloha na systém rovnic

101x1 + 10x2 = 11110x1 + x2 = 11

Page 130: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

124 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Je zřejmé, že řešení tohoto systému je: x1 = 1, x2 = 1. Ale vedoucí se rozhodldruhému oddělení přidat, aby posílil „poziciÿ jediného muže a zvýšil částku na11,10 Kč. Systém rovnic je tvaru

101x1 + 10x2 = 11110x1 + x2 = 11,1

Ovšem řešení tohoto systému je x1 = 0, x2 = 11,1. To znamená, že malá změnana vstupu (pravé strany) má za následek velkou změnu na výstupu. Spočítejmečíslo podmíněnosti podle vztahu uvedeného v úvodu.

Cp =‖relativní chyba na výstupu‖‖relativní chyba na vstupu‖ .

K vyjádření tohoto čísla použijeme norem vektorů. Nechť

x∗ =(x1x2

)

⇒ ‖x∗‖1 = |x1|+ |x2| = 2; x =(x1x2

)

⇒ ‖x‖1 = 11,1

b =(11111

)

⇒ ‖b‖1 = 122, b =(11111,1

)

⇒ ‖b‖1 = 122,1

Nyní

Cp =

‖x∗ − x‖1‖x∗‖1

‖b − b‖1‖b‖1

=

11,120,1122

≈ 6770.

Jedná se o špatně podmíněnou úlohu.

Pro vyšetřování podmíněnosti systémů lineárních rovnic je vhodné definovatčíslo podmíněnosti matice.

Definice 4.7. Pro libovolnou přidruženou maticovou normu definujeme číslopodmíněnosti matice A vztahem

k(A) = ‖A‖ ‖A−1‖.

Řekneme, že matice A je dobře podmíněna, jestliže k(A) ≈ 1 a špatně podmíněna,jestliže k(A) je podstatně větší než 1.

Je jasné, že k(A) ≥ 1, neboť

1 = ‖E‖ = ‖AA−1‖ ≤ ‖A‖ ‖A−1‖ = k(A).

Vypočtěme číslo podmíněnosti matice A z předchozího příkladu:

A =(101 1010 1

)

⇒ ‖A‖1 = 111

A−1 =(1 −10

−10 101

)

⇒ ‖A−1‖1 = 111

Page 131: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.7. Analýza chyb 125

Tedy k(A) = 1112 = 12321, což opět znamená, že A je špatně podmíněna.

§ 4.7. Analýza chyb

Nechť nyní matice A je dána s poruchou δA a vektor b s poruchou δb. Tedy místosystému Ax = b řešíme systém (A+ δA)(x+ δx) = b+ δb.

Věta 4.10. Nechť A je regulární matice a nechť pro nějakou přidruženou mati-covou normu platí:

‖δA‖ < 1‖A−1‖ .

Řešení x = x∗ + δx∗ systému (A + δA)(x + δx) = b + δb aproximuje řešení x∗

systému Ax = b s chybou

‖δx∗‖‖x∗‖ ≤ k(A)

1− k(A)‖δA‖‖A‖

(‖δb‖‖b‖ +

‖δA‖‖A‖

)

. (4.25)

Důkaz. Z předpokladu ‖δA‖ < 1/‖A−1‖ plyne

‖A−1δA‖ ≤ ‖A−1‖ ‖δA‖ < 1 ,

a tedy podle věty 1.5 je matice (E +A−1δA) regulární a platí

‖(E +A−1δA)−1‖ ≤ 11− ‖A−1δA‖ ≤ 1

1− ‖A−1‖ ‖δA‖ . (4.26)

Upravíme systém(A+ δA)(x∗ + δx∗) = b+ δb

následujícím způsobem:

A−1(A+ δA)(x∗ + δx∗) = A−1(b+ δb)

(E +A−1δA)(x∗ + δx∗) = A−1(b+ δb)

x∗ + δx∗ = (E +A−1δA)−1A−1(b+ δb).

Na druhé straně je

x∗ = (E +A−1δA)−1(E +A−1δA)x∗

a odtud

x∗ + δx∗ − x∗ = (E +A−1δA)−1A−1(b+ δb)− x∗ −A−1δAx∗ ,

tj.δx∗ = (E +A−1δA)−1A−1(δb − δAx∗).

Page 132: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

126 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Přechodem k normě dostaneme

‖δx∗‖ ≤ ‖(E +A−1δA)−1‖ ‖A−1‖ (‖δb‖+ ‖δA‖ ‖x∗‖) ,

neboť přidružená maticová norma je souhlasná s danou vektorovou normou.V dalších úpravách užijeme vztahu (4.26):

‖δx∗‖‖x∗‖ ≤ ‖A−1‖

1− ‖A−1‖ ‖δA‖

( ‖δb‖‖x∗‖ + ‖δA‖

)

Jelikož ‖Ax∗‖ = ‖b‖, je ‖b‖ ≤ ‖A‖ ‖x∗‖, a tedy ‖x∗‖ ≥ ‖b‖/‖A‖. Odtud

‖δx∗‖‖x∗‖ ≤ ‖A−1‖ ‖A‖

1− ‖A−1‖ ‖δA‖

(‖δb‖‖b‖ +

‖δA‖‖A‖

)

.

Užijme nyní vyjádření pro číslo podmíněnosti k(A) = ‖A‖.‖A−1‖ a dostanemepožadovaný odhad (4.25). 2

Poznámka 10. Jestliže δb = o, ukazuje předchozí věta vliv poruchy matice A narelativní chybu řešení. V tomto případě

‖δx∗‖‖x∗‖ ≤ k(A)

1− k(A)‖δA‖‖A‖

‖δA‖‖A‖ .

Jmenovatel zlomku na pravé straně této nerovnosti je menší než 1. Tedy, dokoncei za předpokladu, že ‖δA‖/‖A‖ je malé číslo, chyba řešení může být značná, jestližek(A) je velké číslo. Stejný závěr platí i v případě existence poruch δA i δb. Číslopodmíněnosti k(A) má tedy zásadní význam pokud jde o citlivost řešení vzhledemke vstupním datům.

Předpokládejme nyní, že matice A je dána přesně, ale vektor b je dán s poru-chami. Tedy místo systému Ax = b řešíme systém A(x+ δx) = b+ δb.

Věta 4.11. Nechť A je regulární matice a vektor b 6= o. Jestliže δb resp. δx jsouporuchy vektoru b resp. x, pak

‖δb‖k(A)‖b‖ ≤ ‖δx∗‖

‖x∗‖ ≤ k(A)‖δb‖‖b‖ .

Důkaz pravé nerovnosti je důsledkem věty 4.10 a důkaz nerovnosti vlevo lzenalézt v [6]. Zde uvedeme interpretaci věty. Tato věta říká, že relativní chyba řešenímůže být tak velká jako číslo podmíněnosti matice A násobené relativní chybouvektoru b. Jestliže číslo podmíněnosti není příliš velké, potom malé změny vektorub mají za následek malé změny řešení. Vraťme se k předchozímu příkladu. Zde je

‖δx∗‖1‖x∗‖1

≤ 1112. 0,1122

≈ 10,1, x∗ = (x1, x2)T .

Page 133: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 4.7. Analýza chyb 127

Skutečná relativní chyba je 11,2/2 = 5,6.

Je třeba poznamenat, že horní hranice chyby je podstatně vyšší. Tento faktvyplývá z celkové koncepce odhadu chyb v numerické matematice, kdy vždy uva-žujeme horní odhad chyb, tj. nejhorší možný případ.

Příklad 4.12. Velmi známým příkladem špatně podmíněné matice je Hilbertovamatice:

A =

1 12

13 · · · 1

n

12

13

14 · · · 1

n+1

......

......

1n

1n+1

1n+2 · · · 1

2n−1

.

Pro n = 10 vzhledem k normě ‖ . ‖1 je k(A) = 3,5353.1013. Je vhodné si povšim-nout, že determinant této matice je velmi malý.Objasníme nyní praktický význam věty 4.10.Předpokládejme, že výpočet v pohyblivé řádové čárce se zaokrouhlováním na

t desetinných míst může zapříčinit relativní chyby dané v normách vztahy:

‖δA‖‖A‖ ≈ 5.10−t,

‖δb‖‖b‖ ≈ 5.10−t.

Za předpokladu, že k(A) ≈ 10α a 5.10α−t ≪ 1, dostaneme z odhadu ve větě 4.10:

‖δx∗‖‖x∗‖ ≤ 10α−t+1.

Tato skutečnost vede k následujícímu závěru:Jestliže řešíme systém Ax = b v pohyblivé řádové čárce se zaokrouhlováním na

t desetinných míst a k(A) ≈ 10α, pak vypočtené řešení x je správné na (t−α− 1)desetinných míst.

Nechť nyní x je vypočtené řešení (jakoukoliv metodou). Uvažujme reziduovývektor r = b − Ax. Zdálo by se logické, že když ‖r‖ je malé číslo, je x dobrouaproximací přesného řešení. Ale následující příklad ukazuje, že tomu tak být ne-musí.

Příklad 4.13. Uvažujme systém(

1 21,0001 2

)(x1x2

)

=(

33,0001

)

.

Tento systém má jediné řešení x∗ = (1, 1)T . Pro aproximaci x = (3, 0)T je rezidu-ový vektor tvaru

r = b −Ax =(

33,0001

)

−(

1 21,0001 2

)(30

)

=(

00,0002

)

.

Page 134: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

128 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Tedy ‖r‖∞ = 0,0002, ale ‖x− x‖∞ = 2.Z geometrického hlediska lze tuto situaci vysvětlit takto:Řešení systému je průsečík přímek

l1 : x1 + 2x2 = 3, l2 : 1,0001x1 + 2x2 = 3,0001.

Bod x = (3, 0) leží na přímce l1 a přímky l1 a l2 jsou téměř rovnoběžné, cožimplikuje, že bod (3, 0) leží blízko přímky l2, i když se podstatně liší od průsečíkupřímek v bodě (1, 1).

Matematicky lze tento jev objasnit následující větou.

Věta 4.12. Nechť x je aproximace řešení systému Ax = b s regulární maticí A.Pak pro přidruženou maticovou normu platí:

‖x∗ − x‖ ≤ ‖r‖ ‖A−1‖, (4.27)‖x∗ − x‖‖x∗‖ ≤ k(A)

‖r‖‖b‖ , za předpokladu b 6= o. (4.28)

Důkaz. Je r = b − Ax = Ax∗ − Ax ⇒ x∗ − x = A−1r, neboť A je regulárnímatice.Z vlastností přidružené normy plyne:

‖x∗ − x‖ = ‖A−1r‖ ≤ ‖A−1‖ ‖r‖

Dále b = Ax∗ a tedy ‖b‖ ≤ ‖A‖‖x∗‖, tj. ‖x∗‖ ≥ ‖b‖/‖A‖. Použitím vztahu (4.27)nyní dostaneme

‖x∗ − x‖‖x∗‖ ≤ ‖A−1‖ ‖A‖

‖b‖ ‖r‖ = k(A)‖r‖‖b‖ .

2

Tato věta říká, že relativní chyba aproximace x závisí nejen na reziduovémvektoru, ale také na čísle podmíněnosti matice A. Vypočtené řešení tedy budedostatečně přesné pouze v případě, že součin čísla podmíněnosti a relativníhorezidua ‖r‖/‖b‖ je malé číslo. Vraťme se nyní k předchozímu příkladu a vypočtěmečíslo podmíněnosti matice A vzhledem k ‖ . ‖∞. Je

A−1 =(

−10000 100005000,5 −5000

)

,

‖A‖∞ = 3,0001, ‖A−1‖∞ = 20000, tzn.

k(A) = 60002.

Číslo podmíněnosti je velmi velké, což znamená, že i v případě, že norma rezidu-ového vektoru je malé číslo, chyba aproximace může být velká.

Page 135: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 4 129

Poznámka 11. Nechť A je pozitivně definitní matice. Uvažujme spektrální normu‖A‖2 =

(ATA). Protože je A pozitivně definitní, platí

‖A‖2 = max1≤i≤n

λi

a‖A−1‖2 = ( min

1≤i≤nλi)−1.

Číslo podmíněnosti k(A) je v tomto případě tvaru

k(A) =maxλi

min λi.

Vrátíme-li se ke geometrické interpretaci hledání minima kvadratické funkce v od-stavci 4.5, je rovnice sTAs = c rovnicí hyperelipsoidu, jehož kanonický tvar je

n∑

i=1

λiz2i = c .

Je-li tedy matice A dobře podmíněna, k(A) ≈ 1, jsou hyperelipsoidy blízké kulo-vým nadplochám a naopak pro k(A)≫ 1 jsou hyperelipsoidy protáhlé.

Cvičení ke kapitole 4

1. Řešte systém GEM a) bez výběru hlavního prvku, b) s částečným výběremhlavního prvku, c) s úplným výběrem hlavního prvku:

x1 − x2 + 2x3 − x4 = −82x1 − 2x2 + 3x3 − 3x4 = −20x1 + x2 + x3 = −2x1 − x2 + 4x3 + 3x4 = 4

(Řešení: x1 = −7, x2 = 3, x3 = 2, x4 = 2.)2. Užijte Gaussovy eliminační metody s částečným výběrem hlavního prvkupro řešení soustavy

x2 + x3 = 02x1 + 2x2 + 3x3 = 1x1 + 2x2 + x3 = 5

.

3. Ukažte že matici A nelze rozložit na součin horní a dolní trojúhelníkovématice:

A =

1 1 1 11 1 0 22 2 3 0

−1 −1 −2 2

.

Řešte nyní systémy Ax = b1, Ax = b2, kde b1 = (7, 8, 10, 0)T , b2 =(7, 5, 10, 0)T . Užijte GEM a ukažte, že systém Ax = b1 má nekonečně mnohořešení a systém Ax = b2 nemá žádné řešení.

Page 136: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

130 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

4. Choleského metodou řešte soustavu

x1 + x2 + x3 = 3x1 + 5x2 + 5x3 = 11x1 + 5x2 + 14x3 = 20

.

5. Řešte systém Hx = b s Hilbertovou maticí H :

a)

H =

1 12

13

14

15

12

13

14

15

16

13

14

15

16

17

14

15

16

17

18

15

16

17

18

19

b =

10000

.

b) Dále řešte tento systém s maticí H = H + δH a porovnejte výsledky

H + δH =

1,0 0,5 0,33333 0,25 0,20,5 0,33333 0,25 0,2 0,166670,33333 0,25 0,2 0,16667 0,142860,25 0,2 0,16667 0,14286 0,1250,2 0,16667 0,14286 0,125 0,11111

b =

10000

.

( a) Řešení s maticí H :x = (25,−300, 1050,−1400, 630)T.

b) Řešení s maticí H:x = (28,02304;−348,5887; 1239,781;−1666,785; 753,5564)T.)

6. Přesné řešení systému

1,133x1 + 5,281x2 = 6,41424,14x1 − 1,210x2 = 22,93

je x = (1, 1)T . Řešte tento systém se zaokrouhlováním na 4 cifry

a) GEM bez výběru hlavního prvku,

b) GEM s částečným výběrem hlavního prvku.

Page 137: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 4 131

( a) x1 = 0,9956, x2 = 1,001; b) x1 = 1,000, x2 = 1,000.)

7. Uvažujme systémx1 + 2x2 = 22x1 + 3x2 = 3,4 ,

jehož přesné řešení je x = (0,8; 0,6)T . Vypočtěte reziduový vektor pro apro-ximaci x = (1,00; 0,48)T a vektor skutečné chyby řešení. Výsledky vysvětletegraficky.

8. Vypočtěte matici inverzní k matici

A =

1 −2 3−2 4 −51 −5 3

(správnost výsledků zkontrolujte výpočtem AA−1).

9. Najděte přímý rozklad A = LU (lii = 1, i = 1, 2, 3)

A =

−5 2 −11 0 33 1 6

(Řešení: L =

1 0 0−0,2 1 0−0,6 5,5 1

, U =

−5 2 −10 0,4 2,80 0 −10

)

10. Choleského metodou řešte soustavu

x1 + x2 + x3 = 2x1 + 5x2 + 5x3 = 5x1 + 5x2 + 14x3 = 8

11. Choleského metodou řešte systém

x1 + 3x2 − 2x3 − 2x5 = 0,53x1 + 4x2 − 5x3 + x4 − 3x5 = 5,4

−2x1 − 5x2 + 3x3 − 2x4 + 2x5 = 5,0x2 − 2x3 + 5x4 + 3x5 = 7,5

−2x1 − 3x2 + 2x3 + 3x4 + 4x5 = 3,3.

(Řešení: x∗ = (−0,60978;−2,2016;−6,8011;−0,8996; 0,1995)T.)

12. Croutovou metodou řešte systém

4x1 + 3x2 = 243x1 + 4x2 − x3 = 30

−x2 + 4x3 = −24.

(Řešení: x∗ = (3, 4,−5)T .)

Page 138: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

132 4. PŘíMÉ METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

13. Nechť A je pozitivně definitní matice. Ukažte, že

a) aii > 0, i = 1, 2, . . . , n,

b) max1≤i≤n

aii = maxi,j

|aij |.

Kontrolní otázky ke kapitole 4

1. Je možné provést rozklad A = LR, respektive PA = LR pro singulárnímatici A?

2. Popište, jak byste pomocí GEM řešili tuto úlohu:Je dáno m systémů lineárních rovnic vždy s toutéž maticí A. Tato úlohamůže být zapsána ve tvaru

AX = B ,

A ∈ Mn, B = (b1, . . . , bm), X = (x1, . . . ,xm) jsou matice typu n ×m, bi,bi, xi, i = 1, . . . ,m jsou vektory.

3. Lze užít elementární matici E1 definovanou vztahem (A11 6= 0)

E1 =

1

−a21a11

. . . 0... 1... 0

. . .−an1

a111

pro transformaci matice A = A(1) na matici A(2) v Gaussově eliminačnímetodě?

4. Lze použít Choleského metodu pro řešení systému s maticí

A =(0 11 0

)

?

5. Je možné rozložit matici

A =

3 3 2−1 −1 42 8 −2

na součin dolní a horní trojúhelníkové matice?

Page 139: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 5

Iterační metody řešenísystémů lineárních rovnic

Uvažujme systém lineárních rovnic

Ax = b (5.1)

s regulární maticí A ∈ Mn. Označme, stejně jako v předchozí kapitole, x∗ přesnéřešení tohoto systému,

x∗ = A−1b. (5.2)

Přímé metody založené na rozkladu matice A nejsou vhodné vzhledem k doběvýpočtu a nárokům na paměť počítače v případě, že matice A je dosti velká.V praxi se s takovými maticemi setkáváme např. při numerickém řešení parciálníchdiferenciálních rovnic, kdy se často vyskytují matice řádu n > 10000. V těchtopřípadech je použití Gaussovy eliminační metody velmi náročné. Na druhé stranětyto matice jsou často řídké, tj. mají velké procento nulových prvků, ale tatovlastnost se „ztrácíÿ užitím metod předchozí kapitoly. Pro řešení takových úloh lzeužít třídy metod, které se nazývají iterační metody. Tyto metody nemění strukturumatice A a požadují uchování pouze několika vektorů řádu n.

§ 5.1. Princip iteračních metod

Základní myšlenka iteračních metod spočívá nejdříve ve vyjádření systému Ax = b

v ekvivalentním tvaru

x = Tx+ g, T ∈ Mn, (5.3)

x∗ je řešení systému (5.1) právě tehdy, když x∗ je řešením systému (5.3), x∗ =(E − T )−1g za předpokladu, že E − T je regulární.

Page 140: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

134 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Nechť x0 ∈ Rn je libovolná počáteční aproximace. Posloupnost

xk∞

k=0určená

rekurentně vztahem

xk+1 = Txk + g, k = 0, 1, . . . (5.4)

se nazývá iterační posloupnost a matice T se nazývá iterační matice.Budeme se nyní zabývat dvěma problémy:

(a) Jak zvolit iterační matici T, tj. jakým způsobem převést systém (5.1) nasystém (5.3)?

(b) Za jakých předpokladů posloupnostxk∞

k=0konverguje pro libovolnou po-

čáteční aproximaci k přesnému řešení x∗?

Všimněme si, že vztah (5.4) může být také zapsán jiným způsobem:Je

x1 = Tx0 + g,x2 = Tx1 + g = T (Tx0 + g) + g = T 2x0 + (T + E)g,

...xk+1 = T k+1x0 + (T k + T k−1 + . . .+ E)g.

(5.5)

Mocniny matice T budou hrát zřejmě důležitou úlohu v našich dalších úvahách.Podívejme se na posloupnosti mocnin matic obecně.

Definice 5.1. Řekneme, že matice H ∈ Mn je konvergentní, jestliže

limk→∞

Hk = limk→∞

H . . .H︸ ︷︷ ︸

k-krát

= O,

kde O je nulová matice.

Příklad 5.1. Matice H =

(12 014

12

)

je konvergentní. Je totiž

H2 =

(14 014

14

)

, H3 =

(18 0316

18

)

, . . . , Hk =

(12

)k0

k2k+1

(12

)k

a odtud je zřejmé, že limk→∞

Hk = O.

Věta 5.1. ([8]) Následující tvrzení jsou ekvivalentní:

(i) H je konvergentní matice.

(ii) limk→∞

‖Hk‖ = 0 pro nějakou přidruženou maticovou normu.

(iii) (H) < 1 ((H) je spektrální poloměr H).

(iv) limk→∞

Hkx = o pro libovolný vektor x ∈ Rn.

Page 141: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.1. Princip iteračních metod 135

Příklad 5.2. Matice H =

(

1 014

12

)

není konvergentní, neboť (H) = 1.

V našich dalších úvahách budeme používat poznatků o normách vektorů a ma-tic z kapitoly 1.Vraťme se nyní k iteračnímu procesu (5.4). Dříve než dokážeme hlavní větu

o konvergenci iteračního procesu, dokážeme toto lemma:

Lemma. Nechť (T ) < 1. Pak E − T je regulární a platí

(E − T )−1 = E + T + T 2 + . . . (5.6)

Důkaz. První část tvrzení plyne z důsledku věty 1.5. Dokážeme platnost (5.6).Nechť

Sm = E + T + T 2 + . . .+ Tm.

Pak(E − T )Sm = (E − T )(E + . . .+ Tm) = E − Tm+1.

Jelikož (T ) < 1, je matice T konvergentní a tudíž limm→∞

Tm+1 = O. Odtud

limm→∞

(E − T )Sm = E,

což znamená, že(E − T )−1 = E + T + T 2 + . . .

2

Hlavní větu o konvergenci iteračního procesu (5.4) lze formulovat takto:

Věta 5.2. Posloupnostxk∞

k=0určená iteračním procesem (5.4) konverguje

pro každou počáteční aproximaci x0 ∈ Rn právě tehdy, když (T ) < 1, přičemžlim

k→∞xk = x∗, x∗ = Tx∗ + g.

Důkaz. Nechť x0 ∈ Rn je libovolná počáteční aproximace. Podle vztahu (5.5) lzeaproximaci xk+1 zapsat ve tvaru:

xk+1 = T k+1x0 + (T k + T k−1 + . . .+ T + E)g.

Nechť (T ) < 1. Pak podle věty 5.1 je matice T konvergentní a podle lemmatu je(E − T ) regulární. Odtud plyne, že

limk→∞

xk+1 = limk→∞

T k+1x0 + limk→∞

(T k + . . .+ T + E)g = o+ (E − T )−1g = x∗.

Nechť nyní iterační proces (5.4) konverguje k limitě x∗ pro každou počáteční apro-ximaci x0 ∈ Rn.Nechť xk = Txk−1 + g, k = 1, 2, . . ., x∗ = Tx∗ + g. Pak

x∗ − xk = T (x∗ − xk−1) = . . . = T k(x∗ − x0). (5.7)

Page 142: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

136 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Odtud pro libovolný vektor x0 ∈ Rn platí

limk→∞

(x∗ − xk) = limk→∞

T k(x∗ − x0) = o.

Nechť nyní z ∈ Rn je libovolný vektor a položme x0 = x∗ − z, pak

limk→∞

T kz = limk→∞

T k(x∗ − (x∗ − z)) = o,

což implikuje, podle věty 5.1, že (T ) < 1. 2

Poznámka 1. Kriteria pro zastavení výpočtu mohou být např. následující:

1. ‖xk+1 − xk‖/‖xk‖ < ε, kde ‖ . ‖ je nějaká vektorová norma a ε > 0 jepožadovaná přesnost,

2. ‖rk+1‖ ≤ ε(‖A‖ ‖xk+1‖+ ‖b‖), kde rk+1 = Axk+1 − b,

maticová norma je přidružená dané vektorové normě, a ε > 0 je požadovanápřesnost.

Víme, že pro přidruženou maticovou normu platí ‖T ‖ ≥ (T ). Nutnou a po-stačující podmínku (T ) < 1 lze pak ve větě 5.2 nahradit podmínkou postačující:‖T ‖ < 1. Tuto skutečnost zformulujme jako důsledek.Důsledek. Nechť pro nějakou přidruženou maticovou normu platí ‖T ‖ < 1. Pakposloupnost

xk∞

k=0generovaná iteračním procesem (5.4) konverguje k řešení

x∗ = (E − T )−1g pro každou počáteční aproximaci x0 ∈ Rn. Dále platí

‖x∗ − xk‖ ≤ ‖T ‖k‖x∗ − x0‖, (5.8)

‖x∗ − xk‖ ≤ ‖T ‖k

1− ‖T ‖‖x1 − x0‖. (5.9)

Důkaz. Jak již bylo uvedeno, první část důkazu plyne ze skutečnosti 1 > ‖T ‖ ≥(T ) a je tedy důsledkem předchozí věty. Ale důkaz lze rovněž provést aplikacíBanachovy věty o pevném bodě:Uvažujme zobrazení F : Rn → Rn, Fx = Tx+ g. Ukážeme, že toto zobrazení

je kontrakce v prostoru Rn vzhledem k metrice (x,y) = ‖x − y‖, Rn je úplnýmetrický prostor. Je totiž

‖Fx − Fy‖ = ‖T (x− y)‖ ≤ ‖T ‖ ‖x − y‖ = q‖x − y‖.

To znamená, že F je kontrakce s koeficientem q = ‖T ‖. Z Banachovy věty o pevnémbodě plyne tvrzení a rovněž vztah (5.9).Pokud jde o odhad daný vztahem (5.8), plyne ihned ze vztahu (5.7), neboť

‖x∗ − xk‖ = ‖T k(x∗ − x0)‖ ≤ ‖T ‖k‖x∗ − x0‖.

2

Připomeňme ještě zajímavý výsledek, týkající se vztahu přidružené normy ma-tice a jejího spektrálního poloměru: Pro každou matici A a libovolné ε > 0 existuje

Page 143: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.2. Jacobiova iterační metoda 137

přidružená maticová norma s vlastností ‖A‖ ≤ (A) + ε. Tedy (A) je infimumvšech přidružených norem matice A ([17]).Vraťme se nyní k iteračním procesům. Jelikož vztah (5.8) platí pro každou

přidruženou maticovou normu, plyne z předchozího

‖xk − x∗‖ ≈ ((T ))k‖x0 − x∗‖. (5.10)

Předpokládejme, že (T ) < 1 a x0 = o je počáteční aproximace. Chceme-li do-sáhnout relativní chyby nejvýše 10−t, je podle vztahu (5.10) zapotřebí k iterací,přičemž pro k platí

((T ))k ≤ 10−t,

tj.

k ≥ − t

log (T ). (5.11)

§ 5.2. Jacobiova iterační metoda

Volbou iterační matice T lze získat konkrétní iterační metody.

Matici A zapišme ve tvaru

A = D − L− U,

kde

D =

a11 0. . .

0 ann

,

L =

0 0

−a21. . .

.... . .

. . .−an1 · · · −an,n−1 0

,

U =

0 −a12 · · · −a1n. . .

. . ....

. . . −an−1,n0 0

.

D je diagonální matice, L je dolní trojúhelníková matice s nulami na diagonálea U je horní trojúhelníková matice s nulami na diagonále.Rovnici Ax = b zapíšeme ve tvaru (D − L − U)x = b a transformujeme ji na

rovniciDx = (L+ U)x+ b.

Page 144: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

138 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Za předpokladu, že aii 6= 0, i = 1, . . . , n, je matice D regulární a z předchozírovnice lze vypočítat x

x = D−1(L+ U)x+D−1b. (5.12)

Tento vztah vede na maticový tvar Jacobiovy iterační metody. Označíme-li TJ =D−1(L+ U), je tato metoda tvaru:

xk+1 = TJxk +D−1b, (5.13)

kde TJ = (tij) je Jacobiova iterační matice, tij = −aij

aiipro i 6= j, tii = 0 pro

i = 1, . . . , n. Matice TJ má tedy nulové diagonální prvky a je tvaru

TJ =

0 −a12a11

· · · −a1na11

−a21a22

0 −a2na22

.... . .

...

− an1

ann− an2

ann· · · 0

. (5.14)

Ve složkách vektoru xk lze Jacobiovu iterační metodu zapsat takto:

xk+1i = −

n∑

j=1j 6=i

aij

aiixk

j +biaii, i = 1, . . . , n; k ≥ 0. (5.15)

Pro realizaci výpočtu to znamená, že z první rovnice vypočteme x1, z druhéx2, obecně z k-té rovnice vypočteme xk až z n-té rovnice vypočteme xn a na pravéstraně takto získaného systému jsou prvky matice TJ .Z věty 5.2 ihned plyne věta o konvergenci Jacobiovy iterační metody:

Věta 5.3. Posloupnostxk∞

k=0generovaná metodou (5.13) konverguje pro kaž-

dou počáteční aproximaci x0 ∈ Rn právě tehdy, když (TJ) < 1.

Příklad 5.3. Jacobiovou iterační metodou řešte systém

10x1 − 2x2 − 2x3 = 6

− x1 + 10x2 − 2x3 = 7

− x1 − x2 + 10x3 = 8,

jehož přesné řešení x∗ = (1, 1, 1)T .Řešení. Jacobiova iterační metoda je tvaru

xk+11 = 1

10 (6 + 2xk2 + 2x

k3)

xk+12 = 1

10 (7 + xk1 + 2x

k3)

xk+13 = 1

10 (8 + xk1 + xk

2)

Page 145: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.2. Jacobiova iterační metoda 139

Nechť x0 = (0, 0, 0)T . Pak

x1 =

0,6

0,7

0,8

x2 =

0,90

0,92

0,93

x3 =

0,970

0,976

0,982

x4 =

0,9918

0,9934

0,9958

Matice TJ je v tomto případě tvaru

TJ =

0 0,2 0,2

0,1 0 0,2

0,1 0,1 0

(TJ) = 0,285

a ‖TJ‖∞ = 0,4. Podle věty 5.3 je posloupnostxkkonvergentní.

Pro odhad chyby platí (viz (5.9))

‖x∗ − xk‖∞ ≤ ‖TJ‖k∞

1− ‖T ‖∞‖x1 − x0‖∞,

což v našem případě pro k = 4

‖x∗ − x4‖∞ ≤ 0,44

0,60,8 ≈ 0,034.

Na druhé straně, skutečná chyba ‖x∗ − x4‖∞ ≈ 0,008. Vztah (5.9) udává totiž,jako obvykle v numerických metodách, horní odhad chyby.

Pro některé speciální typy matice A je zaručena konvergence Jacobiovy iteračnímetody.

Věta 5.4.

a) Silné řádkové sumační kriterium:

Nechť matice A je ryze řádkově diagonálně dominantní, tj.

|aii| >n∑

j=1j 6=i

|aij |, i = 1, . . . , n.

Pak Jacobiova iterační metoda konverguje pro každou počáteční aproximacix0 ∈ Rn.

b) Silné sloupcové sumační kriterium:

Nechť matice A je ryze sloupcově diagonálně dominantní, tj.

|akk| >n∑

i=1i 6=k

|aik|, k = 1, . . . , n.

Pak Jacobiova iterační metoda konverguje pro každou počáteční aproximacix0 ∈ Rn.

Page 146: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

140 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Důkaz.

a) Spočítejme normu ‖ . ‖∞ matice TJ = D−1(L+ U). Je

‖TJ‖∞ = max1≤i ≤n

n∑

j=1

|tij | = max1≤i ≤n

n∑

j=1j 6=i

∣∣∣∣

aij

aii

∣∣∣∣.

Jelikož

|aii| >n∑

j=1j 6=i

|aij |,

jen∑

j=1

∣∣∣∣

aij

aii

∣∣∣∣< 1, i = 1, . . . , n

a odtud ‖TJ‖∞ < 1. Podle důsledku věty 5.2 je Jacobiova iterační metodakonvergentní.

b) Podle předpokladu Jacobiova metoda konverguje pro matici AT . To zna-mená, že (D−1(LT +UT )) < 1. Položme X = D−1(LT +UT ). Tato maticemá stejná vlastní čísla jako matice XT = (L + U)D−1. Dále matice XT mástejná vlastní čísla jako matice s ní podobná

D−1XTD = D−1(L+ U)D−1D = D−1(L+ U) = TJ

a odtud plyne, že (TJ) < 1 a je splněn předpoklad věty 5.3.

2

Matice A systému příkladu 5.3 je ryze řádkově i sloupcově diagonálně domi-nantní.Geometrický význam Jacobiovymetody budeme ilustrovat na příkladu systému

dvou rovnic:

Příklad 5.4. Uvažujme systém

l1: a11x1 + a12x2 = b1l2: a21x1 + a22x2 = b2.

Tyto rovnice jsou rovnice přímek l1, l2. Jacobiova iterační metoda je tvaru:

l1: xk+11 = −a12

a11xk2 +

b1a11

l2: xk+12 = −a21

a22xk1 +

b2a22

(5.16)

a iterační matice

TJ =

0 −a12a11

−a21a22

0

Page 147: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.3. Gaussova-Seidelova iterační metoda 141

má charakteristickou rovnici λ2 + a12a21/a11a22 = 0.

Ze vztahů (5.16) bezprostředně plyne geometrický význam této metody:Bod (xk+1

1 , xk2) leží na přímce l1, bod (x

k1 , x

k+12 ) leží na přímce l2. Bod

(xk+11 , xk+1

2 ) je průsečíkem přímek x2 = xk+11 a x2 = x

k+12 .

Graficky je tato metoda ilustrována na obr. 5.1.

0 1 2 3 4 5 60

1

2

3

4

5

6

x0

x1

x2

x3

x4

x1

x 2

l1: 2x

1−x

2−1.5=0

l2: x

1−2x

2+1=0

Obr. 5.1: Jacobiova iterační metoda

Poznámka 2. Vlastní čísla matice TJ jsou dána vztahem λ2 = −a12a21/a11a22.Vyměníme-li pořadí přímek (za předpokladu, že aij 6= 0, i, j = 1, 2) budou vlastníčísla tohoto systému rovna převráceným hodnotám čísel λ, což má za následekzměnu konvergentního procesu v proces divergentní a naopak.

§ 5.3. Gaussova-Seidelova iterační metoda

Při použití Jacobiovy metody při výpočtu xk+1 musíme uchovávat v paměti po-čítače celý vektor xk. Jistou modifikací Jacobiovy metody je metoda, která přivýpočtu složky xk+1

i , 1 < i ≤ n, používá již vypočtené složky xk+11 , . . . , xk+1

i−1 .Popišme nyní tuto metodu podrobněji. Uvedeme nejdříve zápis po složkách a potépřejdeme k maticovému zápisu.

Uvažovaná metoda může být zapsána takto:

a11xk+11 + a12x

k2 + . . . + a1nx

kn = b1

a21xk+11 + a22x

k+12 + . . . + a2nx

kn = b2

......

an1xk+11 + an2x

k+12 + . . . + annx

k+1n = bn

Page 148: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

142 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

neboli

xk+1i = −

i−1∑

j=1

aij

aiixk+1

j −n∑

j=i+1

aij

aiixk

j +biaii, i = 1, . . . , n. (5.17)

Tato metoda se nazývá Gaussova-Seidelova metoda.

Vztah (5.17), který je v podstatě získaný obdobným postupem jako u Jacobiovymetody, je vhodný pro praktické použití.

Maticový zápis Gaussovy-Seidelovy metody lze získat takto:

Ax = b ⇒ (D − L− U)x = b

(D − L)x = Ux+ b.

Za předpokladu, že aii 6= 0, i = 1, . . . , n, je matice D − L regulární a

x = (D − L)−1Ux+ (D − L)−1b.

Položíme-li TG = (D − L)−1U , je Gaussova-Seidelova iterační metoda tvaru

xk+1 = TGxk + g, g = (D − L)−1b. (5.18)

Věta 5.5. Posloupnostxk∞

k=0generovaná Gaussovou-Seidelovou iterační me-

todou (5.18) konverguje pro každou počáteční aproximaci x0 ∈ Rn právě tehdy,když (TG) < 1.

Důkaz. Věta je přímým důsledkem věty 5.2. 2

Poznámka 3. Vztah (5.18) umožňuje stanovit kritéria pro konvergenci metody.

Věta 5.6. Nechť jsou splněny předpoklady a), b) věty 5.4. Pak Gaussova-Seidelovametoda konverguje pro každou počáteční aproximaci x0 ∈ Rn.

Důkaz.Důkaz provedeme pouze pro ryze řádkově diagonálně dominantní matice.Nechť λ je vlastní číslo matice TG = (D − L)−1U a nechť x = (x1, . . . , xn)T jeodpovídající vlastní vektor. Odtud plyne, že

TGx = λx ⇒ (D − L)−1Ux = λx ⇒ Ux = λ(D − L)x,

neboli vyjádřeno ve složkách vektoru x

−n∑

j=i+1

aijxj = λi∑

j=1

aijxj .

Poslední vztah můžeme přepsat takto:

λaiixi = −λi−1∑

j=1

aijxj −n∑

j=i+1

aijxj , 1 ≤ i ≤ n.

Page 149: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.3. Gaussova-Seidelova iterační metoda 143

Nechť |xk| = max1≤i ≤n

|xi|. Nyní pro i = k dostaneme z předchozího vztahu

|λ||akk| ≤ |λ|k−1∑

j=1

|akj |+n∑

j=k+1

|akj |,

což znamená, že

|λ|

|akk| −k−1∑

j=1

|akj |

≤n∑

j=k+1

|akj |

neboli

|λ| ≤

n∑

j=k+1

|akj |

|akk| −k−1∑

j=1

|akj |

(5.19)

Matice A je ryze řádkově diagonálně dominantní, tj.

|akk| >n∑

j=1j 6=k

|akj |,

což také znamená, že

|akk| −k−1∑

j=1

|akj | >n∑

j=k+1

|akj |. (5.20)

Nyní z (5.20) a (5.18) plyne, že |λ| < 1 a tedy (TG) < 1 a věta je dokázána. 2

Příklad 5.5. Systém v příkladě 5.3 řešte Gaussovou-Seidelovou iterační metodou.Řešení. Gaussova-Seidelova metoda bude konvergovat pro každou počáteční apro-ximaci, neboť matice systému je ryze řádkově diagonálně dominantní.Tato metoda je nyní tvaru

xk+11 = 1

10 (6 + 2xk2 + 2xk

3)

xk+12 = 1

10 (7 + xk+11 + 2xk

3)

xk+13 = 1

10 (8 + xk+11 + xk+1

2 )

Nechť x0 = (0, 0, 0)T . Pak

x1 =

0,6

0,76

0,936

x2 =

0,9392

0,98112

0,99203

x3 =

0,994630

0,997869

0,9992499

Nyní ‖x∗ − x3‖∞ ≈ 0,005.

Page 150: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

144 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Iterační matice TG je tvaru

TG =

0 0,2 0,2

0 0,02 0,22

0 0,022 0,042

(TG) = 0,101.

Podívejme se nyní na geometrický význam Gaussovy-Seidelovy metody.

Příklad 5.6. Uvažujme systém dvou rovnic:

l1: a11x1 + a12x2 = b1l2: a21x1 + a22x2 = b2

Gaussova-Seidelova iterační metoda je tvaru

l1: xk+11 = −a12

a11xk2 +

b1a11

l2: xk+12 = −a21

a22xk+11 +

b2a22

(5.21)

Iterační matici TG lze v tomto případě jednoduše získat dosazením xk+11 z první

rovnice do druhé rovnice:

l1: xk+11 = −a12

a11xk2 +

b1a11

l2: xk+12 = −a12a21

a11a22xk2 +

b2a22

− a21b1a22a11

Iterační matice TG

TG =

0 −a12a11

0a12a21a11a22

je singulární. Vlastní čísla této matice vyhovují rovnici

λ

(

λ− a12a21a11a22

)

= 0,

tj. λ1 = 0, λ2 = a12a21/a11a22.Z geometrického hlediska bod o souřadnicích (xk+1

1 , xk2) leží na přímce l1 a bod

(xk+11 , xk+1

2 ) leží na přímce l2. Tato skutečnost je zřejmá ze vztahů (5.21).Graficky je iterační proces znázorněn na obr. 5.2.I v tomto případě, při změně pořadí rovnic, konvergentní proces se změní na

divergentní a naopak.

Viděli jsme, že pro ryze řádkově diagonálně dominantní matice Jacobiovai Gaussova-Seidelova metoda konvergují. Přirozeně vzniká otázka, zda toto platí

Page 151: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.4. Relaxační metody 145

0 1 2 3 4 5 60

1

2

3

4

5

6

x0

x1

x2

x3

x1

x 2

l1: 2x

1-x

2-1.5=0

l2: x

1-2x

2+1=0

Obr. 5.2: Gaussova-Seidelova iterační metoda

i pro jiné typy matic a jestliže ano, která z metod konverguje rychleji. Ale obecnějsou obory konvergence těchto dvou metod různé a jen částečně se překrývají.Porovnat obory konvergence těchto metod lze pouze ve speciálních případech.

Věta 5.7. (Stein-Rosenberg). ([5]) Nechť pro prvky matice A platí aij ≤ 0 provšechna i 6= j a aii > 0, i = 1, . . . , n. Pak platí právě jedno z následujících tvrzení:

(a) 0 < (TG) < (TJ) < 1

(b) 1 < (TJ) < (TG)

(c) (TJ) = (TG) = 0

(d) (TJ) = (TG) = 1.

To znamená, že konvergují-li obě metody, Gaussova-Seidelova metoda konvergujerychleji.

Podle této věty pro systémy v příkladě 5.5 konverguje Gaussova-Seidelova me-toda rychleji než Jacobiova, neboť (TG) < (TJ). Uvedeme ještě jednu větu tý-kající se Gaussovy-Seidelovy iterační metody.

Věta 5.8. Nechť A je pozitivně definitní matice. Pak Gaussova-Seidelova metodakonverguje pro každou počáteční aproximaci.

Důkaz viz [5].

§ 5.4. Relaxační metody

Na základě předchozích výsledků lze vyslovit hypotézu, že existují jednoduchématice T , pro které odpovídající iterační proces konverguje rychleji než v případě

Page 152: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

146 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Gaussovy-Seidelovy metody. Uvažujme třídu matic Tω závisejících na parametruω a budeme se snažit vybrat parametr ω optimálním způsobem, tj. tak, aby číslo(Tω) bylo co nejmenší. Speciálně uvažujme tuto třídu matic:

Tω = (D − ωL)−1[(1− ω)D + ωU ]

Parametr ω se nazývá relaxační parametr a odpovídající metody se nazývají rela-xační metody.

Pro 0 < ω < 1 se iterační metody nazývají metodami dolní relaxace. Tytometody jsou vhodné v případě, že Gaussova-Seidelova me-toda nekonverguje.

Pro ω = 1 je relaxační metoda totožná s Gaussovou-Seidelovou meto-dou.

Pro 1 < ω se metody nazývají metodami horní relaxace, nebo častějiSOR metodami (SOR = Successive Over-Relaxation). Tytometody lze užít ke zrychlení konvergence Gaussovy-Seidelovymetody.

Relaxační metodu lze maticově zapsat takto

xk+1 = (D − ωL)−1[(1 − ω)D + ωU ]xk + ω(D − ωL)−1b (5.22)

a zápis v jednotlivých složkách je tvaru

xk+1i = (1 − ω)xk

i +ω

aii

bi −i−1∑

j=1

aijxk+1j −

n∑

j=i+1

aijxkj

. (5.23)

Je přirozené zabývat se otázkou, pro které hodnoty parametru ω bude iteračníproces (5.22) konvergovat. Další otázkou je optimální volba parametru ω. Na prvníotázku obecně neexistuje vyčerpávající odpověď, ale následující výsledek je velmidůležitý.

Věta 5.9. (Kahan). Nechť aii 6= 0, i = 1, . . . , n. Pak

(Tω) ≥ |ω − 1|.

Důkaz. Připomeňme, že D − ωL je dolní trojúhelníková matice tvaru

D − ωL =

a11 0

a21ω. . .

.... . .

an1ω · · · · · · ann

Page 153: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.4. Relaxační metody 147

Je zřejmé, že detD = det(D − ωL) =n∏

i=1

aii.

Zabývejme se nyní charakteristickým polynomem ϕ(λ) matice Tω:

ϕ(λ) = det(Tω − λE) =

= detD−1 det(D − ωL) det(Tω − λE) =

= detD−1 det(D − ωL)(Tω − λE) =

= detD−1(D − ωL)((D − ωL)−1[(1− ω)D + ωU ]− λE

)=

= detD−1 ((1 − ω)D + ωU − (D − ωL)λE) =

= det((1− ω − λ)E + ωD−1(U + λL)

).

ϕ(λ) je charakteristický polynom; jeho hodnota v bodě λ = 0 je rovna determi-nantu dané matice Tω. Z vlastností kořenů charakteristického polynomu a z před-chozího vztahu však dále plyne, že

ϕ(0) =n∏

i=1

λi = det((1− ω)E + ωD−1U

),

kde λi, i = 1, . . . , n, jsou vlastní čísla matice Tω. Matice (1 − ω)E + ωD−1U jehorní trojúhelníková matice s prvky 1− ω na diagonále. Odtud plyne, že

det((1− ω)E + ωD−1U

)= (1 − ω)n.

Nyní z rovnostin∏

i=1

λi = (1− ω)n nutně plyne, že (Tω) = max1≤i ≤n

|λi| ≥ |1− ω|. 2

Poznámka 4. Z předchozí věty plyne, že má smysl uvažovat pouze ω ∈ (0, 2).Uvažujeme-li nyní stejný systém jako v příkladu 5.4, je příslušná iterační matice

Tω tvaru

Tω =

1− ω −a12a11

ω

−a21a22

ω(1− ω)a12a21a11a22

ω2 + (1− ω)

a vektor

gω =(b1a11

ω,b2a22

ω − b1a21a11a22

ω2)T

.

Geometricky jsou iterace této metody znázorněny na obr. 5.3 a 5.4.

Následující věty udávají postačující podmínky pro konvergenci relaxační me-tody pro některé typy matic.

Věta 5.10. (Ostrowski-Reich). Pro pozitivně definitní matici A platí (Tω) < 1pro všechna ω ∈ (0, 2).Důkaz viz [5].

Page 154: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

148 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

0 1 2 3 4 5 60

1

2

3

4

5

6

x0

x1

x2

x3

x4

x5

x6

x1

x 2

l1: 2x

1-x

2-1.5=0

l2: x

1-2x

2+1=0

Obr. 5.3: Relaxační metoda pro ω = 0,5

0 1 2 3 4 5 60

1

2

3

4

5

6

x0

x1

x2x3

x1

x 2

l1: 2x

1-x

2-1.5=0

l2: x

1-2x

2+1=0

Obr. 5.4: Relaxační metoda pro ω = 1,4

Page 155: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.4. Relaxační metody 149

Poznámka 5. Z této věty plyne jako důsledek věta 5.8.

Pokud jde o optimální hodnotu parametru ω, tj. hodnotu ω ∈ (0, 2), pro kterouje konvergence relaxační metody nejrychlejší, uvedeme bez důkazu pouze tuto větu([5]).

Věta 5.11. Nechť A je třídiagonální pozitivně definitní matice. Pak (TG) =2(TJ) < 1 a optimální hodnota relaxačního parametru je dána vztahem

ω = ωopt =2

1 +√

1− 2(TJ).

Při této volbě je (Tω) = |1− ω|.Příklad 5.7. Uvažujme systém

2x1 − x3 = 1

− x1 + 2x2 − x3 = 0

− x2 + 2x3 = 1,

jehož přesné řešení je x∗ = (1, 1, 1)T .Matice tohoto systému je třídiagonální a pozitivně definitní a jsou tedy splněny

předpoklady věty 5.11. Pro spektrální poloměry iteračních matic platí

(TG) = (TJ)2

a optimální hodnota relaxačního parametru ω je dána vztahem

ωopt =2

1 +√

1− ((TJ))2.

Spektrální poloměr iterační matice pro relaxační metodu je roven (Tωopt) = |1−

ωopt|.Jacobiova matice je tvaru

TJ =

0 0,5 0

0,5 0 0,5

0 0,5 0

.

Vlastní čísla této matice jsou λ1 = 0, λ2,3 = ±√2/2. Tedy (TJ ) =

√2/2,

(TG) = 1/2 a

ωopt =2

1 +√

1− 1/2≈ 1,172.

Za optimální hodnotu parametru ω lze tedy vzít hodnotu 1,17. Pro tuto hodnoturelaxačního parametru je (Tωopt

) = 0,17.Ze vztahu (5.10) plyne, že pro dosažení relativní chyby řádově 10−3 je třeba

provést 5 iterací, zatímco v případě použití Gaussovy-Seidelovy iterační metodyje třeba provést 10 iterací.

Page 156: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

150 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Pro daný systém a ω = 1,17 je relaxační metoda tvaru

xk+11 = −0,17xk

1 + 0,585(1 + xk2)

xk+12 = −0,17xk

2 + 0,585(xk+11 + xk

3)

xk+13 = −0,17xk

3 + 0,585(1 + xk+12 )

Pro počáteční aproximaci x0 = (0, 0, 0)T dostaneme

x11 = 0,585 x12 = 0,3422 x13 = 0,7852

x21 = 0,685752 x22 = 0,802329 x23 = 0,920878

x31 = 0,9377849 x32 = 0,9509221 x33 = 0,9847401

x41 = 0,9818660 x42 = 0,9888078 x43 = 0,9960467

x51 = 0,9965353 x52 = 0,9975632 x53 = 0,9992465.

Z výsledků této kapitoly je zřejmé, že pro (T ) < 1 iterační proces konvergujea pro (T ) > 1 určitě diverguje.Povšimněme si nyní chování posloupnosti v případě (T ) = 1. Touto otázkou

se nebudeme zabývat podrobně, ale upozorníme na zajímavé geometrické chováníněkterých iteračních posloupností.

Definice 5.2. Nechť xk∞k=0 je posloupnost generovaná iterační metodou (5.4)s počáteční aproximací x0 ∈ Rn. Řekneme, že vektor x0 generuje cyklus řádu p,p ∈ N , p ≥ 2, jestliže xp = x0, přičemž xk 6= x0, k = 1, 2, . . . , p− 1.Samozřejmě se předpokládá x0 6= x∗.Dá se ukázat (viz [24]), že pro systém tvaru

x1 + kx2 = b1x1 − kx2 = b2,

kde k 6= 0, nastane pro Jacobiovu metodu cyklus řádu 4 pro každou počátečníaproximaci. V tomto případě (TJ) = 1. Pro Gaussovu-Seidelovu metodu nastanecyklus řádu 2, ale až od 1. aproximace, tj. vlastně s počáteční aproximací Tx0.Graficky jsou cykly pro tyto metody znázorněny na obr. 5.5, 5.6.Zajímavá situace se objevuje u relaxační metody. Uvažujme systém tvaru

x1 + x2 = 1qx1 + x2 = 1.

Odpovídající relaxační matice Tω a vektor gω jsou tvaru

Tω =

1− ω −ω

−qω(1− ω) qω2 + (1− ω)

, gω =

ω

ω(1− qω)

.

Page 157: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 5.4. Relaxační metody 151

−10 −8 −6 −4 −2 0 2 4 6−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

x0

x1

x2

x1

x 2

x1+3x

2-3=0 x

1-3x

2+6=0

Obr. 5.5: Gaussova-Seidelova iterační metoda

−10 −8 −6 −4 −2 0 2 4 6−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

x0

x1

x2

x3

x1

x 2

x1+3x

2-3=0 x

1-3x

2+6=0

Obr. 5.6: Jacobiova iterační metoda

Page 158: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

152 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

Pro ω = 2 je matice T2 a vektor g2 tvaru

T2 =

−1 −22q 4q − 1

, g2 =

2

2(1− 2q)

.

Charakteristický polynom

ϕ(λ) = λ2 + λ(2− 4q) + 1

má kořenyλ1,2 = −1 + 2q ± 2

q(q − 1).Pro q ∈ (0, 1) jsou tyto kořeny komplexně sdružené a jejich absolutní hodnotaje rovna jedné, tedy (T2) = 1. Vlastní čísla λ1, λ2 mohou být také vyjádřenav goniometrickém tvaru

λ1,2 = cosϕ± i sinϕ

a lze ukázat ([24]), že

q =12(1 + cosϕ) .

V práci [24] je dokázáno, že cyklus řádu p > 2 existuje tehdy a jen tehdy, kdyžϕ = 2πl/p, 0 < l < p/2. Vztah q = (1+cosϕ)/2 umožňuje nalézt systém generujícícyklus daného řádu p vhodnou volbou p, l.

Např.: pro q = 0.5((1+cos 2π 411 ).= 0.17257 existuje cyklus řádu 11 (viz obr. 5.7)

pro q = 0.5((1+cos2π 940 ).= 0.578217 existuje cyklus řádu 40 (viz obr. 5.8).

−3 −2 −1 0 1 2 3−1

−0.5

0

0.5

1

1.5

2

2.5

3

x0

x1

x 2

Obr. 5.7: Cyklus řádu 11, počáteční aproximace x0 = (0, 0).

Page 159: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 5 153

−3 −2 −1 0 1 2 3−1

−0.5

0

0.5

1

1.5

2

2.5

3

x0

x1

x 2

Obr. 5.8: Cyklus řádu 40, počáteční aproximace x0 = (0, 0).

Všechny body cyklu řádu p = l/s leží na elipse, jejíž střed je přesné řešení x∗.Rovnice elipsy je tvaru

x21 +x22q+ 2x1x2 −

2x2q

− 2x1 = (x01)2 +(x02)

2

q+ 2x01x

02 −2x02q

− 2x01,

kde x0 = (x01, x02) je počáteční aproximace.

Pro různou volbu počátečních aproximací dostáváme množinu soustřednýchelips.

Poznámka 6. Jestliže v iteračním procesu (5.4) nastává cyklus, pak (Tω) =1. Ale opak neplatí. Je-li (Tω) = 1, nemusí v iteračním procesu nastat cyklus.Otázky cyklů iteračních metod jsou podrobně studovány v [24].

Cvičení ke kapitole 5

1. Je matice H =

0, 2 0, 3 −0, 10, 7 −0, 15 0, 05

0, 2 0, 0 0, 6

konvergentní?

2. a) Jacobiovou, b) Gaussovou-Seidelovou iterační metodou řešte systémy

10x1 − 2x2 − 2x3 = 6

− x1 + 10x2 − 2x3 = 7

− x1 − x2 + 10x3 = 8

2x1 − x2 + x3 = −13x1 + 3x2 + 9x3 = 0

3x1 + 3x2 + 5x3 = 4

.

Page 160: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

154 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

3. Ukažte, že pro systém

x1 + x2 = 1

2(1− ε)x1 + x2 + x3 = 2

x3 + x4 = −1−(1− ε)2x1 + x4 = 5

(0 < ε < 0,1) Jacobiova metoda konverguje a Gaussova-Seidelova metodadiverguje.

4. Ukažte, že pro systém

2x2 + 4x3 = 0

x1 − x2 − x3 = 0,375

x1 − x2 + 2x3 = 0

diverguje Jacobiova i Gaussova-Seidelova metoda.

5. Ukažte, že pro systém

4x1 + 3x2 = 24

3x1 + 4x2 − x3 = 30

−x2 + 4x3 = −24

Jacobiova iterační metoda konverguje. Zvolte počáteční aproximaci x0 =(1, 1, 1)T a vypočtěte x1 a x2.

6. Ukažte, že pro systém

3x1 + 2x2 + 2x3 = 1

2x1 + 3x2 + 2x3 = 0

2x1 + 2x2 + 3x3 = −1

Jacobiova iterační metoda diverguje a Gaussova-Seidelova metoda konver-guje.

7. Dokažte, že pro systém

10x1 − x2 + 2x3 − 3x4 = 0

x1 + 10x2 − x3 + 2x4 = 5

2x1 + 3x2 + 20x3 − x4 = −103x1 + 2x2 + x3 + 20x4 = 15

Jacobiova iterační metoda konverguje. Kolik iterací je třeba k nalezení řešenís chybou menší než 10−4?(Řešení: k ≥ 17.)

Page 161: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 5 155

8. Ukažte, že pro systém

4x1 + 3x2 + 2x3 = −1x1 + 5x2 + 4x3 = 2

2x1 − x2 − 7x3 = 4

Jacobiova metoda konverguje. Zvolte počáteční iteraci x0 = (1, 1, 1)T a vy-počtěte x1 a x2.

9. Ukažte, že pro systém

3x1 + x2 + x3 = 2

2x1 + 4x2 + x3 = 4

−x1 − x2 − 3x3 = −1

Gaussova-Seidelovametoda konverguje. Zvolte počáteční iteraci x0 = (0, 0, 0)T

a vypočtěte první dvě iterace.

10. Ukažte, že pro systém

2x1 − x2 − x3 = 3

−x1 + 3x2 − 2x3 = 1

−3x1 − x2 + 4x3 = −1

Jacobiova iterační metoda diverguje.

11. Ukažte, že pro systém

6x1 + 3x2 = 10

3x1 + 5x2 − x3 = 5

−x2 + 4x3 = −6

Gaussova–Seidelova iterační metoda konverguje. Zvolte počáteční aproxima-ci x0 = (1, 1, 1)T a vypočtěte x1 a x2.

12. Systém

4x1 + 3x2 = 24

3x1 + 4x2 − x3 = 30

− x2 + 4x3 = −24

má přesné řešení x∗ = (3, 4,−5)T . Užijte Gaussovy-Seidelovy iterační me-tody a relaxační metody s parametrem ω = 1,25. Porovnejte výsledky poprovedení 7 iterací. Vypočtěte optimální hodnotu parametru ω.(Řešení: (TG) = 0,625, (Tωopt

) ≈ 0,24, ωopt ≈ 1,24.)

Page 162: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

156 5. ITERAČNí METODY ŘEŠENí SYSTÉMŮ LINEÁRNíCH ROVNIC

13. Systém10x1 − x2 = 9

− x1 + 10x2 − 2x3 = 7

− 2x2 + 10x3 = 6

(přesné řešení x∗ =(473475 ,

455475 ,

376475

)T) řešte relaxační metodou s ω = 0,5, ω =

1,1 a vypočtěte optimální hodnotu parametru ωopt a řešte systém relaxačnímetodou s tímto parametrem.

Kontrolní otázky ke kapitole 5

1. Může být v iteračním procesu xk+1 = Txk+g iterační matice T singulární?

2. V příkladu 6 Jacobiova metoda pro systém

3x1 + 2x2 + 2x3 = 1

2x1 + 3x2 + 2x3 = 0

2x1 + 2x2 + 3x3 = −1

obecně nekonverguje, neboť (TJ) > 1. Přesto pro počáteční aproximacix0 = (0, 0, 0)T iterační proces konverguje k řešení (1, 0,−1)T . Proč?

3. Uvažujte systém

x1 − x2 = 0

x1 + x2 = 0 .

Co znamená fakt, že T 4J = E?

4. Jestliže matice A není ryze řádkově nebo sloupcově diagonálně dominantní,může Jacobiova iterační metoda konvergovat?

Page 163: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 6

Interpolace

V této kapitole budeme zkoumat problém aproximace funkcí. Tento problém spo-čívá většinou v nalezení aproximace funkce f pomocí vhodné kombinace funkcíz nějaké třídy funkcí. Uvažujme třídu funkcí jedné proměnné:

ψ(x; a0, . . . , an) ,

kde a0, . . . , an jsou parametry, jejichž hodnoty charakterizují jednotlivé funkcev této třídě. Ústředním problémem aproximace je kriterium pro volbu těchto pa-rametrů. U interpolační aproximace požadujeme, aby parametry byly vybrány tak,že na množině navzájem různých bodů xin

i=0 platí

ψ(xi; a0, . . . , an) = f(xi), i = 0, . . . , n .

V některých případech jsou předepsány i hodnoty derivací v některých bodech.V případě metody nejmenších čtverců se parametry a0, . . . , an vyberou tak, abyveličina

(a0, . . . , an) =N∑

j=0

(f(xj)− ψ(xj ; a0, . . . , an))2, n < N,

nabývala minimální hodnoty. Dalším typem aproximace je Čebyševova aproxi-mace, kde hledáme takovou aproximaci, která minimalizuje maximální absolutníhodnotu rozdílu funkce f a aproximace ψ:

min(a0,...,an)

maxx∈[a,b]

|f(x)− ψ(x; a0, . . . , an)|

V dalším se zaměříme pouze na lineární aproximaci, tj. budeme se zabývat funk-cemi tvaru

ψ(x; a0, . . . , an) = a0ψ0(x) + . . .+ anψn(x) ,

kde funkce ψi, i = 0, . . . , n tvoří bázi lineárního prostoru dimenze n+ 1. Do tétotřídy patří i klasická polynomiální interpolace

ψ(x; a0, . . . , an) = a0xn + a1x

n−1 + . . .+ an

Page 164: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

158 6. INTERPOLACE

a trigonometrická interpolace

ψ(x; a1, . . . , an) = a0 + a1eix + a2e2ix + . . .+ anenix, (i2 = −1)

Polynomiální interpolace se užívá především k aproximaci funkcí daných tabulkoua je také důležitým základem pro některé typy formulí numerického derivovánía integrování. Do třídy lineárních interpolačních problémů také patří splajnová in-terpolace. Ve speciálním případě kubických splajnů se požaduje, aby funkce ψ byladvakrát spojitě diferencovatelná pro x ∈ [x0, xn] a byla totožná s kubickým poly-nomem na každém subintervalu [xi, xi+1] daného dělení x0 < x1 < . . . < xn. Splaj-nové interpolaci je nyní věnována značná pozornost, protože poskytuje vhodný ná-stroj pro interpolaci empirických křivek a složitých matematických funkcí. Rostetaké její užití při přibližném řešení diferenciálních rovnic.

§ 6.1. Polynomiální interpolace

Nejjednodušší úlohu lineární interpolace lze formulovat takto: Jsou dány body xi,i = 0, 1, . . . , n, xi 6= xk pro i 6= k a hodnoty funkce f v těchto bodech: f(xi) = fi,i = 0, 1, . . . , n. Je třeba najít algebraický polynom Pn stupně nejvýše n takový, že

Pn(xi) = fi, i = 0, 1, . . . , n.

Úmluva. Body xi, i = 0, 1, . . . , n, xi 6= xk pro i 6= k, budeme nazývat uzly,polynom Pn interpolační polynom. Jako dříve označme Πn množinu všech reálnýchpolynomů stupně nejvýše n tvaru

Pn(x) = a0xn + a1x

n−1 + . . .+ an.

Věta 6.1. Pro (n+ 1) daných dvojic čísel

(xi, fi), i = 0, 1, . . . , n, xi 6= xk pro i 6= k,

existuje právě jeden polynom Pn ∈ Πn takový, že

Pn(xi) = fi, i = 0, 1, . . . , n. (6.1)

Důkaz.Jednoznačnost: Předpokládejme, že existují dva interpolační polynomy Pn, Qn ∈Πn splňující podmínky (6.1), tj.

Pn(xi) = Qn(xi) = fi, i = 0, 1, . . . , n.

Položme Rn(x) = Pn(x) − Qn(x). Je zřejmé, že Rn ∈ Πn a dále Rn(xi) = 0,i = 0, 1, . . . , n, tzn. Rn má alespoň n+ 1 různých kořenů. To je ale spor s předpo-kladem, že Rn je polynom stupně nejvýše n. Odtud plyne, že polynomy Pn a Qn

musí být totožné.Existence: Existenci dokážeme tak, že příslušný polynom sestrojíme. Nejdříve se-strojíme polynomy li, i = 0, 1, . . . , n s těmito vlastnostmi:

Page 165: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.1. Polynomiální interpolace 159

(a) li je polynom stupně n,

(b) li(xj) =

0 pro i 6= j1 pro i = j.

Je zřejmé, že

li(x) = Ai(x− x0) . . . (x− xi−1)(x− xi+1) . . . (x− xn).

Konstantu Ai určíme tak, aby byla splněna podmínka li(xi) = 1, tedy

Ai =1

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

a odtud

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

. (6.2)

Definujme nyní polynom Pn vztahem:

Pn(x) = l0(x)f0 + l1(x)f1 + . . .+ ln(x)fn =n∑

i=0

li(x)fi. (6.3)

Snadno se ověří, že tento polynom splňuje interpolační podmínky (6.1), a protožeje lineární kombinací polynomů stupně n, je polynomem stupně nejvýše n. 2

Interpolační polynom tvaru (6.3) nazýváme Lagrangeovým interpolačním po-lynomem nebo přesněji Lagrangeovým tvarem interpolačního polynomu.

Úmluva. Polynomy li, i = 0, 1, . . . , n, definované vztahem (6.2) budeme nazývatfundamentální polynomy.

Z jednoznačnosti interpolačního polynomu rovněž plyne, že interpolační poly-nom stupně nejvýše n pro polynom Qn stupně n je tentýž polynom, tj. Pn(x) ≡Qn(x).Položme

ωn+1(x) = (x− x0) . . . (x− xn) =n∏

i=0

(x− xi).

Je zřejmé, že

ω′n+1(xi) = (xi − x0) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn) =

n∏

k=0k 6=i

(xi − xk).

Použitím těchto vztahů lze fundamentální polynomy zapsat ve tvaru

li(x) =ωn+1(x)

(x− xi)ω′n+1(xi)

, i = 0, 1, . . . , n. (6.4)

Page 166: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

160 6. INTERPOLACE

Příklad 6.1. Sestrojte Lagrangeův interpolační polynom, je-li dáno:

xi 0 1 2 5fi 2 3 12 147

Řešení. V tomto případě je n = 3, hledáme tedy polynom P3 ∈ Π3.

P3(x) = 2(x− 1)(x− 2)(x− 5)(−1)(−2)(−5) + 3

(x− 0)(x− 2)(x− 5)(1− 0)(1− 2)(1− 5) +

+ 12(x− 0)(x− 1)(x− 5)(2− 0)(2− 1)(2− 5) + 147

(x− 0)(x− 1)(x− 2)(5− 0)(5− 1)(5− 2) =

= x3 + x2 − x+ 2.

Příklad 6.2. Sestrojte interpolační polynom pro funkci f(x) = x+ sinx v uzlechx0 = 9, x1 = 3, x2 = 4,5, x3 = 10, x4 = 5,5, x5 = 12,5.Řešení. Jelikož n = 5, hledáme polynom P5 ∈ Π5. Na obr. 6.1 jsou znázorněnyfundamentální polynomy li, i = 0, 1, . . .5, na obr. 6.2 je znázorněn čárkovaněpolynom P5 a plnou čarou je znázorněn graf dané funkce.

Fundamentální polynomy li, i = 0, . . . , n mají zajímavou vlastnost, splňujítotiž identitu

n∑

i=0

li(x) = 1 ∀x ∈ R .

Toto tvrzení plyne z faktu, že interpolační polynom Pn ∈ Πn pro funkci f , kteráje polynomem stupně nejvýše n, platí Pn(x) = f(x), ∀x ∈ R. Tedy i pro funkcif(x) ≡ 1, která je polynomem nultého stupně, tvrzení platí. Uvedený vztah dálevyjadřuje skutečnost, že polynomy li, i = 0, . . . , n jsou jisté „váhyÿ přiřazenéhodnotám fi, i = 0, . . . , n.

Další zajímavou vlastnost interpolačního polynomu dostaneme pomocí násle-dujícího výpočtu:

Platí

Pn(x) =n∑

i=0

ωn+1(x)(x − xi)ω′

n+1(xi)f(xi) .

Označme wi = (ω′n+1(xi))−1, tedy wi závisí pouze na xi a platí

Pn(x) = ωn+1(x)n∑

i=0

f(xi)wi

(x− xi).

Dále víme, žen∑

i=0

ωn+1(x)(x− xi)ω′

n+1(xi)= 1 ,

Page 167: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.1. Polynomiální interpolace 161

2 14

−1.5

−1

−0.5

0

0.5

1

x0

x1

x2

x3

x4

x5 2 14

0

0.2

0.4

0.6

0.8

1

1.2

x0

x1

x2

x3

x4

x5

Fundamentální polynom l0(x) Fundamentální polynom l1(x)

2 14−2

−1.5

−1

−0.5

0

0.5

1

x0

x1

x2

x3

x4

x5 2 14

−2

−1

0

1

2

x0

x1

x2

x3

x4

x5

Fundamentální polynom l2(x) Fundamentální polynom l3(x)

2 14

−0.5

0

0.5

1

x0

x1

x2

x3

x4

x5 2 14

0

0.2

0.4

0.6

0.8

1

x0

x1

x2

x3

x4

x5

Fundamentální polynom l4(x) Fundamentální polynom l5(x)

Obr. 6.1: Fundamentální polynomy li

Page 168: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

162 6. INTERPOLACE

2 4 6 8 10 12 14

4

6

8

10

12

14

x

y

x0

x1

x2

x3

x4

x5

Obr. 6.2: Lagrangeův interpolační polynom pro f(x) = x+ sinx v bodech (xi, fi), i = 0, . . . , 5

tj.

ωn+1(x)n∑

i=0

wi

(x− xi)= 1 ,

neboli

ωn+1(x) =1

n∑

i=0

wi

(x−xi)

.

Odtud

Pn(x) =

n∑

i=0

f(xi)wi

(x−xi)

n∑

i=0

wi

(x−xi)

=n∑

i=0

wi

(x−xi)n∑

j=0

wj

(x−xj)

f(xi) .

Hodnoty wi

(x−xi)

/ n∑

j=0

wj

(x−xj)tvoří tzv. barycentrické souřadnice bodu (x, Pn(x))

v rovině vzhledem k bodům (xi, f(xi)), i = 0, . . . , n. Tato formule je navíc z výpo-četního hlediska velmi efektivní – při určených hodnotách wi je výpočet hodnotyPn(x) lineární vzhledem k n. Problémy mohou ale nastat pro x blízké některémuuzlu xi, kde při dělení výrazem x−xi, který je blízký nule, dochází k velké relativníchybě.

Poznámka 1. Danou úlohu interpolace lze rovněž řešit metodou neurčitých ko-eficientů. Tato metoda spočívá v následujícím. Podmínky (6.1) zapíšeme ve tvarusystému lineárních rovnic pro neznámé koeficienty ai, i = 0, 1, 2, . . . , n,

a0xni + a1x

n−1i + . . .+ an = 0, i = 0, 1, . . . , n.

Jestliže body xi, i = 0, . . . , n, jsou navzájem různé, má tento systém právě jednořešení. Ale tento postup je příliš těžkopádný a nevhodný pro větší počet uzlů.

Page 169: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.1. Polynomiální interpolace 163

Nechť nyní Pn−1 je Lagrangeův interpolační polynom v uzlech x0, . . . , xn−1.Rozdíl f(x) − Pn−1(x) vydělme součinem (x − x0) . . . (x − xn−1). Tento podílv bodě x = xn vyjádříme ve tvaru

f(xn)− Pn−1(xn)n−1∏

j=0

(xn − xj)

=f(xn)− Pn−1(xn)

ωn(xn)=

=1

ωn(xn)

f(xn)−n−1∑

j=0

f(xj)ωn(xn)

ω′n(xn)(xn − xj)

=

=n∑

j=0

f(xj)n∏

i=0i 6=j

(xj − xi)

= f [x0, . . . , xn]. (6.5)

Definice 6.1. Výraz f [x0, . . . , xn] ve vztahu (6.5) nazýváme poměrnou diferencířádu n funkce f v bodech x0, . . . , xn.

Položme f(x0) = f [x0]. Dále

f [x0, x1] =f(x0)x0 − x1

+f(x1)x1 − x0

=f(x0)− f(x1)

x0 − x1,

f [x0, x1, x2] =f(x0)

(x0 − x1)(x0 − x2)+

f(x1)(x1 − x0)(x1 − x2)

+f(x2)

(x2 − x0)(x2 − x1).

Poznamenejme, že poměrná diference je symetrickou funkcí svých argumentů,tedy hodnota poměrné diference nezávisí na pořadí uzlů xi.

Lagrangeův interpolační polynom je po teoretické stránce velmi důležitý. Jezákladem pro odvození metod numerického derivování a integrování. Ale pro prak-tické výpočty, zejména pro velký počet uzlů nebo při změně počtu uzlů (kdy jetřeba přepočítat všechny polynomy li), je výhodnější použít některé z formulí,které nyní uvedeme.

Věta 6.2. Interpolační polynom Pn ∈ Πn pro body (xi, fi), i = 0, 1, . . . , n, můžebýt zapsán ve tvaru

Pn(x) = f0 + (x− x0)f [x0, x1] + . . .+ (x− x0) . . . (x− xn−1)f [x0, . . . , xn]. (6.6)

Důkaz. Budeme postupovat tak, že vhodným způsobem vyjádříme Lagrangeůvinterpolační polynom a další úpravou dostaneme vyjádření (6.6). Nechť Pn ∈ Πn jeLagrangeův interpolační polynom pro dané body (xi, fi), i = 0, 1, . . . , n. Zapišmetento polynom ve tvaru

Pn(x) =P0(x) + [P1(x)− P0(x)] + . . .+ [Pj(x)− Pj−1(x)] + . . .

. . .+ [Pn(x)− Pn−1(x)] ,(6.7)

Page 170: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

164 6. INTERPOLACE

kde Pj ∈ Πj je Lagrangeův interpolační polynom pro body (xi, fi), i = 0, 1, 2, . . . , j.Počítejme rozdíly Pj(x) − Pj−1(x):

Pj(x) − Pj−1(x) =j∑

i=0

ωj+1(x)(x− xi)ω′

j+1(xi)fi −

j−1∑

i=0

ωj(x)(x− xi)ω′

j(xi)fi =

=ωj+1(x)

(x− xj)ω′j+1(xj)

fj +j−1∑

i=0

fi

[

ωj+1(x)(x − xi)ω′

j+1(xi)− ωj(x)(x− xi)ω′

j(xi)

]

.

Pro ωj+1 a ωj platí

ωj+1(x) =j∏

i=0

(x− xi), ωj(x) =j−1∏

i=0

(x− xi) ⇒ ωj+1(x) = (x− xj)ωj(x).

Dále pro derivace funkcí ωj a ωj+1 máme

ω′j+1(x) = ωj(x) + (x− xj)ω′

j(x) ⇒ ω′j+1(xi) =

(xi − xj)ω′j(xi) pro i 6= j

ωj(xj) pro i = j.

Těchto vztahů nyní užijeme pro výpočet rozdílů Pj(x)− Pj−1(x):

Pj(x) − Pj−1(x) =ωj+1(x)

(x − xj)ω′j+1(xj)

fj +j−1∑

i=0

ωj(x)(x − xj − xi + xj)(x− xi)ω′

j+1(xi)fi =

=ωj(x)

ω′j+1(xj)

fj + ωj(x)j−1∑

i=0

fi

ω′j+1(xi)

= ωj(x)j∑

i=0

fi

ω′j+1(xi)

=

= ωj(x)f [x0, . . . , xj ]

Každý rozdíl Pj(x)− Pj−1(x) pro j = 0, 1, . . . , n můžeme tedy vyjádřit ve tvaru

Pj(x)− Pj−1(x) = (x− x0) . . . (x− xj−1)f [x0, . . . , xj ].

Odtud a z (6.7) nyní plyne, že interpolační polynom může být zapsán ve tvaru(6.6). 2

Interpolační polynom (6.6) se nazývá Newtonův interpolační polynom.

Ještě jednou připomínáme, že pro dané body (xi, fi), i = 0, 1, . . . , n, xi 6= xk

pro i 6= k, je interpolační polynom určen jednoznačně, tzn., že Newtonův interpo-lační polynom je totožný s Lagrangeovým interpolačním polynomem, liší se pouzeformou zápisu.

Důsledek 1. Nechť xi ∈ [a, b], i = 0, . . . , n, xi 6= xk pro i 6= k. Nechť f ∈ Cn[a, b].Pak existuje bod θ ∈ (a, b) takový, že

f [x0, . . . , xn] =1n!f (n)(θ). (6.8)

Page 171: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.1. Polynomiální interpolace 165

Důkaz. Funkce Φ(x) = f(x)− Pn(x) má alespoň (n+ 1) nulových bodů v [a, b]:x0, . . . , xn. Podle Rolleovy věty má funkce Φ(n)(x) = f (n)(x) − P

(n)n (x) alespoň

jeden nulový bod θ ∈ (a, b):

f (n)(θ)− P (n)n (θ) = 0,

af (n)(θ) = P (n)n (θ).

Na druhé straně, ze vztahu (6.6) plyne

P (n)n (θ) = n!f [x0, . . . , xn]

a odtud1n!f (n)(θ) = f [x0, . . . , xn].

2

Poznámka 2. Lze ukázat ([23]), že

limxi→x0

i=1,...,n

f [x0, . . . , xn] =1n!f (n)(x0) , (6.9)

neboli

f [x0, . . . x0︸ ︷︷ ︸

(n+1)krát

] =1n!f (n)(x0) . (6.10)

Důsledek 2. Nechť Qn−1 je polynom stupně nejvýše n− 1. Pak

Qn−1[x0, . . . , xn] = 0. (6.11)

Je-li Qn(x) = xn, pakQn[x0, . . . , xn] = 1. (6.12)

Důkaz. (6.11) plyne ihned ze skutečnosti, že interpolační polynom pro Qn−1je tentýž polynom a tedy poslední člen ve vyjádření (6.6) musí být roven nule.Vztah (6.12) plyne z následujícího: Nechť Pn−1 je interpolační polynom pro funkciQn(x) = xn v uzlech x0, . . . , xn−1. Rozdíl xn −Pn−1(x) je tedy polynom stupně ns kořeny v bodech x0, . . . , xn−1, což znamená, že tento rozdíl lze vyjádřit ve tvaru

xn − Pn−1(x) = (x− x0) . . . (x− xn−1),

Dále ze vztahu (6.5) pro poměrnou diferenci plyne pro x = xn

1 =xn

n − Pn−1(xn)n−1∏

i=0

(xn − xi)

= Qn[x0, . . . , xn].

2

Lemma. Platí identita

(x0 − xn)f [x0, . . . , xn] = f [x0, . . . , xn−1]− f [x1, . . . , xn]. (6.13)

Page 172: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

166 6. INTERPOLACE

Důkaz. Nechť Pn ∈ Πn je interpolační polynom splňující podmínky (6.1). Zevztahu (6.6) plyne

P(n−1)n (x) = f [x0, . . . , xn−1](n− 1)! +

+ f [x0, . . . , xn](n!x− (n− 1)!(x0 + . . .+ xn−1)). (6.14)

Vyměníme-li ve vztahu (6.6) body x0 a xn, dostaneme

P (n−1)n (x) = f [xn, x1, . . . , xn−1](n− 1)! ++f [xn, x1, . . . , xn−1, x0](n!x− (n− 1)!(xn + x1 + . . .+ xn−1)) =

= f [x1, . . . , xn](n− 1)! + (6.15)

+f [x0, . . . , xn](n!x− (n− 1)!(x1 + . . . xn)).

Odečtením vztahů (6.14) a (6.15) dostaneme požadovanou identitu (6.13). 2

Poznámka 3. Uvedené lemma znamená, že poměrnou diferenci n-tého řádu lzerekurentně vyjádřit pomocí diferencí řádu n− 1:

f [x0, . . . , xn] =f [x1, . . . , xn]− f [x0, . . . , xn−1]

xn − x0(6.16)

Na základě tohoto rekurentního vztahu lze sestavit následující tabulku poměrnýchdiferencí:

xi fi f [xi, xi+1] f [xi, xi+1, xi+2] . . .

x0x1x2

...xn

f0f1f2

...fn

HH

HH

HH

f [x0, x1]f [x1, x2]

...f [xn−1, xn]

HH

HH

f [x0, x1, x2]

...f [xn−2, xn−1, xn]

HH

HH

· · · HH f [x0, . . . , xn]

Je jasné, že pro konstrukci Newtonova interpolačního polynomu jsme užili hod-not označených .

Příklad 6.3. Pro hodnoty uvedené v příkladu 6.1 sestrojte Newtonův interpolačnípolynom.Řešení. Sestavíme podle vztahu (6.16) tabulku poměrných diferencí:

xi fi f [xi, xi+1] f [xi, xi+1, xi+2] f [xi, xi+1, xi+2, xi+3]

0125

2312147

HH

HH

HH

1945

HH

HH

49

HH 1

P3(x) = 2 + x+ 4(x− 1)x+ x(x− 1)(x− 2) = x3 + x2 − x+ 2.

Page 173: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.2. Chyba interpolace 167

Pro výpočet Newtonova polynomu jsme užili hodnot ležících na „diagonáleÿ.

Připomeňme ještě, že z definice poměrné diference (vztah (6.5)) plyne, že po-měrná diference závisí lineárně na funkci f : pro libovolná reálná čísla a, b a funkcef, g definované v bodech xi, i = 0, 1, . . . , xn, platí:

(af + bg)[x0, . . . , xn] = a(f [x0, . . . , xn]) + b(g[x0, . . . , xn])

§ 6.2. Chyba interpolace

Zabývejme se nyní otázkou, s jakou přesností bude interpolační polynom Pn ∈ Πn

aproximovat danou funkci v bodech různých od bodů xi, i = 0, 1, . . . , n. Jaký buderozdíl E(x) = f(x)− Pn(x) pro x 6= xi, i = 0, 1, . . . , n? Odpověď dává následujícívěta:

Věta 6.3. Nechť f ∈ C(n+1)[a, b] a nechť uzly xi ∈ [a, b], i = 0, 1, . . . , n, xi 6= xk

pro i 6= k. Nechť dále Pn ∈ Πn je interpolační polynom splňující podmínky (6.1).Pak ke každému bodu x ∈ [a, b] existuje bod ξ ∈ (a, b) tak, že platí:

f(x)− Pn(x) =ωn+1(x)(n+ 1)!

f (n+1)(ξ), ξ = ξ(x). (6.17)

Důkaz. Sestrojme Newtonův tvar interpolačního polynomu podle vztahu (6.6)pro uzly x0, . . . , xn, x. Je tedy třeba najít interpolační polynom Pn+1 ∈ Πn+1.Tento polynom je podle (6.6) tvaru

Pn+1(x) = f0 + (x− x0)f [x0, x1] + . . .+ (x− x0) . . . (x− xn)f [x0, . . . , xn, x].

Jelikož Pn+1 je interpolačním polynomem i v bodě x, je f(x) = Pn+1(x). Ale nadruhé straně

Pn+1(x) = Pn(x) + (x− x0) . . . (x− xn)f [x0, . . . , xn, x],

nebolif(x)− Pn(x) = (x− x0) . . . (x − xn)f [x0, . . . , xn, x].

Zde

ωn+1(x) =n∏

i=0

(x− xi).

Nyní podle důsledku 1 je

f [x0, . . . , xn, x] =f (n+1)(ξ)(n+ 1)!

a odtud plyne tvrzení. Vztah (6.17) jsme dokázali použitím Newtonova interpo-lačního polynomu. Ale z jednoznačnosti interpolačního polynomu plyne, že vztahplatí pro polynom vyjádřený v libovolném tvaru. 2

Poznámka 4. Z důsledku 1 je jasné, že bod ξ závisí na x. Této skutečnosti simusíme být vědomi při dalších úvahách a operacích týkajících se chyby interpolace.Rozdíl E(x) = f(x)− Pn(x) nazýváme chybou interpolace v bodě x.

Page 174: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

168 6. INTERPOLACE

Jestliže |f (n+1)(x)| ≤ Mn+1, ∀x ∈ [a, b], lze chybu interpolace ohraničit shoratakto

|E(x)| ≤ Mn+1

(n+ 1)!|ωn+1(x)| .

Tento odhad závisí na vlastnostech interpolované funkce a na volbě uzlů xi. Vznikátedy otázka, jak volit uzly xi, aby maximální absolutní hodnota ωn+1 byla nadaném intervalu co nejmenší. Toho lze dosáhnout tak, že za uzly xi zvolíme kořenyněkterých speciálních polynomů. O tomto přístupu nyní stručně pojednáme.

Úmluva. Třídu všech normovaných polynomů stupně m, tj. polynomů tvaru

xm + am−1xm−1 + . . .+ a0

označíme Πm.

Definice 6.2. Řekneme, že polynom Qm ∈ Πm má ze všech polynomů třídy Πm

nejmenší odchylku od nuly na intervalu [−1, 1], jestliže platí

max−1≤x≤1

|Qm(x)| < max−1≤x≤1

|Sm(x)|

pro všechny polynomy Sm ∈ Πm.

Věta 6.4. Tm(x) = cos(m arccosx), x ∈ [−1, 1] je polynom stupně m s koefici-entem 2m−1 u xm, m ≥ 1.Důkaz. Je T0(x) ≡ 1, T1(x) = x. Dále použijeme vztahu

cos(m+ 1)α+ cos(m− 1)α = 2 cosα cosmα.

Položíme-li α = arccosx, dostaneme

Tm+1(x) + Tm−1(x) = 2xTm(x),

tj.Tm+1(x) = 2xTm(x) − Tm−1(x). (6.18)

Nechť nyní podle indukčního předpokladu je Tm polynom stupně m s koeficientem2m−1 u xm. Pak z rekurentního vztahu (6.18) ihned plyne, že Tm+1 je polynomstupně m+ 1 s koeficientem 2m u xm+1. 2

Uvedeme nyní některé důležité vlastnosti polynomů Tm. Z rekurentního vztahu(6.18) plyne

T2(x) = 2x2 − 1, T3(x) = 4x

3 − 3x, T4(x) = 8x4 − 8x2 + 1, atd.

Polynom Tm má m kořenů, které jsou reálné, různé a všechny leží v intervalu(−1, 1), neboť pro ně platí

cos(m arccosxk) = 0

m arccosxk =2k + 12

π, k = 0, 1, . . . ,m− 1

xk = cos2k + 12m

π, k = 0, 1, . . . ,m− 1 (6.19)

Page 175: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.2. Chyba interpolace 169

Dále jemax

−1≤x≤1|Tm(x)| = 1.

Této maximální hodnoty nabývá Tm se střídavými znaménky v (m + 1) různýchbodech intervalu [−1, 1]:

| cos(m arccosxk)| = 1

xk = coskπ

m, k = 0, 1, . . . ,m (6.20)

Věta 6.5. Polynom Tm(x) = 21−mTm(x), m ≥ 1, má na intervalu [−1, 1]nejmenší odchylku od nuly ze všech polynomů třídy Πm.

Důkaz. Předpokládejme, že existuje polynom Qm ∈ Πm, který má na intervalu[−1, 1] menší absolutní hodnotu než polynom Tm. Uvažujme polynom

Rm−1(x) = Tm(x) −Qm(x).

Je zřejmě Rm−1 ∈ Πm−1 a v bodech xk = cos(kπ/m), k = 0, 1, . . . ,m platí

sign(Tm(xk)−Qm(xk)

)= sign

(21−m(−1)k −Qm(xk)

)= (−1)k

neboť podle předpokladu |Tm(xk)| = 21−m, |Qm(xk)| < 21−m. Polynom Rm−1mění tedy znaménko mezi body xk, xk+1, k = 0, 1, . . .m − 1. Odtud plyne, žetento polynom stupně m− 1 má m různých kořenů. Dospěli jsme ke sporu. Před-pokládejme nyní, že existuje polynom Qm s maximální absolutní hodnotou rovnoumaximální absolutní hodnotě polynomu Tm. Není-li aspoň v jednom bodě, ve kte-rém nabývá polynom Tm extrému, polynom Qm roven polynomu Tm, dostanemespor jako výše. Je-li však v takovém bodě Qm(x) = Tm(x), má polynom Rm−1v tomto bodě dvojnásobný kořen a určíme-li počet kořenů polynomu Rm−1 jakovýše, dojdeme opět ke sporu, který dokončuje důkaz věty (viz [19]). 2

Definice 6.3. Polynomy Tm se nazývají Čebyševovy polynomy.

Jestliže se při interpolaci omezíme na interval [−1, 1] a za uzly interpolace zvo-líme kořeny Čebyševova polynomu,ωn+1(x) = 2−nTn+1(x), můžeme najít odhadchyby ve tvaru

|f(x)− Pn(x)| ≤Mn+1

(n+ 1)!2n, (6.21)

neboťmax

x∈[−1,1]|ωn+1(x)| = 2−n.

Chyba je v tomto případě nejmenší možná. Při interpolaci na libovolném intervalu[a, b] užijeme lineární transformaci

x =12((b− a)z + b+ a), z ∈ [−1, 1] .

Page 176: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

170 6. INTERPOLACE

Při této transformaci se kořeny zk, k = 0, 1, . . . , n, polynomu Tn+1 transformujína kořeny

xk =12((b − a)zk + b+ a).

Odhad chyby interpolace nyní bude

|f(x)− Pn(x)| ≤Mn+1

(n+ 1)!(b− a)n+1

22n+1.

K dalším otázkám týkajících se chyby interpolace se vrátíme v další části tétokapitoly.

§ 6.3. Interpolace na ekvidistantních uzlech

Nyní předpokládejme, že body xi, i = 0, 1, . . . , n, jsou ekvidistantní, tj. existujereálné číslo h 6= 0 takové, že

xi = x0 + ih, i = 0, . . . , n.

Číslo h obvykle nazýváme krok . Vypočteme pro Lagrangeův interpolační polynomPn−1 ∈ Πn−1, který je interpolačním polynomem v uzlech x0, . . . , xn−1, funda-mentální polynomy li:

li(x) =ωn(x)

(x − xi)ω′n(xi)

Počítejme hodnoty těchto polynomů v bodě xn:

li(xn) =ωn(xn)

(xn − xi)ω′n(xi)

=

=(xn − x0) . . . (xn − xn−1)

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

Nyní je xn−xi = x0+nh−(x0+ ih) = (n− i)h. Dosazením do předchozího vztahudostaneme:

li(xn) =n(n− 1) . . . (n− (n− 1))

(n− i)(i) . . . (i− (i− 1))(i− (i+ 1)) . . . (i− (n− 1)) =

= − n!i!(n− i)!

(−1)n−i

Odtud

li(xn) = −(−1)n−i

(ni

)

.

Počítejme nyní rozdíl

f(xn)− Pn−1(xn) = f(xn) +n−1∑

i=0

(−1)n−i

(ni

)

f(xi).

Page 177: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.3. Interpolace na ekvidistantních uzlech 171

Hodnotu f(xn) lze zahrnout do součtu s koeficientem

(−1)n−n

(nn

)

= 1

a výsledkem je

f(xn)− Pn−1(xn) =n∑

i=0

(−1)n−i

(ni

)

fi. (6.22)

Definice 6.4. Výraz

∆nfj =n∑

i=0

(−1)n−i

(ni

)

fi+j (6.23)

se nazývá n-tá obyčejná diference v bodě xj .

Např.:

∆1f0 = −f(x0) + f(x0 + h) = −f0 + f1∆2f0 = f(x0)− 2f(x0 + h) + f(x0 + 2h) = f0 − 2f1 + f2∆3f0 = −f0 + 3f1 − 3f2 + f3

atd.

Obdobným způsobem jako pro poměrné diference lze i pro obyčejné diferencedokázat rekurentní vztah:

∆k+1fi = ∆(∆kfi

)= ∆kfi+1 −∆kfi. (6.24)

Lemma. Na ekvidistantní množině uzlů xini=0 platí

f [x0, . . . , xn] =∆nf0n!hn

. (6.25)

Důkaz lze provést matematickou indukcí — viz cvičení.

Některé další vlastnosti poměrných a obyčejných diferencí lze nalézt např.v [23].

Věta 6.6. Nechť uzly xi, i = 0, 1, . . . , n jsou ekvidistantní, xi = x0 + ih, h > 0.Pak Newtonův interpolační polynom lze zapsat ve tvaru

Pn(x0 + th) = f0 +n∑

j=1

∆jf0j!

t(t− 1) . . . (t− j + 1), (6.26)

kde x = x0 + th, t je nová proměnná, t ∈ R.

Důkaz. Bod x, ve kterém počítáme hodnotu interpolačního polynomu, vyjádřímepomocí kroku h, x = x0 + th, t je nová proměnná. Nyní

x− xi = x0 + th− (x0 + ih) = (t− i)h.

Page 178: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

172 6. INTERPOLACE

Víme, že Newtonův polynom je tvaru

Pn(x) = f0 + f [x0, x1](x − x0) + . . .+ (x − x0) . . . (x− xn−1)f [x0, . . . , xn].

Užitím vztahu (6.25) upravíme j-tý člen tohoto polynomu:

(x− x0) . . . (x − xj−1)f [x0, . . . , xj ] = (x − x0) . . . (x− xj−1)∆jf0j!hj

a dále, v důsledku toho, že x− xi = (t− i)h, dostaneme

(x − x0) . . . (x− xj−1)f [x0, . . . , xj ] =t . . . (t− j + 1)

j!∆jf0

a odtud plyne (6.26). 2

Obdobným způsobem jako větu 6.6 lze dokázat následující větu 6.7.

Věta 6.7. Nechť uzly xi, i = 0, 1, . . . , n, jsou ekvidistantní, xi = x0 + ih, h > 0.Pak Newtonův interpolační polynom lze zapsat ve tvaru

Pn(xn + sh) = fn +n∑

j=1

∆jfn−j

j!s(s+ 1) . . . (s+ j − 1), (6.27)

kde x = xn + sh, s ∈ R.

Důkaz. V tomto případě se bod x vyjádří pomocí bodu xn: x = xn + sh, s ∈ Rje nová proměnná a interpolační polynom sestrojíme v bodech xn, . . . , x0, xn−j =xn − jh, tj.

Pn(x) = fn + (x− xn)f [xn, xn−1] + . . .+ (x− xn) . . . (x− x1)f [xn, . . . , x0].

2

Definice 6.5. Formule (6.26) se nazývá Newtonův interpolační polynom pro in-terpolaci vpřed . Formule (6.27) se nazývá Newtonův interpolační polynom pro in-terpolaci vzad .

Schematicky lze znázornit použití formulí vpřed a vzad takto:

x0x1x2x3

...xn−2xn−1xn

f0f1f2f3

...fn−2fn−1fn

∆f0∆f1∆f2

...∆fn−2∆fn−1

∆2f0∆2f1

...∆2fn−3∆2fn−2

XXXXXXXXXXXXz

:∆nf0

Page 179: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.3. Interpolace na ekvidistantních uzlech 173

Diference označené se používají pro formuli vpřed, diference se používajípro formuli vzad.

Poznámka 5. Z poněkud modifikované tabulky diferencí tzv. Fraserova diagramulze odvodit celou řadu užitečných interpolačních formulí. Tento diagram lze najítnapř. v [19].

Zmíníme se nyní o minimalizaci chyby v případě, že uzly jsou ekvidistantní.Zřejmě má na velikost chyby rozhodující vliv chování funkce ωn+1. Užitím substi-tuce x = x0 + th lze funkci ωn+1 vyjádřit ve tvaru

ωn+1(x) = ωn+1(x0 + th) = hn+1t(t− 1) . . . (t− n), t ∈ R.

Nyní budeme vyšetřovat chování funkce

ϕ(t) = t(t− 1) . . . (t− n). (6.28)

pro t ∈ [0, n]. Nejdříve si všimněme, že funkce ϕ je lichá nebo sudá (v závislostina n) vzhledem k bodu (n2 , 0). Tento fakt plyne ze vztahu

ϕ(t) = (−1)n+1ϕ(n− t),

tedy ϕ je sudá, je-li n liché, a lichá, je-li n sudé. Dále

ϕ(t+ 1) = (t+ 1)t(t− 1) . . . (t+ 1− n) =t+ 1t− n

ϕ(t).

Odtud plyne, že na intervalu [i, i+1], i = 0, . . . , n−1, lze hodnoty funkce ϕ získatpomocí hodnot funkce na intervalu [i−1, i] vynásobených faktorem (t+1)/(t−n).Ovšem tento faktor je vždy záporný pro t < n. To znamená, že znaménka funkceϕ se budou střídat při přechodu z jednoho intervalu na interval následující. Navíc

∣∣∣∣

t+ 1t− n

∣∣∣∣< 1

pro t ∈ [0, n−12 ). Tedy, extremální hodnoty funkce ϕ na jednotlivých intervalech

[i, i+1] budou v absolutní hodnotě klesat až do středu intervalu [0, n], a pak v dů-sledku symetrie opět porostou. Vně intervalu [0, n] funkce ϕ v absolutní hodnotěvelmi rychle roste. Tato skutečnost je ilustrována na následujících dvou případech— obr. 6.3 a 6.4 ilustrují průběh funkcí ω4 a ω5. Z uvedených poznatků plynenásledující závěr: Veličina |ωn+1(x)| bude minimální, a tedy i chyba interpolacebude minimální, jestliže pro interpolaci v bodě x vybereme n+ 1 uzlů nejbližšíchbodu x. V případě, že bod x leží na začátku tabulky, je vhodné užít Newtonovu in-terpolační formuli vpřed, leží-li bod x blízko konce tabulky, je vhodná Newtonovainterpolační formule vzad. Pro hodnoty x ležící vně intervalu [x0, xn] lze očekávatznačnou chybu interpolace. V tomto případě hovoříme o extrapolaci .

Příklad 6.4. V následující tabulce jsou dány hodnoty Besselovy funkce 1. druhuřádu nula. Aproximujte hodnotu této funkce v bodě x = 1,5. Užijte Lagrangeovýchpolynomů různých stupňů a porovnejte výsledky s přesnou hodnotou.

Page 180: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

174 6. INTERPOLACE

2 4 6 8 10 12 14

−250

−200

−150

−100

−50

0

50

100

150

x

y

x0

x1

x2

x3

Obr. 6.3: Polynom ω4(x) = (x− 2)(x− 6)(x− 10)(x − 14)

2 4 6 8 10 12 14−1000

−800

−600

−400

−200

0

200

400

600

800

1000

x

y

x0

x1

x2

x3

x4

Obr. 6.4: Polynom ω5(x) = (x− 2)(x − 5)(x− 8)(x− 11)(x − 14)

Page 181: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.3. Interpolace na ekvidistantních uzlech 175

xi 1,0 1,3 1,6 1,9 2,2

f(xi) 0,7651977 0,6200860 0,4554022 0,2818186 0,1103623

Řešení:

a) Lineární interpolace: bod x = 1,5 leží mezi x1 = 1,3 a x2 = 1,6, zvolíme zauzly interpolace 1,3; 1,6.

P1(1,5) =(1,5− 1,6)(1,3− 1,6) · 0,6200860+

1,5− 1,61,6− 1,3 · 0,4554022 = 0,5102968

b) Pro aproximaci polynomem druhého stupně zvolíme uzly 1,6; 1,3; 1,9. Do-staneme přibližnou hodnotu

P2(1,5) = 0,5112857.

c) Pro polynom třetího stupně zvolíme uzly 1,6; 1,3; 1,9; 1,0 a dostaneme hod-notu

P3(1,5) = 0,5118127.

d) Pro polynom čtvrtého stupně užijeme všech uzlů a výsledná hodnota je

P4(1,5) = 0,5118200.

e) Pro polynom prvního stupně užijeme nyní uzlů x0 = 1, x1 = 1,3. Je

P1(1,5) = 1,17752595.

f) Pro polynom druhého stupně užijeme nyní uzlů x0 = 1,6, x1 = 1,9, x2 = 2,2.Je

P2(1,5) = 1,73385945.

Porovnáme vypočtené hodnoty s přesnou hodnotou f(1,5) = 0,5118277:

a) |P1(1,5)− f(1,5)| ≈ 1,53.10−3

b) |P2(1,5)− f(1,5)| ≈ 5,42.10−4

c) |P3(1,5)− f(1,5)| ≈ 1,5.10−5

d) |P4(1,5)− f(1,5)| ≈ 7,7.10−6

e) |P1(1,5)− f(1,5)| ≈ 6,6.10−1

f) |P2(1,5)− f(1,5)| ≈ 1,22

Je jasné, že v případech e), f) je chyba (vzhledem k extrapolaci) podstatně větší.Přenecháváme čtenáři, aby se pokusil navrhnout algoritmus pro konstrukci ta-kové posloupnosti polynomů. Nelze však očekávat, že ve všech případech se budes rostoucím počtem uzlů zvyšovat také přesnost aproximace (viz odstavec 6.4).

Page 182: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

176 6. INTERPOLACE

Na závěr tohoto odstavce ukážeme zajímavý příklad použití interpolačníhopolynomu.

Příklad 6.5. Dokažte, že platí

n−1∑

k=0

(−1)k n− k

n

(n+mk

)

= (−1)n−1 (n+m− 2)!(m− 1)!n! .

Řešení: Nechť

f(x) =(n− x)(n− 1− x) . . . (2− x)

n!a sestrojme interpolační polynom Pn−1 stupně n − 1 pro ekvidistantní uzly danéhodnotami x0 = 0, h = 1:

Pn−1(x) =n−1∑

k=0

∆kf0hk

(x − x0)(x − x0 − h) . . . (x− x0 − (k − 1)h)k!

=

=n−1∑

k=0

∆kf0x(x − 1) . . . (x − (k − 1))

k!.

Platí

Pn−1(x0) = Pn−1(0) = f(0) = 1, Pn−1(x0 + h) = Pn−1(1) = f(1) =1n

a dále

Pn−1(x0 + kh) = Pn−1(k) = f(k) = 0, pro k = 2, . . . , n− 1 .

Odtud

∆kf0 =k∑

r=0

(−1)k−r

(k

r

)

f(x0 + rh) = (−1)kn− k

n,

a protože funkce f je polynomem stupně n − 1, musí být totožná s polynomemPn−1, tedy

(n− x)(n − 1− x) . . . (2− x)n!

=n−1∑

k=0

(−1)kn− k

n

x(x − 1) . . . (x− (k − 1))k!

.

Pro x = n+m dostaneme požadovanou formuli

n−1∑

k=0

(−1)k n− k

n

(n+mk

)

= (−1)n−1 (n+m− 2)!(m− 1)!n! ,

nebo další transformací (výměnou role n a m a položíme-li i = m− k)

m∑

i=1

(−1)m−1 i

m

(n+mn+ i

)

= (−1)m−1 (n+m− 2)!(n− 1)!m! .

Page 183: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.4. Obecný interpolační proces 177

§ 6.4. Obecný interpolační proces

Uvažujme nyní následující problém: V intervalu [a, b] vybereme uzly tvořící neko-nečnou trojúhelníkovou matici:

x(0)0

x(1)0 x

(1)1

x(2)0 x

(2)1 x

(2)2

......

.... . .

x(n)0 x

(n)1 x

(n)2 · · · x

(n)n

......

.... . .

(6.29)

Pro danou funkci sestrojíme posloupnost Lagrangeových interpolačních polynomůPn tak, že k sestrojení Pn užijeme (n+ 1)-ho řádku matice (6.29), tj.

Pn(x(n)i ) = f(x

(n)i ), i = 0, 1, . . . , n.

Ptáme se: Bude posloupnost Pn konvergovat stejnoměrně k funkci f na intervalu[a, b]? Dá se ukázat, že pro každou matici (6.29) existuje třída funkcí, pro niž platístejnoměrná konvergence, ale tato třída je podstatně užší než C[a, b].

Věta 6.8. (G. Fáber). Pro každou matici (6.29) existuje spojitá funkce, pro kteroupříslušná posloupnost interpolačních polynomů nekonverguje stejnoměrně k f naintervalu [a, b].

Důkaz je uveden v [16].

Ve Fáberově větě se mluví o neexistenci stejnoměrné konvergence posloupnostíPn k f . Není ale vyloučeno, že v některých bodech konvergují polynomy Pn k funkcif . Následující příklad ilustruje možnost divergence interpolačního procesu v jed-notlivých bodech.

Věta 6.9. (S. N. Bernštejn). Interpolační polynom Pn sestrojený pro funkci |x|na ekvidistantní množině uzlů intervalu [−1, 1] (tak, že x0 = −1, xn = 1) nekon-verguje s rostoucím n k |x| ani v jednom bodě intervalu [−1, 1] různém od bodů−1, 0, 1.Důkaz je opět uveden v [16], příklad je ilustrován na obr. 6.5.

Zajímavý příklad — příklad Rungeho — je uveden v [8]. Tento příklad se týkáinterpolace funkce f(x) = 1/(1+x2), x ∈ [−4, 4], a interpolační proces je ilustrovánna obr. 6.6.

Na druhé straně platí:

Věta 6.10. (I. Marcinkiewicz). Pro každou spojitou funkci f existuje taková ma-tice (6.29), že odpovídající posloupnost interpolačních polynomů konverguje stej-noměrně k funkci f na intervalu [a, b].

Page 184: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

178 6. INTERPOLACE

−1 −0.5 0 0.5 1

0

0.2

0.4

0.6

0.8

1

1.2

− − − P8

− ⋅ − P16

Obr. 6.5: Interpolační polynomy pro f(x) = |x| na ekvidistantních uzlech

−4 −3 −2 −1 0 1 2 3 4−1.5

−1

−0.5

0

0.5

1

1.5

− − − P8

− ⋅ − P16

Obr. 6.6: Interpolační polynomy pro f(x) = 1/(1 + x2) na ekvidistantních uzlech

Page 185: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.5. Iterovaná interpolace 179

Důkaz lze opět nalézt v [16], kde je obecnému interpolačnímu procesu věnovánaznačná pozornost.

Poznámka 6. Zvolíme-li v předchozích příkladech za uzly kořeny Čebyševovýchpolynomů definovaných vztahem (6.18), dostaneme konvergentní proces. Chováníposloupností odpovídajících interpolačních polynomů je zřejmé z obr. 6.7, 6.8.

−1.1 1.1

0

0.2

0.4

0.6

0.8

1

x

y

x0

x1

x2

x3

x4

x5

x6

x7

x8

ω

Obr. 6.7: Interpolační polynom P8 ∈ Π8 pro f(x) = |x| na Čebyševových uzlech

§ 6.5. Iterovaná interpolace

Interpolační problém nemusíme řešit ihned jako celek pro všechny dané uzly, alemůžeme začít s menším počtem uzlů a postupně zkonstruovat celý interpolačnípolynom. Tímto problémem se budeme nyní zabývat.

Pro danou množinu bodů (xi, fi); i = 0, 1, . . . , n, označme

Pi0i1...ik∈ Πk, k ≤ n

takový polynom, pro který

Pi0i1...ik(xij) = fij

, j = 0, 1, . . . , k.

Lemma. Platí

Pij(x) = fij

, j = 0, 1, . . . , k, (6.30)

Pi0...ik(x) =

1xik

− xi0

∣∣∣∣∣∣

Pi1...ik(x) x− xik

Pi0...ik−1(x) x− xi0

∣∣∣∣∣∣

. (6.31)

Tento postup nazýváme iterovanou interpolací.

Page 186: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

180 6. INTERPOLACE

−1.5

−1

−0.5

0

0.5

1

1.5

y

x0

x1

x2

x3

x4

x5

x6

x7

x8

Obr. 6.8: Interpolační polynom P8 ∈ Π8 pro f(x) = 1/(1 + x2) na Čebyševových uzlech

Důkaz. Vztah (6.30) je zřejmý. Abychom dokázali (6.31), označíme pravou stranuR(x) a ukážeme, že má charakteristické vlastnosti interpolačního polynomu. ZřejměR je polynom stupně nejvýše k. Podle definice Pi0...ik−1 , Pi1...ik

je

R(xi0) = Pi0...ik−1(xi0 ) = fi0 ,

R(xik) = Pi1...ik

(xik) = fik

,

R(xij) =(xij

− xi0)fij− (xij

− xik)fij

xik− xi0

= fij

pro j = 1, . . . , k − 1. Tedy R ≡ Pi0...ik, což plyne z jednoznačnosti interpolačního

polynomu v daném bodě x. 2

Podle vzorce (6.31) lze výpočet uspořádat například takto:

k = 0 1 2 3

x0 f0 = P0(x)

x1 f1 = P1(x) P01(x)

x2 f2 = P2(x) P12(x) P012(x)

x3 f3 = P3(x) P23(x) P123(x) P0123(x)...

......

......

(6.32)

První sloupec tabulky obsahuje předepsané hodnoty fi. Hodnoty v dalších sloup-cích počítáme podle vztahu (6.31). Je například

P012(x) =(x− x0)P12 − (x− x2)P01

x2 − x0.

Page 187: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.5. Iterovaná interpolace 181

Uvedený algoritmus (6.32) se nazývá Nevillův algoritmus.

Příklad 6.6. Je dána tabulka hodnot funkce f . Užijte Nevillova schematu provýpočet f(1).

xi fi Pi,i+1 Pi,i+1,i+2 Pi,i+1,i+2,i+3

0 1

2 3 2

3 2 4 8/3

5 5 −1 17/3 49/15

To znamená, že f(1) ≈ 49/15.

Pro snazší použití na počítači zaveďme následující označení. Položme

Ti,j = Pi−j,i−j+1,...,i−1,i.

Rekurentní vztahy (6.31) můžeme nyní zapsat takto

Ti,j(x) =(x− xi−j)Ti,j−1(x) − (x− xi)Ti−1,j−1(x)

xi − xi−j

j = 1, 2, 3, . . .i = j, j + 1, . . .

Ti0 = fi, i = 0, 1, . . . , n

a pakTnn = P01...n.

Příslušná tabulka je tvaru

k = 0 1 2 3

x0 f0 = T00

x1 f1 = T10 T11

x2 f2 = T20 T21 T22

x3 f3 = T30 T31 T32 T33...

......

......

(6.33)

Jako kriteria pro zastavení výpočtu lze užít nerovnosti

|Ti,i − Ti−1,i−1| < ε,

kde ε je předepsaná přesnost. Jestliže tato nerovnost není splněna, přidá se dalšíuzel xi+1.

Page 188: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

182 6. INTERPOLACE

Závěrem tohoto odstavce připomeňmeAitkenův algoritmus ([11]). Ten je rovněžzaložen na vztazích (6.30), (6.31), ale používá jiných polynomů během výpočtu.Tabulka je následující:

k = 0 1 2 3

x0 f0 = P0

x1 f1 = P1 P01

x2 f2 = P2 P02 P012

x3 f3 = P3 P03 P013 P0123...

......

......

Příklad 6.7. Pro tabulku hodnot z příkladu 6.6 vypočtěte f(1) pomocí Aitkenovaschematu.

xi fi P0i P01i P012i

0 1

2 3 2

3 2 4/3 8/3

5 5 9/5 31/15 49/15

Tedy f(1) ≈ 49/15.Obě schemata dávají tentýž výsledek, neboť se jedná o užití interpolačního

polynomu v uzlech x0 = 0, x1 = 2, x2 = 3, x3 = 5.

§ 6.6. Inverzní interpolace

Nyní ukážeme, jak lze užít interpolace k nalezení přibližného kořene funkce. Tentoproces budeme nazývat inverzní interpolací. Předpokládejme, že funkce f , f ′ jsouspojité v [a, b], f ′(x) 6= 0 v [a, b] a nechť ξ je kořen funkce f ležící v intervalu[a, b]. Nechť xi ∈ [a, b], i = 0, 1, . . . , n, xi 6= xk pro i 6= k a nechť f(xi) = yi, i =0, 1, . . . , n. Naším úkolem je najít přibližnou hodnotu kořene ξ. Budeme postupovattakto: Sestrojíme interpolační polynom Pn(y) pro funkci f−1(y) v bodech

(yi, xi), xi = f−1(yi), i = 0, 1, . . . , n,

tj.Pn(yi) = f−1(yi), i = 0, 1, . . . , n.

Protože 0 = f(ξ), je ξ = f−1(0) a za přibližnou hodnotu kořene ξ lze vzít čísloPn(0). Pro výpočet lze s výhodou užít iterované interpolace.

§ 6.7. Sestavování tabulek

Nyní se zabývejme následujícím úkolem: Je třeba sestavit tabulku hodnot nějakéfunkce tak, aby chyba při interpolaci hodnot funkce polynomem daného stupně m

Page 189: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.8. Hermitova interpolace 183

nepřevýšila ε. V takovém případě říkáme, že tabulka připouští interpolaci stupněm. Tabulky, se kterými se většinou setkáváme, připouštějí lineární interpolaci. Bu-deme se zabývat tabulkami s ekvidistantními uzly. Otázka tedy je: Jak zvolit krokh, aby při lineární interpolaci byla chyba menší než ε? Nechť x je bod, ve kte-rém máme spočítat přibližnou hodnotu. Položme x0 < x < x1 a f aproximujemeinterpolačním polynomem

f(x) = P1(x) + E(x),

substituce x = x0 + th, t ∈ (0, 1) je nová proměnná, vede ke vztahu

f(x0 + th) = P1(x0 + th) +h2t(t− 1)2

f ′′(ξ).

Protože |t(t− 1)| ≤ 14 , musí pro krok h platit

h2max |f ′′(x)| ≤ 8ε.

Příklad 6.8. Nechť je třeba sestavit tabulku funkce sinx na intervalu [0, π2 ] tak,

aby chyba lineární interpolace byla menší než 0,5.10−6.Řešení. Je

f(x) = sinx ⇒ |f ′′(x)| ≤ 1.

Z předchozího plyne

h2 ≤ 4.10−6,h ≤ 2.10−3.

Přenecháváme čtenáři posoudit otázku přípustnosti kvadratické interpolace.

§ 6.8. Hermitova interpolace

Obecně lze předepsat hledanému polynomu nejen funkční hodnoty, ale také hod-noty derivací. Přesněji: Jsou dána reálná čísla xi, i = 0, 1, . . . ,m, xi 6= xk proi 6= k, f (k)i , k = 0, 1, . . . , ni − 1, přičemž

m∑

i=0

ni = n+ 1. (6.34)

Hermitův interpolační problém spočívá v tom, že je třeba najít polynom Pn ∈ Πn

takový, že

P (k)n (xi) = f(k)i , i = 0, 1, . . . ,m; k = 0, 1, . . . , ni − 1. (6.35)

V každém uzlu xi je tedy předepsána nejen funkční hodnota, ale také hodnotyprvních (ni − 1) derivací.

Page 190: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

184 6. INTERPOLACE

Věta 6.11. Pro daná reálná čísla xi, i = 0, 1, . . . ,m, xi 6= xk pro i 6= k, a hodnotyf(k)i , k = 0, 1, . . . , ni − 1, existuje právě jeden polynom Pn ∈ Πn,

m∑

i=0

ni = n+ 1,

takový, že jsou splněny podmínky (6.35).

Obecný důkaz nebudeme provádět, ale uvedeme nyní konstrukci Hermitovainterpolačního polynomu v jednodušším případě, kdy v každém uzlu xi, i =0, 1, . . . ,m, předepíšeme funkční hodnotu fi a hodnotu první derivace f ′

i . Je tedytřeba najít polynom Pn ∈ Πn, 2m+ 1 = n, takový, že

P2m+1(xi) = fi , i = 0, 1, . . . ,m

P ′2m+1(xi) = f ′

i , i = 0, 1, . . . ,m(6.36)

Polynom P2m+1 budeme hledat ve tvaru

P2m+1(x) =m∑

i=0

hi(x)fi +m∑

i=0

hi(x)f ′i ,

kde hi, hi jsou polynomy stupně 2m + 1 pro m > 0. Polynomy hi, hi je třebavybrat tak, aby byly splněny podmínky (6.36), tj.

hi(xj) = δij , i, j = 0, 1, . . . ,m

h′i(xj) = 0, i, j = 0, 1, . . . ,m(6.37)

hi(xj) = 0, i, j = 0, 1, . . . ,m

h′i(xj) = δij , i, j = 0, 1, . . . ,m ,(6.38)

kde δij = 0 pro i 6= j, δij = 1 pro i = j (Kroneckerův symbol). Sestrojme nejdřívepolynomy hi: Polynom hi je polynom stupně 2m+1, který má podle (6.37) kořenyx0, . . ., xi−1, xi+1, . . ., xm, přičemž jsou všechny tyto kořeny dvojnásobné, tj. 2mkořenů. Protože hi je polynom stupně 2m+ 1, plyne odtud, že je tvaru

hi(x) = ti(x)(x − x0)2 . . . (x− xi−1)2(x − xi+1)2 . . . (x− xm)2,

kde ti je polynom stupně prvního. Bez újmy na obecnosti lze psát

hi(x) = ui(x)(x − x0)2 . . . (x− xi−1)2(x− xi+1)2 . . . (x− xm)2

(xi − x0)2 . . . (xi − xi−1)2(xi − xi+1)2 . . . (xi − xm)2=

= ui(x)l2i (x),

kde li je fundamentální polynom odvozený při konstrukci Lagrangeova interpo-lačního polynomu a ui je lineární polynom: ui(x) = aix + bi, i = 0, 1, . . . ,m.

Page 191: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.8. Hermitova interpolace 185

Koeficienty ai, bi určíme z podmínek

hi(xi) = 1, h′i(xi) = 0,

tj. ui(xi)l2i (xi) = 1 ⇒ ui(xi) = 1,

u′i(x)l2i (x) + 2ui(x)li(x)l′i(x) = 0 ⇒ u′i(xi) + 2ui(xi)l′i(xi) = 0.

Odtudai = −2l′i(xi), bi = 1 + 2xil

′i(xi),

polynom ui je tvaru

ui(x) = 1− 2(x− xi)l′i(xi), i = 0, 1, . . . ,m

a hledaný polynom hi:

hi(x) = (1− 2(x− xi)l′i(xi)) l2i (x), i = 0, 1, . . . ,m . (6.39)

Obdobně sestrojíme polynomy hi: hi je polynom stupně 2m+1 a má podle (6.38)kořeny x0, x1, . . . , xm, přičemž kořeny x0, x1, . . . , xi−1, xi+1, . . . , xm jsou dvojná-sobné, tj. celkem 2m+ 1 kořenů. Předpokládaný tvar polynomu hi je

hi(x) = Ai(x − xi)(x− x0)2 . . . (x− xi−1)

2(x− xi+1)2 . . . (x− xm)

2,

což lze opět bez újmy na obecnosti zapsat ve tvaru

hi(x) = Bi(x− xi)l2i (x)

a hodnotu Bi určíme tak, aby h′i(xi) = 1, tj.

Bi = 1.

Polynomy hi jsou tvaru

hi(x) = (x− xi)l2i (x), i = 0, 1, . . . ,m. (6.40)

Hermitův polynom pro dané hodnoty (6.36) má tvar

P2m+1(x) =m∑

i=0

hi(x)fi +m∑

i=0

hi(x)f′i

s polynomy hi, hi danými vztahy (6.39), (6.40).

Poznámka 7. Pro m = 0 dostáváme nejjednodušší Hermitův polynom, který jeprvního stupně a je daný vztahem

P1(x) = f(a) + (x− a)f ′(a) .

Pro určení tohoto polynomu potřebujeme dvě podmínky – hodnotu funkce a deri-vace v daném bodě.

Page 192: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

186 6. INTERPOLACE

Příklad 6.9. Najděte Hermitův interpolační polynom, je-li dáno

xi 0 1 4

fi 2 5 1

f ′i 1 −1 2

Polynomy li jsou tvaru

l0(x) = 14 (x− 1)(x− 4), l1(x) = − 13x(x− 4), l2(x) = 1

12x(x− 1)

Podle (6.39), (6.40) dostaneme pro hi a hi

h0(x) = 132 (x− 1)2(x− 4)2(2 + 5x), h0(x) = 1

16x(x− 1)2(x− 4)2

h1(x) = 127x

2(x − 4)2(7− 4x), h1(x) = 19x2(x − 1)(x− 4)2

h2(x) = 1864x

2(x− 1)2(34− 7x), h2(x) = 1144 (x− 4)x2(x− 1)2

Hledaný polynom P5 ∈ Π5 je tvaru

P5(x) = 116 (x− 1)2(x − 4)2(2 + 5x) + 5

27x2(x − 4)2(7− 4x) +

+ 1864x

2(x− 1)2(34− 7x) + 116x(x− 1)2(x − 4)2 −

− 19 (x− 1)x2(x− 4)2 + 1

72 (x− 4)x2(x− 1)2.

Příklad 6.10. Pro funkci f(x) = x+sinx sestrojte Hermitův interpolační polynomsplňující v uzlech x0 = 5,5, x1 = 12,5, x2 = 3 podmínky (6.36). Je zřejmé, žeP5 ∈ Π5. Na obr. 6.9 jsou grafy polynomů hi, hi, i = 0, 1, 2, obr. 6.10 znázorňujegraf funkce f (plná čára) a graf příslušného polynomu P5 (čárkovaně).

Chyba interpolace pro Hermitův interpolační polynom může být odvozena stej-ným způsobem jako při Lagrangeově interpolaci. Odpovídající větu lze formulovattakto:

Věta 6.12. Nechť funkce f je (n+1)-krát diferencovatelná v intervalu [a, b] a nechťjsou dány body xi ∈ [a, b], i = 0, 1, . . . ,m, xi 6= xk pro i 6= k. Jestliže polynomPn ∈ Πn,

m∑

i=0

ni = n+ 1,

splňuje interpolační podmínky

P (k)n (xi) = f (k)(xi), k = 0, 1, . . . , ni − 1; i = 0, 1, . . . ,m,

pak ke každému x ∈ [a, b] existuje ξ ∈ (a, b) tak, že

f(x)− Pn(x) =ωn+1(x)(n+ 1)!

f (n+1)(ξ), ξ = ξ(x), (6.41)

Page 193: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.8. Hermitova interpolace 187

2 14−1.5

−1

−0.5

0

0.5

1

1.5

x0

x1

x2 2 14

0

0.2

0.4

0.6

0.8

1

x0

x1

x2

Fundamentální polynom h0(x) Fundamentální polynom h1(x)

2 14−1

0

1

2

3

4

5

6

x0

x1

x22 14

0

0.5

1

1.5

2

x0

x1

x2

Fundamentální polynom h2(x) Fundamentální polynom h0(x)

2 14−1

−0.5

0

0.5

1

1.5

2

x0

x1

x22 14

−1

−0.5

0

0.5

1

x0

x1

x2

Fundamentální polynom h1(x) Fundamentální polynom h2(x)

Obr. 6.9: Fundamentální polynomy hi, hi

Page 194: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

188 6. INTERPOLACE

2 4 6 8 10 12 14

4

6

8

10

12

14

x

y

x0

x1

x2

Obr. 6.10: Hermitův interpolační polynom P5 ∈ Π5 pro funkci f(x) = x+ sinx

kdeωn+1(x) = (x − x0)

n0 . . . (x− xm)nm .

Poznámka 8. Odvození tvaru Hermitova interpolačního polynomu v obecném pří-padě lze najít např. v [2], [19]. Pro konstrukci Hermitova interpolačního polynomulze také s výhodou užít Lagrangeova polynomu. Postup je následující: ZapišmeHermitův polynom Pn ∈ Πn pro hodnoty (6.35) ve tvaru

Pn(x) = Pm(x) + ωm+1(x)Hn−m−1(x),

kde Pm ∈ Πm je Lagrangeův polynom pro hodnoty (xi, f(0)i ), i = 0, 1, . . . ,m,

ωm+1 = (x − x0) . . . (x − xm), Hn−m−1 ∈ Πn−m−1 je polynom stupně nejvýšen−m− 1 a určíme jej ze zbývajících (n−m) podmínek, tj. z podmínek

P (k)n (xi) = f(k)i , k = 1, . . . , ni − 1, i = 0, 1, . . . ,m. (6.42)

Podmínkami (6.42) je polynom Hn−m−1 určen jednoznačně.

Příklad 6.11. Najděte Hermitův interpolační polynom, je-li dáno:

xi 0 1 2

fi 1 -1 0

f ′i 0 0 0

f ′′i 0

Řešení: Budeme hledat polynom P6 ∈ Π6 ve tvaruP6(x) = P2(x) + ω3(x)H3(x) ,

Page 195: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.8. Hermitova interpolace 189

kde ω3(x) = x(x − 1)(x − 2) a polynom H3 ∈ Π3, H3(x) = ax3 + bx2 + cx + d,sestrojíme tak, aby platilo P ′

6(0) = 0, P′6(1) = 0, P

′6(2) = 0, P

′′6 (0) = 0. P2 je

Lagrangeův interpolační polynom pro body (0, 1), (1,−1), (2, 0) a je zřejmě tvaru

P2(x) =(3x− 1)(x− 2)

2.

Pak

P6(x) =(3x− 1)(x− 2)

2+ x(x − 1)(x− 2)H3(x) .

Počítejme první a druhou derivaci polynomu P6:

P ′6(x) =

6x− 72+ (3x2 − 6x+ 2)H3(x) + x(x − 1)(x− 2)H ′

3(x)

P ′′6 (x) = 3 + (6x− 6)H3(x) + 2(3x2 − 6x+ 2)H ′

3(x) + x(x− 1)(x− 2)H ′′3 (x)

Z interpolačních podmínek pro derivace nyní plyne:

P ′6(0) = 0 ⇒ 0 = −7

2+ 2H3(0)

P ′6(1) = 0 ⇒ 0 = −1

2−H3(1)

P ′6(2) = 0 ⇒ 0 =

52+ 2H3(2)

P ′′6 (0) = 0 ⇒ 0 = 3 + 4H ′3(0)− 6H3(0)

Odtud

H3(0) =74

⇒ d =74

H3(1) = −12

⇒ a+ b+ c+ d = −12

H3(2) = −54

⇒ 8a+ 4b+ 2c+ d = −54

−4H ′3(0) + 6H3(0) = 3 ⇒ −4c+ 6d = 3

Vypočteme

d =74

c =158

b = −10516

a =3916,

tedy

H3(x) =116(39x3 − 105x2 + 30x+ 28) .

Výsledný Hermitův polynom je

P6(x) =(2x− 1)(x− 2)

2+116x(x − 1)(x− 2)(39x3 − 105x2 + 30x+ 28) .

Page 196: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

190 6. INTERPOLACE

S Hermitovým interpolačním polynomem jsme se už vlastně setkali v matema-tické analýze. Připomeňme si Taylorův vzorec tvaru

f(x) = f(a) + (x − a)f ′(a) +(x− a)2

2f ′′(a) + . . .

. . . +(x− a)n

n!f (n)(a) +

(x− a)n+1

(n+ 1)!f (n+1)(ξ),

kde ξ leží v intervalu určeném body a, x, tj.

f(x) = Pn(x) +(x − a)n+1

(n+ 1)!f (n+1)(ξ)

a Pn ∈ Πn je v podstatě Hermitův interpolační polynom v případě, že je dánpouze jeden uzel x0 = a a požadujeme v tomto uzlu rovnost derivací až do řádu nvčetně.

Z předchozích úvah plyne, že výpočet tvaru Hermitova interpolačního poly-nomu může být časově dosti náročný. Popíšeme alternativní postup založený naNewtonově tvaru interpolačního polynomu (viz např. [2])Předpokládejme, že jsou dány hodnoty (xi, f

(k)(xi)), i = 0, . . . ,m, k = 0, . . . , ni−1 a nechť

m∑

i=0

ni = n + 1. Předpokládejme dále, že f ∈ Cn+1[a, b], xi ∈ [a, b],i = 0, . . . ,m.Definujme poměrné diference s násobnými uzly vztahem

f [xj , . . . , xj︸ ︷︷ ︸

nj

] =f (nj−1)(xj)(nj − 1)!

, j = 0, . . . ,m

a obecněf [x0, . . . , x0︸ ︷︷ ︸

n0

, x1, . . . , x1︸ ︷︷ ︸

n1

, . . . , xm, . . . , xm︸ ︷︷ ︸

nm

] =

=1

xm − x0

(

f [x0, . . . , x0︸ ︷︷ ︸

n0−1

, x1, . . . , x1︸ ︷︷ ︸

n1

, . . . , xm, . . . , xm︸ ︷︷ ︸

nm

]−

−f [x0, . . . , x0︸ ︷︷ ︸

n0

, x1, . . . , x1︸ ︷︷ ︸

n1

, . . . , xm, . . . , xm︸ ︷︷ ︸

nm−1

])

.

Sestavení tabulky diferencí.

Sloupec 1: uzly interpolace, přičemž každý uzel opakujeme tolikrát, jaká je jehonásobnost, t.j. uzel xi ni-krát, i = 0, . . . ,m.

Sloupec 2: odpovídající funkční hodnoty f (0)(xi), i = 0, . . . ,m.

Sloupec 3: poměrné diference, jsou-li sousední uzly různé, jinak první derivace

Page 197: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.8. Hermitova interpolace 191

Sloupec 4: opět poměrné diference, jsou-li sousední uzly různé, jinak druhé de-rivace dělené 2!

...

Sloupec (n+ 2) (poslední): poměrná diference f [x0, . . . , x0︸ ︷︷ ︸

n0

, . . . , xm, . . . , xm︸ ︷︷ ︸

nm

]

Tabulka poměrných diferencí.

n0

x0

x0

x0...

x0

f0

f0

f0...

f0

!a

!af ′(x0)

f ′(x0)...

!a

!a

f ′′(x0)2!

f ′′(x0)2!

HH f ′′′(x0)

3! . . .

n1

x1

x1

x1...

x1

f1

f1

f1...

f1

!a

!a

!a

f [x0, x1]

f ′(x1)

f ′(x1)...

!a

!a

f ′(x1)−f [x0,x1]x1−x0

f ′′(x1)2!

!a . . .

n2

x2...

x2

f2...

f1

!a f [x2, x1]

...

!a f ′(x2)−f [x1,x2]x1−x0 !a . . .

......

Nyní sestrojíme Newtonův interpolační polynom stejným způsobem jako dříve:

Pn(x) = f(x0) + (x − x0)f′(x0) + (x− x0)

2 f′′(x0)2

+ . . .+

+ (x− x0)n0−1f (n0−1)(x0)(n0 − 1)!

+ (x − x0)n0f [x0, . . . , x0︸ ︷︷ ︸

n0

, x1] +

+ (x− x0)n0(x− x1)f [x0, . . . , x0

︸ ︷︷ ︸

n0

, x1, x1] + . . .+

+ (x− x0)n0(x− x1)n1−1f [x0, . . . , x0︸ ︷︷ ︸

n0

, x1, . . . , x1︸ ︷︷ ︸

n1

] + . . .+

+ (x− x0)n0(x− x1)n1 . . . (x− xm)nm−1f [x0, . . . , x0︸ ︷︷ ︸

n0

, . . . , xm, . . . , xm︸ ︷︷ ︸

nm

] .

Page 198: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

192 6. INTERPOLACE

Lze ukázat, že tento polynom splňuje interpolační podmínky pro Hermitův poly-nom, t.j.

P (k)(xi) = f (k)(xi), i = 0, . . . ,m, k = 0, . . . , ni − 1a je tedy totožný s hledaným Hermitovým interpolačním polynomem.

Poznámka 9. Pro výpočet hodnoty tohoto polynomu v daném bodě x lze taképoužít iterovanou interpolaci.

Příklad 6.12. Sestrojte Hermitův interpolační polynom, je-li dáno:

xi 0 1 2

fi 1 2 129

f ′i 0 7 448

f ′′i 0 - 1344

Tabulka poměrných diferencí:

xi

0

0

0

1

1

2

2

2

fi

1

1

1

2

2

129

129

129

!a

!a

!a

!a

!a

!a

!a

0

0

1

7

127

448

448

!a

!a

!a

!a

!a

!a

0

1

6

120

321

672

!a

!a

!a

!a

!a

1

5

57

201

351

!a

!a

!a

!a

4

27

72

150

!a

!a

!a

11

23

39

!a

!a6

8!a 1

P7(x) = 1 + 0(x− 0) + 0(x− 0)2 + 1(x− 0)3 + 4(x− 0)3(x − 1) ++ 11(x− 0)3(x − 1)2 + 6(x− 0)3(x− 1)2(x− 2) ++ 1(x− 0)3(x− 1)2(x− 2)2 = x7 + 1 .

U Hermitovy interpolace se můžeme setkat s případy. kde v posloupnosti deri-vací zadaných v některém z uzlů jsou „mezeryÿ (lakunární interpolace). V těchtopřípadech se může stát, že zadaná úloha nemá řešení, nebo má řešení více v zá-vislosti na geometrické struktuře sítě uzlů interpolace a mezer v posloupnostechpředepsaných hodnot. Zde uvedeme pouze ilustrační příklady, podrobněji se lzes problematikou lakunární interpolace seznámit například v přehledovém článku[10]. Jak lze snadno ověřit, úloha nalézt Hermitův interpolační polynom nemá ře-šení pro hodnoty:

Page 199: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.9. Interpolace pomocí splajnů 193

xi x0 x1 x2

fi f0 − f2

f ′i f ′

1

jestliže x1 = 12 (x0 + x2).

Naopak úloha pro hodnoty

xi x0 x1 x2

fi f0 − f2

f ′i f ′

1

f ′′i f ′′

1

má jediné řešení.

§ 6.9. Interpolace pomocí splajnů

Dosud uvedené interpolační metody aproximují danou funkci jedním interpolač-ním polynomem na celém intervalu. Tento postup není vždy výhodný, neboť lokálníchování aproximované funkce ovlivňuje v tomto případě celkové chování aproximu-jící funkce. Tato skutečnost vedla na myšlenku aproximace původní funkce ana-lytickými funkcemi po částech. Takovými funkcemi jsou například polynomiálnísplajny. Jejich nejdůležitějším reprezentantem jsou kubické splajnové polynomy.1

Definice 6.6. Nechť je dána funkce f definovaná v intervalu [a, b] a množinabodů, které nazýváme uzly, a = x0 < x1 < . . . < xn = b. Kubický interpolačnísplajn S ∈ C2[a, b] pro funkci f vyhovuje následujícím podmínkám:

a) S je kubickým polynomem Sj na subintervalu [xj , xj+1] pro každé j =0, 1, . . . , n− 1;

b) S(xj) = f(xj), j = 0, 1, . . . , n;

c) Sj+1(xj+1) = Sj(xj+1), j = 0, 1, . . . , n− 2;

d) S′j+1(xj+1) = S′

j(xj+1), j = 0, 1, . . . , n− 2;

e) S′′j+1(xj+1) = S′′

j (xj+1), j = 0, 1, . . . , n− 2;

Jelikož při této konstrukci existují dva volné parametry, je možné požadovat,aby byly splněny jedny z následujících podmínek:

(i) S′′(x0) = S′′(xn) = 0,

(ii) S′(x0) = f ′(x0), S′(xn) = f ′(xn), (f ∈ C1[a, b])(6.43)

1Termín splajn je fonetickým přepisem anglického slova „splineÿ, které označuje zařízení nakreslení křivek. Jde o pružnou šablonu, která se vytvaruje do žádaného tvaru; v některých bodechse upevní závaží.

Page 200: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

194 6. INTERPOLACE

Splňuje-li kubický interpolační splajn S podmínku (i), nazývá se přirozený splajn,v případě podmínky (ii) jde o úplný splajn.

Poznámka 10. Je zřejmé, že podmínky b)–e) zaručují, že S ∈ C2[a, b].

Nyní uvedeme konstrukci kubického interpolačního splajnu S. Kubické poly-nomy na intervalech [xj , xj+1], j = 0, 1, . . . , n− 1, uvažujme ve tvaru

Sj(x) = aj + bj(x− xj) + cj(x− xj)2 + dj(x− xj)3

Je jasné, žeSj(xj) = aj = f(xj).

Z podmínky c) dále plyne

aj+1 = Sj+1(xj+1) = Sj(xj+1) =

= aj + bj(xj+1 − xj) + cj(xj+1 − xj)2 + dj(xj+1 − xj)3, j = 0, 1, . . . , n− 2.

Zaveďme nyní označení

hj = xj+1 − xj , j = 0, 1, . . . , n− 1.

Dále položme an = f(xn). Z předchozího vztahu nyní plyne, že

aj+1 = aj + bjhj + cjh2j + djh3j , j = 0, 1, . . . , n− 1. (6.44)

Definujme obdobně bn = S′(xn). Nyní

S′j(x) = bj + 2cj(x− xj) + 3dj(x− xj)

2

a odtud S′j(xj) = bj , j = 0, 1, . . . , n− 1. Aplikací podmínky d) dostaneme

bj+1 = bj + 2cjhj + 3djh2j , j = 0, 1, . . . , n− 1. (6.45)

Položme nyní cn = S′′(xn)/2 a aplikujme podmínku e). V tomto případě jsouvýsledkem vztahy

cj+1 = cj + 3djhj , j = 0, 1, . . . , n− 1. (6.46)

Nyní je naším úkolem určit koeficienty bj , cj , dj , j = 0, 1, . . . , n. Užitím vztahů(6.44), (6.45), (6.46) sestavíme systém rovnic pro neznámé koeficienty cj . Nynípopíšeme tento postup. Z rovnice (6.46) vypočítáme dj a dosadíme do rovnic(6.44) a (6.45) a dostaneme nové rovnice

aj+1 = aj + bjhj +h2j3(2cj + cj+1), j = 0, 1, . . . , n− 1 (6.47)

abj+1 = bj + hj(cj + cj+1), j = 0, 1, . . . , n− 1. (6.48)

Page 201: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.9. Interpolace pomocí splajnů 195

Vyřešíme rovnici (6.47) nejdříve pro bj :

bj =1hj(aj+1 − aj)−

hj

3(2cj + cj+1) (6.49)

a pak zmenšíme index j o jedničku:

bj−1 =1

hj−1(aj − aj−1)−

hj−13(2cj−1 + cj) (6.50)

Nyní dosadíme vyjádření (6.49) a (6.50) pro bj a bj−1 do rovnice (6.48) (kde jsmesnížili index o 1):

hj−1cj−1 + 2(hj−1 + hj)cj + hjcj+1 =

=3hj(aj+1 − aj)−

3hj−1

(aj − aj−1), j = 1, 2, . . . , n− 1.(6.51)

Systém (6.51) je systém lineárních rovnic pro neznámé koeficienty cj , j = 0, . . . , n.Známe-li cj , spočítáme ze vztahu (6.49) koeficienty bj a ze vztahu (6.46) koeficientydj . Otázkou zůstává, zdali je soustava (6.51) řešitelná a jestliže ano, zda je řešeníjediné. Odpověď na tuto otázku pro přirozené splajny dává následující věta.

Věta 6.13. Nechť f je funkce definovaná na intervalu [a, b]. Pak f má jedinýpřirozený kubický interpolační splajn splňující podmínky S′′(a) = S′′(b) = 0.

Důkaz. Nechť xi, i = 0, . . . , n, je dělení intervalu [a, b]: a = x0 < x1 . . . < xn =b. Okrajové podmínky (i) implikují, že

cn = S′′(xn)/2 = 0, 0 = S′′(x0) = 2c0 + 6d0(x0 − x0),

tj. c0 = 0. Rovnice c0 = 0, cn = 0 společně se systémem (6.51) tvoří lineárnísystém Ac = g, c = (c0, . . . , cn)T , kde A ∈ Mn+1 a b je vektor dimenze (n+ 1):

A =

1 0 0 · · · 0

h0 2(h0 + h1) h1 · · · 0

0 h1 2(h1 + h2) h2. . .

......

... hn−2 2(hn−2 + hn−1) hn−1

0 0 · · · 1

,

g =

03h1(a2 − a1)−

3h0(a1 − a0)

...3

hn−1(an − an−1)−

3hn−2

(an−1 − an−2)

0

.

Page 202: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

196 6. INTERPOLACE

Matice A je ryze řádkově diagonálně dominantní. Podle věty 4.2 je regulární a danásoustava má jediné řešení, tzn. existuje jediný kubický interpolační splajn. 2

Obdobná věta platí i v případě, že jsou předepsány okrajové podmínky (ii).

Poznámka 11. Matice A je třídiagonální a pro řešení uvedeného systému lze užítCroutovy metody, neboť jsou splněny předpoklady věty 4.8.

Na závěr tohoto odstavce uvedeme odhad chyby pro okrajové podmínky (ii).

Věta 6.14. Nechť f ∈ C4[a, b], maxa≤x≤b |f (4)(x)| =M . Pro kubický interpolačnísplajn S splňující okrajové podmínky S′(a) = f ′(a), S′(b) = f ′(b) platí

maxa≤x≤b

|f(x)− S(x)| ≤ 5M384

max0≤j≤n−1

(xj+1 − xj)4.

Důkaz viz [4].

Odhad chyby pro přirozený splajn závisí rovněž na (xj+1 − xj)4, ale tento od-had lze velmi obtížně vyjádřit. Splajny hrají důležitou úlohu nejen při interpolacifunkcí, ale i při jiných typech aproximace. Lze je zkonstruovat tak, že zachová-vají geometrický tvar funkce (např. konvexitu). Uplatňují se také ve statistice přivyhlazování dat.

Příklad 6.13. Sestrojte přirozený kubický interpolační splajn pro funkci f(x) =1/(1 + x2) na intervalu [0, 3]. Za uzly zvolte body x0 = 0, x1 = 1, x2 = 3.Řešení. V tomto případě je třeba sestrojit 2 kubické polynomy S0, S1

S0(x) = a0 + b0x+ c0x2 + d0x3

S1(x) = a1 + b1(x− 1) + c1(x− 1)2 + d1(x − 1)3.

Je h0 = x1 − x0 = 1, h1 = x2 − x1 = 2, a0 = f(0) = 1, a1 = f(1) = 12 ,

a2 = f(3) = 110 . Systém (6.51) je tvaru (S

′′(x0) = 0 = c0, S′′(x2) = 0 = c2)

c0 = 0

c0h0 + 2(h0 + h1)c1 + h1c2 =3h1(a2 − a1)−

3h0(a1 − a0)

c2 = 0.

Odtud po dosazení za h0, h1, h2, a0, a1, a2 dostaneme

c0 = 0, c1 = 320 , c2 = 0.

Dále užitím vztahů (6.49) resp. (6.50) vypočteme

b0 = − 1120 , b1 = − 25 .

A ze vztahů (6.46) vypočteme

d0 = 120 , d1 = − 1

40 .

Page 203: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.9. Interpolace pomocí splajnů 197

Odpovídající kubické interpolační splajny jsou tvaru:

S0(x) = 1− 1120x+

120x

3

S1(x) = 12 − 2

5 (x − 1) + 320 (x− 1)2 − 1

40 (x− 1)3.

0 1 30

0.2

0.4

0.6

0.8

1

x

y

Obr. 6.11: Kubický splajn pro funkci f(x) = 1/(1 + x2)

Na závěr tohoto odstavce ukážeme použití splajnů v grafice (viz [4]). Pokusímese v obrázku 6.12 aproximovat přirozenými kubickými splajny křivku, která tvoříjeho horní hranici (obrázek 6.13).

Obr. 6.12: Původní obrázek

Pomocí dostatečně jemné sítě je možné přibližně stanovit funkční hodnotykřivky, přičemž v místech, kde se křivka rychleji mění, je vhodné volit síť hus-těji. Na dvou místech (označeny křížkem) je porušena hladkost křivky, proto jirozdělíme na tři části a každou budeme aproximovat zvlášť.V tabulce 6.1 jsou uvedeny uzly a funkční hodnoty pro jednotlivé části křivky.

Po výpočtu dostaneme tři splajny, jejich koeficienty jsou v tabulce 6.2. Obrázek6.14 ukazuje rozdíl mezi původní křivkou (čárkovaně) a nalezenými splajny (plnoučarou).

Page 204: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

198 6. INTERPOLACE

Obr. 6.13: Aproximovaná křivka

Křivka 1 Křivka 2 Křivka 3

xi f(xi) xi f(xi) xi f(xi)

1 3,0 17 4,5 27,7 4,1

2 3,7 20 7,0 28 4,3

5 3,9 23 6,1 29 4,1

6 4,2 24 5,6 30 4,0

7 5,7 25 5,8

8 6,6 27 5,2

10 7,1 27,7 4,1

13 6,7

17 4,5

Tabulka 6.1: Hodnoty bodů na jednotlivých křivkách

Obr. 6.14: Kubické interpolační splajny

Page 205: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 6.9. Interpolace pomocí splajnů 199

Splajn 1

i xi ai = f(xi) bi ci di

0 1 3,0 0,786 0,000 -0,086

1 2 3,7 0,529 -0,257 0,034

2 5 3,9 -0,086 0,052 0,334

3 6 4,2 1,019 1,0583 -0,572

4 7 5,7 1,408 -0,664 0,156

5 8 6,6 0,547 -0,197 0,024

6 10 7,1 0,049 -0,052 -0,003

7 13 6,7 -0,342 -0,078 0,007

8 17 4,5

Splajn 2

i xi ai = f(xi) bi ci di

0 17 4,5 1,106 0,000 -0,030

1 20 7,0 0,289 -0,272 0,025

2 23 6,1 -0,660 -0,044 0,204

3 24 5,6 -0,137 0,567 -0,230

4 25 5,8 0,306 -0,124 -0,089

5 27 5,2 -1,263 -0,660 0,314

6 27,7 4,1

Splajn 3

i xi ai = f(xi) bi ci di

0 27,7 4,1 0,749 0,000 -0,910

1 28 4,3 0,503 -0,819 0,116

2 29 4,1 -0,787 -0,470 0,157

3 30 3,0

Tabulka 6.2: Koeficienty jednotlivých splajnů

Page 206: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

200 6. INTERPOLACE

Cvičení ke kapitole 6

1. Najděte Lagrangeův interpolační polynom, je-li dáno

xi 0 1 2 5

fi 2 3 12 147

(P3(x) = x3 + x2 − x+ 2.)

2. S jakou přesností lze vypočítat√115 pomocí Lagrangeova interpolačního

polynomu pro funkci y =√x, když vybereme za uzly interpolace x0 = 100,

x1 = 121, x2 = 144?(|E(115)| ≤ 1,6.10−3.)

3. Pro případ ekvidistantních uzlů a tříbodového Lagrangeova vzorce najdětetakový odhad veličiny h3f ′′′(x), který v intervalu určeném třemi body za-ručuje chybu metody menší než 10−d, d je přirozené číslo. Použijte tohotovýsledku k odhadu největší hodnoty kroku h, kterého lze užít k interpolacifunkce f(x) = sinx na intervalu [−π, π] s chybou menší než 10−10.(h ≤ 1,15.10−3.)

4. Nechť li, i = 0, 1, . . . , n jsou fundamentální polynomy. Dokažte:

a) Je-li li(0) = ci, i = 0, 1, . . . , n, pak

n∑

i=0

cixji =

1 pro j = 0

0 pro j = 1, 2, . . . , n

(−1)nx0x1 . . . xn pro j = n+ 1

(Návod: Využijte jednoznačnosti interpolačního polynomu.)

5. Nechť x0, . . . , xn jsou libovolná celá čísla x0 < x1 < . . . < xn. Ukažte, žekaždý algebraický polynom stupně n tvaru

Q(x) = xn + a1xn−1 + . . .+ an

nabývá v bodech x0, . . . , xn hodnot, z nichž alespoň jedna je v absolutníhodnotě větší nebo rovna n!/2n.(Návod: Napište interpolační polynom pro Q v bodech x0, . . . , xn, užijtejednoznačnosti a porovnejte koeficienty u xn.)

6. Najděte Newtonův interpolační polynom, je-li dáno

xi 0 2 3 5

fi 1 3 2 5

(P3(x) = 310x

3 − 136 x2 + 6215x+ 1.)

Page 207: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 6 201

7. Je dána tabulka

xi −3 0 1 2

fi −13 2 3 12

Užitím inverzní interpolace najděte přibližně kořen rovnice f(x) = 0 ležícív intervalu [−3, 0].(α ≈ −2,13.)

8. Vypočtěte fundamentální polynomy li, i = 0, 1, . . . , n, jestliže za uzly inter-polace zvolíme kořeny Čebyševova polynomu

Tn+1(x) = cos ((n+ 1) arccosx).

(li(x) =

√1− x2(−1)i cos ((n+ 1) arccosx)

(n+ 1)(x− xi), xi = cos

2i+ 12(n+ 1)

π,

i = 0, 1, . . . , n. )

9. a) Užijte vhodného Lagrangeova interpolačního polynomu stupně jedna,dva, tři a čtyři pro aproximaci hodnoty f(2,5), jestliže je dáno

xi 2,0 2,2 2,4 2,6 2,8

fi 0,5103757 0,5207843 0,5104147 0,4813306 0,4359160

( Uzly stupeň aproximace

2,4; 2,6 1 0,4958727

2,4; 2,6; 2,2 2 0,4982120

2,4; 2,6; 2,2; 2,8 3 0,4980630

všechny 4 0,4980705 )

b) Navrhněte algoritmus pro obecný případ úlohy a).

10. Nechť f(x) = ex, 0 ≤ x ≤ 2.

a) Aproximujte f(0,25) užitím lineární interpolace s uzly x0 = 0, x1 = 0,5.

b) Aproximujte f(0,75) užitím lineární interpolace s uzly x0 = 0,5, x1 = 1.

c) Aproximujte f(0,25) a f(0,75) užitím kvadratické interpolace s uzlyx0 = 0, x1 = 1, x2 = 2.

Které aproximace jsou lepší a proč?(a) 1,32436, b) 2,18350, c) 1,15277; 2,01191. Výsledky a), b) jsou lepší apro-ximací, neboť jsou zvoleny vhodnější uzly.)

11. Užijte Nevillova schematu pro určení aproximace ve cvičení 8.

Page 208: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

202 6. INTERPOLACE

12. a) Aproximujte√3 užitím Nevillova schematu pro funkci f(x) = 3x a uzly

x0 = −2, x1 = −1, x2 = 0, x3 = 1, x4 = 2.b) Opakujte část a) užitím Aitkenova schematu.

13. Užitím iterované inverzní interpolace nalezněte přibližné řešení rovnice x −e−x = 0, je-li dáno

xi 0,3 0,4 0,5 0,6

exi 0,740818 0,670320 0,606531 0,548812

(f−1(0) ≈ 0,567142.)14. Aproximujte f(0,05) užitím Newtonovy formule pro interpolaci vpřed, je-lidáno

xi 0,0 0,2 0,4 0,6 0,8

f(xi) 1,00000 1,22140 1,49182 1,82212 2,22554

(f(0,05) ≈ 1,05126.)15. Jsou dány hodnoty funkce f : f(a), f(b), f(c) v blízkosti jejího maxima nebominima. Ukažte, že pro bod x, ve kterém se realizuje maximum nebo mini-mum, přibližně platí

x ≈ (b2 − c2)f(a) + (c2 − a2)f(b) + (a2 − b2)f(c)2(b− c)f(a) + (c− a)f(b) + (a− b)f(c) .

16. Sestrojte Hermitův interpolační polynom pro hodnoty

a)xi −1 0 1

fi −1 0 1

f ′i 0 0 0

b)xi 0 1 2

fi 1 −1 0

f ′i 0 0

f ′′i 0

(a) P5(x) = 12x3(5−3x2), b) P5(x) = (3x−1)(x−2)/2+x(x−1)(x−2)(74 +

154 x− 33

8 x2).)

17. Užijte následujících hodnot pro konstrukci Hermitova interpolačního poly-nomu a pro určení hodnoty sin 0,34.

xi sinxi (sinx)′|x=xi

0,30 0,29552 0,95534

0,32 0,31457 0,94924

0,33 0,32404 0,94604

0,35 0,34290 0,93937

Page 209: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 6 203

(sin 0,34 ≈ 0,33350.)

18. Interpolace funkce dvou proměnných.

a) Lineární interpolace.Nechť xi ≤ x ≤ xi+1, yi ≤ y ≤ yi+1. Užitím lineární interpolace nejdřívepro x a pak pro y dokažte, že

f(x, y) ≈ (1−α)(1−β)fij+β(1−α)fi,j+1+α(1−β)fi+1,j+αβfi+1,j+1,

kde α = (x− xi)/(xi+1 − xi), β = (y − yj)/(yj+1 − yj), fij = f(xi, yj).

b) Interpolace funkce dvou proměnných v obecném případě.Je dána tabulka

(a1, b1) · · · (an, b1)

(a1, b2) · · · (an, b2)...

...

(a1, bk) · · · (an, bk)

a hodnoty funkce f(x, y) v těchto bodech. Užitím interpolace najdětepřibližně hodnoty f(x, y), (x, y) 6= (ai, bj), i = 1, . . . , n, j = 1, . . . , k.(Návod: Pro každý řádek tabulky sestrojte interpolační polynom a taktozískaných hodnot užijte k interpolaci.)

19. Užitím cv. 18b řešte tuto úlohu. Je dána tabulka hodnot funkce f(x, y) =ex+y:

@@yx 0,7 0,9 1,5

0,7 4,05519 4,95303 9,0250

1,1 6,04964 7,38905 13,46373

1,3 7,38905 9,02501 16,44464

Sestrojte interpolační polynom 2. stupně ve směru x a 2. stupně ve směru ya určete přibližnou hodnotu funkce v bodě (1, 1).(f(1, 1) ≈ 7,38905.)

20. Nalezněte přirozený kubický interpolační splajn pro f(x) = cos2 x a uzlyx0 = 0, x1 = π

2 , x2 =34π.

(S0(x) = 1− 103πx+

163π3 x

3, S1(x) = 23π (x− π

2 ) +8

π2 (x− π2 )2 − 32

3π3 (x− π2 )3.)

Page 210: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

204 6. INTERPOLACE

Kontrolní otázky ke kapitole 6

1. Je možné sestrojit Hermitův interpolační polynom pro následující hodnoty?

xi 0 1 2

f ′i 1 0 1

f ′′i 2

2. lze pro danou množinu (n+1) čísel c0, c1,. . . ,cn jediným způsobem sestrojitpolynom P ∈ Πn splňující podmínky

P (x0) = c0, P ′(x1) = c1, . . . , P (n)(xn) = cn ?

3. Jsou dány dvojice čísel (xi, fi), i = 0, 1, . . . , n, xi 6= xk pro i 6= k.

a) Lze najít právě jeden polynom Q stupně nejvýše n − 1, který splňujepodmínky Q(xi) = fi, i = 0, . . . , n?

b) Lze najít právě jeden polynom R stupně alespoň n + 1, který splňujepodmínky R(xi) = fi, i = 0, . . . , n?

4. Je možné modifikovat Nevillovo, případně Aitkenovo schema na konstrukciHermiteova polynomu?

5. Předpokládejme, že chceme řešit tuto úlohu interpolace funkce dvou pro-měnných:Nalezněte polynom P tvaru P (x, y) = a0 + a1x + a2y splňující podmínkyP (xi, yi) = f(xi, yi), i = 0, 1, 2.Je možné najít takový polynom pro libovolnou trojici bodů (xi, yi), i =0, 1, 2?Jak to dopadne v případě, že x0 = (−1,−1), x1 = (0, 0), x2 = (1, 1)?

6. V jakých případech bude splajn roven interpolačnímu polynomu?

Page 211: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 7

Numerické derivování

Při řešení praktických úloh je někdy třeba najít derivaci funkce dané tabulkou.Může se také stát, že v důsledku složitého analytického vyjádření je bezprostřednívýpočet derivace obtížný. V takových případech užíváme numerického derivování.Na základě poznatků z předchozí kapitoly je zřejmé, že formule pro numerickéderivování lze získat derivací interpolačního polynomu a položit

f ′(x) ≈ P ′n(x).

Obecně však numerické derivování je operace méně přesná než interpolace, neboťze skutečnosti, že hodnoty funkce a aproximujícího polynomu jsou blízké, neplyneještě „blízkostÿ hodnot derivací. Probereme nyní problém numerického derivovánípodrobněji.

§ 7.1. Numerický výpočet derivace

Úmluva. I[x0, . . . , xn, x] bude označovat nejmenší uzavřený interval obsahujícíbody x0, . . . , xn, x.

Jsou dány body (xi, fi), i = 0, 1, . . . , n, xi 6= xk pro i 6= k. Nechť Pn ∈ Πn jeLagrangeův interpolační polynom pro tyto body, tj.

f(x) = Pn(x) + E(x), (7.1)

kde

Pn(x) =n∑

i=0

li(x)fi, E(x) =ωn+1(x)(n+ 1)!

f (n+1)(ξ), ξ = ξ(x), ξ ∈ I.

Derivujme vztah (7.1):

f ′(x) = P ′n(x) + E

′(x) =

=n∑

i=0

l′i(x)fi +ω′

n+1(x)(n+ 1)!

f (n+1)(ξ) +ωn+1(x)(n+ 1)!

ddxf (n+1)(ξ) (7.2)

Page 212: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

206 7. NUMERICKÉ DERIVOVÁNí

Vidíme, že chyba má v tomto případě složitější tvar než tomu bylo při interpolaci.Jestliže požadujeme výpočet derivace v některém z uzlových bodů xj , což bývánejčastější úloha, je předchozí formule tvaru

f ′(xj) =n∑

i=0

l′i(xj)fi +ω′

n+1(xj)(n+ 1)!

f (n+1)(ξj), j = 0, 1, . . . , n, ξj ∈ I.

Označme f ′j přibližnou hodnotu derivace v bodě xj . Ta je tedy dána vztahem

f ′j =

n∑

i=0

l′i(xj)fi

a výrazω′

n+1(xj)(n+ 1)!

f (n+1)(ξj)

udává chybu této aproximace, ξj = ξj(xj). V obecném případě lze druhý členchyby v (7.2) vyjádřit takto:

Věta 7.1. Nechť

ωn+1(x)(n+ 1)!

f (n+1)(ξ), ξ ∈ I[x0, . . . , xn, x]

je chyba při Lagrangeově interpolaci. Nechť f (n+2) je spojitá v intervalu I[x0, . . . ,xn, x]. Pak existuje η ∈ I[x0, . . . , xn, x] takové, že

1(n+ 1)!

ddxf (n+1)(ξ) =

1(n+ 2)!

f (n+2)(η).

Důkaz. Uvažujme Lagrangeův interpolační polynom v bodě x 6= xi, kde i =0, 1, . . . , n,

f(x) =n∑

i=0

li(x)fi +ωn+1(x)(n+ 1)!

f (n+1)(ξ).

Pro li užijeme vyjádření

li(x) =ωn+1(x)

(x− xi)ω′n+1(xi)

,

a pak

f(x) =n∑

i=0

ωn+1(x)(x − xi)ω′

n+1(xi)fi +

ωn+1(x)(n+ 1)!

f (n+1)(ξ).

Protože x 6= xi, i = 0, 1, . . . , n, můžeme tuto rovnost vydělit ωn+1(x) a derivovat

ddx

(f(x)

ωn+1(x)

)

= −n∑

i=0

fi

(x− xi)2ω′n+1(xi)

+1

(n+ 1)!ddxf (n+1)(ξ). (7.3)

Page 213: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 7.1. Numerický výpočet derivace 207

Uvažujme ještě nyní další bod (xn+1, fn+1), xn+1 ∈ I[x0, . . . , xn, x], xn+1 6= x, xi,i = 0, 1, . . . , n. Pak

ωn+2(x) =n+1∏

i=0

(x − xi) ⇒ ωn+2(x) = (x− xn+1)ωn+1(x)

ω′n+2(x) = ωn+1(x) + (x− xn+1)ω′

n+1(x) ⇒

⇒ ω′n+2(xi) =

(xi − xn+1)ω′n+1(xi) pro i 6= n+ 1

ωn+1(xn+1) pro i = n+ 1(7.4)

Sestrojme nyní Lagrangeův polynom pro body (xi, fi), i = 0, 1, . . . , n+ 1:

f(x) =n+1∑

i=0

ωn+2(x)(x− xi) ω′

n+2(xi)fi +

ωn+2(x)(n+ 2)!

f (n+2)(τ), (7.5)

τ = τ(x) ∈ I[x0, . . . , xn+1, x]. Vztah (7.5) nyní poněkud upravíme:

f(x)− ωn+2(x)(x− xn+1) ω′

n+2(xn+1)fn+1 =

=n∑

i=0

ωn+2(x)(x − xi) ω′

n+2(xi)fi +

ωn+2(x)(n+ 2)!

f (n+2)(τ).

V dalším použijeme vztahů (7.4):

f(x)− ωn+1(x)ωn+1(xn+1)

fn+1 =

=n∑

i=0

(x − xn+1) ωn+1(x)(x − xi)(xi − xn+1) ω′

n+1(xi)fi +

ωn+2(x)(n+ 2)!

f (n+2)(τ).

Tuto rovnici vydělíme (x− xn+1) ωn+1(x):

f(x)(x− xn+1) ωn+1(x)

− fn+1

(x− xn+1) ωn+1(xn+1)=

=n∑

i=0

fi

(x − xi)(xi − xn+1) ω′n+1(xi)

+1

(n+ 2)!f (n+2)(τ)

neboli

f(x)ωn+1(x)

− fn+1

ωn+1(xn+1)x− xn+1

=

=n∑

i=0

fi

(x− xi)(xi − xn+1) ω′n+1(x)

+1

(n+ 2)!f (n+2)(τ).

Page 214: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

208 7. NUMERICKÉ DERIVOVÁNí

Přechodem k limitě pro xn+1 → x dostaneme (f (n+2) spojitá v I)

ddx

f(x)ωn+1(x)

= −n∑

i=0

fi

(x− xi)2ω′n+1(xi)

+1

(n+ 2)!f (n+2)(η), (7.6)

η ∈ I[x0, . . . , xn, x].

Porovnáním (7.5) a (7.6) plyne tvrzení věty. 2

Výsledná formule pro výpočet derivace v bodě x 6= xi, i = 0, 1, . . . , n, je tvaru

f ′(x) =n∑

i=0

l′i(x)fi +ω′

n+1(x)(n+ 1)!

f (n+1)(ξ) +ωn+1(x)(n+ 2)!

f (n+2)(η),

ξ, η ∈ I[x0, . . . , xn, x]

Poznámka 1. Pro vyšší derivace platí obdobný vztah

1n!dk

dxkf (n)(ξ) =

k!(n+ k)!

f (n+k)(η).

V praxi se často setkáváme s případem, kdy množina uzlů xi, i = 0, 1, . . . , nje ekvidistantní. Je-li celkový počet uzlů lichý, je vhodné přiřadit uzlům kladnéa záporné indexy a to takto:

x−l, . . . , x−1, x0, x1, . . . , xl,

xi = x0 + ih, i = ±1, . . . ,±l, h > 0.Příklad 7.1. Odvoďte formuli pro výpočet derivace v prostředním ze tří uzlů:x−1, x0, x1, xi = x0 + ih, i = ±1.Řešení. Sestrojíme Lagrangeův interpolační polynom pro hodnoty

xi x−1 x0 x1

fi f−1 f0 f1

Je f(x) = P2(x) + E(x)

f(x) =(x− x0)(x − x1)

(x−1 − x0)(x−1 − x1)f−1 +

(x − x−1)(x − x1)(x0 − x−1)(x0 − x1)

f0 +

+(x− x−1)(x − x0)(x1 − x−1)(x1 − x0)

f1 +ω3(x)3!

f ′′′(ξ),

ω3(x) = (x− x−1)(x − x0)(x− x1). Derivujeme

f ′(x) =2x− x0 − x1

2h2f−1 −

2x− x−1 − x1h2

f0 +2x− x−1 − x0

2h2f1 +

+13!ω′3(x)f

′′′(ξ) +13!ω3(x)

ddx(f ′′′(ξ)),

Page 215: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 7.1. Numerický výpočet derivace 209

kde jsme položili xi = x0 + ih, i = ±1, a pro x = x0 máme

f ′(x0) =12h(−f−1 + f1)−

h2

6f ′′′(ξ0). (7.7)

Všimněme si ještě geometrického významu této formule — viz obr. 7.1. Zde f ′0 =

(−f−1+f1)/2h je přibližná hodnota derivace v bodě x0, což geometricky znamenásměrnici sečny určené body (x−1, f−1) a (x1, f1). Stejným způsobem lze odvodit

0 1 2 3 4 50

0.5

1

1.5

2

2.5

3

3.5

4

x−1

x1

x0

Obr. 7.1: Sečna určená body (x−1, f−1), (x1, f1) (čárkovaně) a tečna v bodě (x, f0) (čerchovaně)

i formule pro výpočet derivace v bodech x−1, x1:

f ′(x−1) =12h(−3f−1 + 4f0 − f1) +

h2

3f ′′′(ξ−1) (7.8)

f ′(x1) =12h(f−1 − 4f0 + 3f1) +

h2

3f ′′′(ξ1) (7.9)

Tyto formule se nazývají tříbodové .

Příklad 7.2. Užitím formulí (7.7), (7.8) a (7.9) vypočtěte derivaci funkce f(x) =log x+ 2 v bodech 0,5, 1, 1,5; h = 0, 5.Řešení:

f ′−1 =

12h(−3 log(0,5) + 4 log(1)− log(1,5)) = 1,6740,

f ′0 =

12h(− log(0,5) + log(1,5)) = 1,0986,

f ′1 =

12h( log(0,5)− 4 log(1) + 3 log(1,5)) = 0,5232.

Přesné hodnoty jsou f ′(0,5) = 2, f ′(1) = 1, f ′(1,5) = 2/3.

Page 216: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

210 7. NUMERICKÉ DERIVOVÁNí

Poznámka 2. Všimněme si, že chyba ve vzorci (7.7) je rovna přibližně poloviněchyby ve vzorcích (7.8), (7.9). To je logické, neboť (7.7) užívá hodnot v bodechležících po obou stranách x0, ale vzorce (7.8), (7.9) pouze hodnot ležících pouze najednu stranu od x−1 resp. x1. Formule (7.8) a (7.9) jsou tedy vhodné pro výpočetderivace v blízkosti koncových bodů intervalu, neboť nemusíme mít k dispozicihodnoty vně intervalu.

Při použití formulí pro numerické derivování se setkáváme ještě s dalším pro-blémem. Jestliže hodnoty fi jsou dány s chybou εi, může tato okolnost podstatněovlivnit výslednou hodnotu f ′

i . Ukážeme to na případě formule (7.7). Nechť fi jepřesná hodnota, fi je přibližná hodnota v bodě xi, i = 0,±1. Celkovou chybu Tlze odhadnout takto:

|T | ≤ 12h(|f−1 − f−1|+ |f1 − f1|) +

h2

6|f ′′′(ξ0)| ≤

12h(ε−1 + ε1) +

h2

6|f ′′′(ξ0)| ,

kde |fi − fi| ≤ εi; položme

ε = max(ε1, ε−1), M3 = max[x−1,x1]

|f ′′′(x)| .

Pak

|T | ≤ ε

h+h2

6M3.

První člen chyby (např. chyba způsobená zaokrouhlováním) závisí nepřímo úměrněna h, druhý člen (chyba metody) závisí přímo úměrně na h. Vzniká problém, jakvolit h, aby celková chyba byla minimální. Hledejme tedy minimum funkce

g(h) =ε

h+h2

6M3.

Ze vztahu g′(h) = 0 dostáváme bod minima

hopt =3

√3εM3

.

Pro obecný případ je problém podrobně popsán v [1], [19].

Poznámka 3. V případě, že hodnoty fi jsou dány s malou přesností (např. bylyzískány empiricky), není vhodné použít formuli pro numerické derivování přímo,neboť by mohlo dojít ke zkreslení výsledků. V takových případech je lépe nejdřívenaměřené hodnoty „vyrovnatÿ metodou nejmenších čtverců a pak teprve derivovat.

Postupem uvedeným výše lze získat formule pro numerický výpočet derivacívyšších řádů. Jako příklady lze uvést tyto tříbodové formule:

f ′′(x−1) =1h2(f−1 − 2f0 + f1)− hf ′′′(ξ−1) +

h2

6f (4)(η−1)

f ′′(x0) =1h2(f−1 − 2f0 + f1)−

h2

12f (4)(η0)

f ′′(x1) =1h2(f−1 − 2f0 + f1) + hf ′′′(ξ1)−

h2

6f (4)(η1) .

Page 217: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 7.2. Diferenční aproximace 211

§ 7.2. Diferenční aproximace

Zmíníme se ještě o jiném způsobu přibližného výpočtu derivace. Při numeric-kém řešení diferenciálních rovnic se u některých metod aproximují derivace dife-rencemi (diferenční metody). Ukážeme, jak se v takových případech aproximujíprvní a druhé derivace. Stejně jako v příkladě 7.1 uvažujme tři body x−1 = x0−h,x0, x1 = x0 + h. Předpokládejme, že f má dostatečný počet derivací v okolí x0.Napišme nyní Taylorův rozvoj v bodě x0:

f(x0 + h) = f(x0) + hf ′(x0) +h2

2f ′′(x0) +

h3

3!f (3)(x0) + (7.10)

+h4

4!f (4)(x0) +

h5

5!f (5)(x0) +

h6

6!f (6)(x0) +O(h7),

f(x0 − h) = f(x0)− hf ′(x0) +h2

2f ′′(x0)−

h3

3!f (3)(x0) + (7.11)

+h4

4!f (4)(x0)−

h5

5!f (5)(x0) +

h6

6!f (6)(x0) +O(h

7) .

Ze vztahu (7.10) nyní dostaneme aproximaci první derivace ve tvaru

f ′(x0) =f(x0 + h)− f(x0)

h+O(h) .

Výraz (f(x0 + h)− f(x0))/h se nazývá pravá diferenční derivace.Ze vztahu (7.10) plyne

f ′(x0) =f(x0)− f(x0 − h)

h+O(h) .

Výraz (f(x0)− f(x0 − h))/h se nazývá levá diferenční derivace.Pravá a levá diferenční derivace aproximují f ′(x0) s chybou řáduO(h) (tj. chyba

se chová přibližně jako kh, k = konst.). Jestliže vztahy (7.10) a (7.11) odečteme,dostaneme aproximaci derivace, která je řádu O(h2):

f ′(x0) =f(x0 + h)− f(x0 − h)

2h+O(h2) .

Tato aproximace se nazývá centrální diferenční derivace. Součtem vztahů (7.10)a (7.11) se získá aproximace druhé derivace v bodě x0:

f ′′(x0) =f(x0 + h)− 2f(x0) + f(x0 − h)

h2+O(h2) .

Poznámka 4. Všimněme si, že ve všech uvedených příkladech jsme neznámé hod-noty f ′(x0), f ′′(x0) aproximovali jistými formulemi závislými na kroku h, kterýzde hraje roli parametru. V následujícím odstavci ukážeme, jak lze těchto formulíužít k získání aproximací vyšších řádů.

Page 218: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

212 7. NUMERICKÉ DERIVOVÁNí

§ 7.3. Richardsonova extrapolace

Technika známá jako Richardsonova extrapolace se často používá pro získánívýsledků vyšších řádů přesnosti užitím formulí nižších řádů přesnosti. Myšlenkatéto metody pochází už od Archimeda (cca 200 př. n. l.). Vysvětlíme nejdříveobecný postup a pak ukážeme aplikaci na numerický výpočet derivace.Nechť N(h) je formule, která aproximuje neznámou veličinu M a nechť řád

této aproximace je O(h2). Navíc předpokládejme, že aproximace N(h) veličiny Mmůže být vyjádřena ve tvaru:

M = N(h) + k1h2 +O(h4) , (7.12)

kde k1 je konstanta. Napíšeme-li tento vztah s h/2 místo s h, dostaneme

M = N(h

2) + k1(

h

2)2 +O((

h

2)4) . (7.13)

Vynásobme rovnici (7.13) čtyřmi a odečteme od ní rovnici (7.12):

3M = 4N(h

2)−N(h) +O(h4) ,

odtud

M =4N(h2 )−N(h)

3+O(h4) .

Položme N1(h) = N(h) a

N2(h) =4N1(h2 )−N1(h)

3. (7.14)

Veličina N2(h) je novou aproximací veličiny M a řád této aproximace je O(h4).Tento postup lze zobecnit takto: Předpokládejme, že chyba aproximace N(h) ve-ličiny M může být vyjádřena ve tvaru

M = N(h) +m−1∑

j=1

kjh2j +O(h2m) ,

kde k1,. . . ,km−1 jsou konstanty. Aproximace Nj(h) řádu O(h2j), j = 2, 3, . . . ,mjsou definovány vztahy

Nj(h) =4j−1Nj−1(h2 )−Nj−1(h)

4j−1 − 1 (7.15)

Page 219: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 7.3. Richardsonova extrapolace 213

a výpočet lze uspořádat do tabulky:

N1(h)

N1(h2 ) N2(h)

N1(h4 ) N2(h2 ) N3(h)

N1(h8 ) N2(h4 ) N3(h2 ) N4(h)

N1( h16 ) N2(h8 ) N3(h4 ) N4(h2 ) N5(h)...

......

......

Poznámka 5. Uvedený postup se nazývá Richardsonova extrapolace. Snažíme setotiž získat hodnotu pro h→ 0, tj. jedná se o extrapolaci z kladných hodnot h.Je zřejmé, že centrální diferenční derivace může být vyjádřena ve tvaru (viz

(7.10) a (7.10))

f ′(x0) =f(x0 + h)− f(x0 − h)

2h− h2

6f ′′′(x0)−

h4

120f (5)(x0) +O(h

6) . (7.16)

V tomto případě je

N1(h) =f(x0 + h)− f(x0 − h)

2h, k1 = −f

′′′(x0)6

, k2 = −f(5)(x0)120

. (7.17)

Příklad 7.3. Užijte formuli (7.16) a (7.15) pro výpočet druhé derivace funkcef(x) = x ex v bodě x0 = 2 s krokem h = 0, 2Řešení: Je

N1(h) = N1(0, 2) =10, 4(f(2, 2)− f(1, 8)) = 22, 414160

N1(0, 1) = 22, 228787

N1(0, 05) = 22, 182565

Další aproximace jsou uspořádány v tabulce

N1(0, 2) = 22, 414160

N1(0, 1) = 22, 228787 N2(0, 2) =4N1(0,1)−N1(0,2)

3 = 22, 166996

N1(0, 05) = 22, 182565 N2(0, 1) =4N1(0,05)−N1(0,1)

3 = 22, 167158

N3(0, 2) =16N2(0,1)−N2(0,2)

15 = 22, 167168 .

Pro srovnání – přesná hodnota f ′(x) = ex + x ex v bodě x0 = 2 je 22, 167168.

Page 220: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

214 7. NUMERICKÉ DERIVOVÁNí

Poznámka 6. Jak uvidíme v kapitole 9, lze Richardsonovy extrapolace s výhodoupoužít i pro numerický výpočet integrálu.

Cvičení ke kapitole 7

1. Odvoďte formuli (7.8), (7.9).

2. Odvoďte pětibodovou formuli ve tvaru

f ′0 =

112h(f−2 − 8f−1 + 8f1 − f2) +

h4

30f (5)(ξ), x−2 < ξ < x2.

3. Užitím formulí (7.7), (7.8), (7.9) vypočtěte derivace funkce v daných bodech

xi −0,3 −0,1 0,1 0,3

fi −0,20431 −0,08993 0,11007 0,39569

(f ′(−0,3) ≈ 0,35785, f ′(−0,1) ≈ 0,78595, f ′(0,1) ≈ 1,2141, f ′(0,3)≈ 61,6422.)

4. a) Nechť f(x) = 2x sinx. Aproximujte hodnotu f ′(1,05) užitím h = 0,05 ah = 0,01 ve formuli (7.7), jsou-li dány hodnoty:

xi 1,0 1,04 1,06 1,10

f(xi) 1,6829420 1,7732994 1,8188014 1,9103448

b) Opakujte část a) pro případ, že všechny funkční hodnoty zaokrouhlítena čtyři desetinná místa.(2,27403, 2,27510.)

5. Užitím formule (7.7) najděte první derivaci funkce f(x) = 1/(1 + x) v boděx = 0,005. Užijte a) h = 1,0, b) h = 0,01 a výsledky porovnejte s přesnouhodnotou. Vysvětlete!

6. Použijte formule (7.16) a (7.15) k výpočtu hodnoty N3(h) pro následujícífunkce a kroky h:

a) f(x) = lnx, x0 = 1, 0, h = 0, 4

b) f(x) = x+ ex, x0 = 0, 0, h = 0, 4

c) f(x) = 2x sinx, x0 = 1, 05, h = 0, 4

Výsledek porovnejte s přesnými hodnotami.

Page 221: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kontrolní otázky ke kapitole 7 215

Kontrolní otázky ke kapitole 7

1. Může být první krok Richardsonovy extrapolace, tj. vztah (7.14), popsánpomocí interpolace určené body (h2, N1(h)), ((h2 )

2, N1(h2 ))? Jaká je hodnotapříslušného interpolačního polynomu v bodě 0?

2. Je výhodné použít pro numerický výpočet derivace podle formule (7.2), vekteré jsou jako uzly použity kořeny Čebyševova polynomu (viz kapitola 6)?(Návod: |T ′

n(x)| ≤ n2 pro x ∈ [−1, 1].)

3. Je možné použít hodnot z příkladu 1 pro výpočet f ′′′(xi), i = −1, 0, 1? Stačív tomto případě aproximace funkce polynomem druhého stupně?

Page 222: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

216 7. NUMERICKÉ DERIVOVÁNí

Page 223: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 8

Ortogonální polynomy

V této kapitole se budeme zabývat určitými polynomy, které budou velmi uži-tečné při konstrukci formulí numerického integrování. Zde uvedeme pouze definicea nejdůležitější vlastnosti. Podrobným studiem těchto polynomů se zabývá např.publikace [22].Nechť Πj stejně jako dříve značí množinu všech polynomů stupně nejvýše j

a Πj množinu všech normovaných polynomů stupně j, tj. polynomů s koeficientemrovným jedné u nejvyšší mocniny.Nechť w je funkce, o které předpokládáme, že je integrovatelná a nezáporná na

intervalu [a, b] a w(x) > 0 skoro všude na [a, b]. Takovou funkci budeme nazývatvahovou funkcí.Dále definujeme skalární součin

〈f, g〉 =∫ b

a

w(x)f(x)g(x) dx

pro všechny funkce, pro které existuje konečný integrál

〈f, f〉 =∫ b

a

w(x)f2(x) dx < +∞.

Jestliže 〈f, g〉 = 0, říkáme, že funkce f , g jsou ortogonální na intervalu [a, b] s vahouw.Následující věta dokazuje existenci posloupnosti navzájem ortogonálních poly-

nomů vzhledem k vahové funkci w.

Věta 8.1. Pro danou vahovou funkci w na [a, b] existují polynomy pj ∈ Πj,j = 0, 1, 2, . . ., takové, že

〈pi, pk〉 = 0 pro i 6= k. (8.1)

Tyto polynomy jsou jednoznačně definovány vztahy

p0(x) ≡ 1

Page 224: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

218 8. ORTOGONÁLNí POLYNOMY

pi+1(x) = (x− δi+1)pi(x) − γ2i pi−1(x) pro i ≥ 0,kde p−1(x) ≡ 0 a

δi+1 = 〈xpi, pi〉/〈pi, pi〉 pro i ≥ 0

〈xpi, pi〉 =∫ b

a

w(x)xp2i (x) dx

a

γ2i =

0 pro i = 0,

〈pi, pi〉/〈pi−1, pi−1〉 pro i ≥ 1.Důkaz. Polynomy pj , j = 0, 1, 2, . . ., lze sestrojit rekurentně pomocí Gramova-Schmidtova ortogonalizačního procesu ([22]). 2

Každý polynom p ∈ Πk lze zřejmě vyjádřit jako lineární kombinaci ortogonál-ních polynomů pi ∈ Πi, i ≤ k. Máme tedy:

Důsledek. 〈p, pn〉 = 0 pro všechny polynomy p ∈ Πn−1, pn ∈ Πn.

Věta 8.2. Nechť pj je systém polynomů ortogonálních s vahou w na intervalu[a, b].Platí: Každý polynom pj má všechny kořeny reálné, různé a všechny leží v in-

tervalu (a, b).

Důkaz lze najít v [22].

Některé vahové funkce se vyskytují v praxi dosti často, příslušné ortogonálnípolynomy se uvažují ve standardním tvaru, v němž je koeficient u xn obvyklerůzný od jedné. Uvedeme nyní některé speciální ortogonální polynomy.

1. Legendrovy polynomy Pn jsou ortogonální na intervalu [−1, 1] s vahouw(x) ≡ 1.Vlastnosti:

a) Ortogonalita∫ 1

−1Pn(x)Pm(x) dx =

0 pro n 6= m,2

2n+ 1pro n = m.

(8.2)

b) Platí rekurentní vztah

Pn+1(x) =2n+ 1n+ 1

xPn(x)−n

n+ 1Pn−1(x), n = 1, 2, 3, . . .

Je

P0(x) = 1, P1(x) = x, P2(x) =32x2 − 1

2, . . .

c) Polynomy Pn vyhovují diferenciální rovnici

(1− x2)y′′ − 2xy′ + n(n+ 1)y = 0.

Page 225: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

219

2. Čebyševovy polynomy Tn jsou ortogonální na intervalu [−1, 1] s vahouw(x) =1/

√1− x2.

Vlastnosti:

a) Ortogonalita

∫ 1

−1

Tn(x)Tm(x)√1− x2

dx =

0 pro n 6= m,π pro n = m = 0,π2 pro n = m 6= 0.

(8.3)

b) Platí rekurentní vztah

Tn+1(x) = 2xTn(x) − Tn−1(x).

JeT0(x) = 1, T1(x) = x, T2(x) = 2x2 − 1, . . .

c) Polynomy Tn jsou řešením diferenciální rovnice

(1− x2)y′′ − xy′ + n2y = 0.

S těmito polynomy jsme se již setkali, když jsme hledali polynomys nejmenší odchylkou od nuly na intervalu [−1, 1].

3. Laguerrovy polynomy Ln jsou ortogonální na intervalu [0,∞) s vahouw(x) =xαe−x, α > −1.Vlastnosti:

a) Ortogonalita

∫ ∞

0

xαe−xLn(x, α)Lm(x, α) dx =

0 pro n 6= m,Γ(α+ n+ 1)

n!pro n = m,

(8.4)kde Γ je gamma funkce.

b) Platí rekurentní vztah

Ln+1(x, α) =2n+ α+ 1− x

n+ 1Ln(x, α) −

n+ αn+ 1

Ln−1(x, α)

JeL0(x, α) = 1, L1(x, α) = −x+ α+ 1, . . .

c) Polynomy Ln jsou řešením diferenciální rovnice

xy′′ + (α − x+ 1)y′ + ny = 0.

Page 226: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

220 8. ORTOGONÁLNí POLYNOMY

4. Hermitovy polynomy Hn jsou ortogonální na intervalu (−∞,+∞) s vahouw(x) = e−x2 .

Vlastnosti:

a) Ortogonalita

∫ ∞

−∞e−x2Hn(x)Hm(x) dx =

0 pro n 6= m,2nn!

√π pro n = m.

(8.5)

b) Platí rekurentní vztah

Hn+1(x) = 2xHn(x)− 2nHn−1(x)

JeH0(x) = 1, H1(x) = 2x, H2(x) = 4x2 − 2, . . .

c) Polynomy Hn jsou řešením diferenciální rovnice

y′′ − 2xy′ + 2ny = 0.

Další vlastnosti ortogonálních polynomů pn dává následující věta.

Věta 8.3. Nechť pj je systém polynomů ortogonálních s vahou w na intervalu[a, b]. Pak platí:

1. Nechť x1 < x2 < . . . < xn jsou kořeny polynomu pn, x0 = a, xn+1 = b.Pak každý interval [xk, xk+1], k = 0, 1, . . . , n obsahuje právě jeden kořenpolynomu pn+1.

2. p′n(x) pn−1(x) − p′n−1(x) pn(x) > 0 ∀x ∈ R, n ≥ 1.

Důkaz lze najít v [22].

Cvičení ke kapitole 8

1. Ukažte, že funkce φ0 = 1/√2π, φ1(x) = (1/

√π) cosx, . . . , φn(x) =

(1/√π) cosnx, φn+1(x) = (1/

√π) sinx, . . . , φ2n−1(x) = (1/

√π) sin(n− 1)x

jsou ortogonální na [−π, π] s vahou w(x) ≡ 1.(Návod: užijte trigonometrických identit pro cos(mx± nx), sin(mx ± nx).)

2. Dokažte vztahy (8.3).

3. Dokažte, že pro každá přirozená čísla i, j platí

Ti(x)Tj(x) = 12 [Ti+j(x) + T|i−j|(x)],

kde Ti je Čebyševův polynom stupně i.

Page 227: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 8 221

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1 n=0

n=1

n=2

n=3n=4

x

y

Obr. 8.1: Legendrovy polynomy Pn

0 1 2 3 4 5 6 7−20

−10

0

10

20

30

40

n=0

n=1

n=2n=3

n=4

x

y

Obr. 8.2: Laguerrovy polynomy Ln, α = 1

Page 228: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

222 8. ORTOGONÁLNí POLYNOMY

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1 n=0

n=1

n=2

n=3

n=4

x

y

Obr. 8.3: Čebyševovy polynomy Tn

−2 −1 0 1 2−30

−20

−10

0

10

20

30

n=0

n=1

n=2

n=3

n=4

x

y

Obr. 8.4: Hermitovy polynomy Hn

Page 229: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kontrolní otázky ke kapitole 8 223

Kontrolní otázky ke kapitole 8

1. Nechť φ0, . . . , φn je ortogonální systém funkcí na intervalu [a, b] s vahouw. Je tento systém lineárně nezávislý?

2. Tvoří ortogonální polynomy pn,. . . ,p0 definované ve větě 8.1 Sturmovu po-sloupnost?

Page 230: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

224 8. ORTOGONÁLNí POLYNOMY

Page 231: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 9

Numerické integrování

§ 9.1. Kvadraturní formule, stupeň přesnosti, chyba

Zabývejme se přibližným výpočtem integrálu

I(f) =∫ b

a

f(x) dx. (9.1)

Z definice Riemannova integrálu a z jeho geometrického významu plyne, že jepřirozené hledat aproximaci tohoto integrálu ve tvaru

I(f) ≈n∑

i=0

Aif(xi), (9.2)

kde body xi ∈ [a, b], i = 0, 1, . . . , n, a reálná čísla Ai, i = 0, 1, . . . , n, nezávisí na f .

Definice 9.1. Výraz

Q(f) =n∑

i=0

Aif(xi) (9.3)

budeme nazývat kvadraturní formulí, čísla Ai, i = 0, 1, . . . , n, koeficienty kvadra-turní formule a navzájem různé body xi, i = 0, 1, . . . , n, uzly kvadraturní formule.

Poznámka 1. Mějme integrál

I =∫ 1

−1

dx

(1 + x2)√1− x2

.

Počítejme tento integrál pomocí formule (9.2). V případě, že body −1, 1 jsou uzlykvadraturní formule, nemůžeme tuto formuli použít, neboť integrand má singu-larity v těchto bodech. V tomto případě lze vhodně vyjádřit integrand pomocívahové funkce (kap. 8) takto

I =∫ 1

−1

w(x)(1 + x2)

dx, w(x) =1√1− x2

.

Page 232: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

226 9. NUMERICKÉ INTEGROVÁNí

Pro výpočet tohoto integrálu užijeme opět formule tvaru

∫ 1

−1

w(x)(1 + x2)

dx ≈n∑

i=0

Ai1

(1 + x2i ).

Singularitu integrandu jsme tedy zahrnuli do vahové funkce, jejíž funkční hodnotynevystupují explicitně v kvadraturní formuli. Myšlenku použití vahových funkcív integrandu lze zobecnit a z tohoto důvodu se budeme obecně zabývat problémemaproximace integrálu

I(f) =∫ b

a

w(x)f(x) dx (9.4)

formulí tvaru (9.3), tj.

∫ b

a

w(x)f(x) dx ≈n∑

i=1

Aif(xi). (9.5)

Vahovou funkci je rovněž vhodné zavést v případech, kdy počítáme celou řadupodobných integrálů a do funkce w můžeme zahrnout část společnou všem in-tegrandům. Kvadraturní formule jsou většinou odvozeny integrací interpolačníhopolynomu a z tohoto důvodu je vhodné vybrat vahovou funkci tak, aby funkci fbylo možné dobře aproximovat interpolačním polynomem.Ve formuli (9.5) vystupují uzly a koeficienty. Vzniká tedy otázka, jak vybrat

tyto parametry. Jaké je kritérium přesnosti, tj. pro které funkce nastane ve vztahu(9.2) resp. (9.5) rovnost? Jaká je chyba této aproximace?Rozdíl

R(f) =∫ b

a

w(x)f(x) dx−n∑

i=0

Aif(xi) (9.6)

budeme nazývat chybou kvadraturní formule.Obecný tvar chyby zde nebudeme uvádět, ale u každé kvadraturní formule, kte-

rou se budeme zabývat, uvedeme příslušný tvar chyby. Elegantní důkaz obecnéhotvaru chyby podal G. Peano (viz např [5], [8]).

Definice 9.2. Řekneme, že kvadraturní formule

Q(f) =n∑

i=0

Aif(xi)

má stupeň přesnosti N , jestliže

R(xj) = 0, j = 0, 1, . . . , N, R(xN+1) 6= 0. (9.7)

Poznámka 2. V této definici se jedná o algebraický stupeň přesnosti, ne o chybukvadraturní formule.

Page 233: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.1. Kvadraturní formule, stupeň přesnosti, chyba 227

Příklad 9.1. Určete stupeň přesnosti kvadraturní formule Q(f) = f(α) + f(−α),

0 < α ≤ 1 pro výpočet integrálu1∫

−1f(x)dx.

Řešení: Pro funkci f(x) = x0 je

R(x0) =

1∫

−1

1dx− (1− 1) = 0.

Je-li f(x) = x, pak

R(x) =

1∫

−1

xdx− (α− α) = 0.

Dále

R(x2) =

1∫

−1

x2dx− (α2 + (−α)2) = 23− 2α2.

Je-li α2 6= 13 , pak má kvadraturní formule stupeň přesnosti roven jedné. Pro α =√

33 je

R(x3) =

1∫

−1

x3dx− ((√33)3 + (−

√33)3) = 0,

R(x4) =

1∫

−1

x4dx− ((√33)4 + (−

√33)4) 6= 0.

Pro α =√33 je stupeň přesnosti kvadraturní formule roven třem.

Věta 9.1. Kvadraturní formule užívající n+ 1 uzlů má stupeň přesnosti nejvýše2n+ 1.

Důkaz. Předpokládejme, že kvadraturní formule

Q(f) =n∑

i=0

Aif(xi)

pro výpočet integrálu (9.4) má stupeň přesnosti 2n+ 2. Nechť xi, i = 0, 1, . . . , n,jsou uzly kvadraturní formule. Položme ω2n+1(x) = (x − x0)2 . . . (x − xn)2, ω2n+1je polynom stupně 2n+2. Počítejme nyní chybu kvadraturní formule pro výpočetintegrálu

∫ b

a ω2n+1(x)w(x) dx:

R(ω2n+1) =∫ b

a

w(x) ω2n+1(x) dx−n∑

i=0

Aiω2n+1(xi) =

∫ b

a

ω2n+1(x)w(x) dx,

Page 234: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

228 9. NUMERICKÉ INTEGROVÁNí

neboť ω2n+1(xi) = 0, i = 0, 1, . . . , n. Jelikož předpokládáme, že N = 2n+ 2, plynez tohoto vztahu:

R(ω2n+1) =∫ b

a

ω2n+1(x)w(x) dx = 0.

Toto je spor, neboť integrál z nezáporné funkce se nemůže rovnat nule. Stupeňpřesnosti kvadraturní formule je tedy nejvýše 2n+ 1. 2

Poznámka 3. Funkce uvedená v příkladu 9.1 má pro α =√3/3 maximální stupeň

přesnosti.

Věta 9.2. Kvadraturní formule získaná integrací interpolačního polynomu urče-ného body (xi, f(xi)), i = 0, . . . , n, má stupeň přesnosti alespoň n.

Důkaz. Nechť Pn ∈ Πn je Lagrangeův tvar interpolačního polynomu funkce fv bodech xi, i = 0, 1, . . . , n:

Pn(x) =n∑

i=0

li(x)f(xi).

Pak

f(x) = Pn(x) + E(x) =n∑

i=0

li(x)f(xi) +ωn+1(x)(n+ 1)!

f (n+1)(ξ), ξ = ξ(x).

Vynásobme tuto identitu vahovou funkcí w a integrujme v mezích od a do b:

∫ b

a

w(x)f(x) dx =n∑

i=0

f(xi)∫ b

a

w(x)li(x) dx+

+1

(n+ 1)!

∫ b

a

w(x) ωn+1(x)f(n+1)(ξ) dx.

Položme

Ai =∫ b

a

w(x)li(x) dx, i = 0, 1, . . . , n.

Z předchozího vztahu plyne, že integrál

I(f) =∫ b

a

w(x)f(x) dx

je aproximován kvadraturní formulí

Q(f) =n∑

i=0

Aif(xi)

s chybou

R(f) =1

(n+ 1)!

∫ b

a

w(x) ωn+1(x)f(n+1)(ξ) dx.

Page 235: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.1. Kvadraturní formule, stupeň přesnosti, chyba 229

Ve vyjádření chyby vystupuje (n+1)ní derivace funkce f , tzn. že chyba kvadraturníformule bude rovna nule pro funkce 1, x, . . . , xn a stupeň přesnosti bude alespoň n.

2

Příklad 9.2. Ukážeme, že formuli v příkladě 9.1 lze získat integrací interpolačníhopolynomu:Nechť P1 ∈ Π1 je interpolační polynom pro funkci f v uzlech −α, α:

P1(x) =x− α

−2α f(−α) + x+ α2α

f(α) .

Integrací dostaneme

1∫

−1

P1(x)dx =f(−α)−2α

1∫

−1

(x− α)dx +f(α)2α

1∫

−1

(x+ α)dx = f(−α) + f(α) .

Poznámka 4. Jsou-li dány uzly kvadraturní formule x0, . . . , xn, xi 6= xk proi 6= k, můžeme vždy najít koeficienty A0, . . . , An tak, aby stupeň přesnosti bylroven n, neboť systém rovnic

n∑

i=0

Aixki =

b∫

a

xkw(x)dx, k = 0, . . . , n

má právě jedno řešení. Pro dané uzly existuje tedy právě jedna posloupnost ko-eficientů A0, . . . , An. Na druhé straně můžeme tyto koeficienty získat integracíinterpolačního polynomu a chyba kvadraturní formule je v takovém případě dánavztahem

R(f) =1

(n+ 1)!

b∫

a

w(x)ωn+1(x)f (n+1)(ξ)dx .

V závislosti na vlastnostech uzlů a vahové funkce lze tento integrál dále upravit(např. metodou per partes) tak, že ve vyjádření chyby bude vystupovat f (N+1)(η),kde N je stupeň přesnosti dané formule.

Věta 9.3. Nechť vahová funkce w je sudá vzhledem ke středu s intervalu [a, b]a nechť uzly xi, i = 0, 1, . . . , n, jsou symetricky rozloženy vzhledem ke středu s.Pak koeficienty kvadraturní formule (získané integrací interpolačního polynomuv uzlech xi, i = 0, . . . , n) odpovídající symetrickým uzlům jsou stejné, tj.

Ai = An−i, i = 0, 1, . . . , n. (9.8)

Důkaz lze najít např. v [1].

Page 236: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

230 9. NUMERICKÉ INTEGROVÁNí

Uvažujme takovou „symetrickouÿ kvadraturní formuli. Tato formule budepřesná pro libovolnou funkci f lichou vzhledem ke středu s intervalu [a, b]. Protakovou funkci je totiž

∫ b

a

w(x)f(x) dx = 0

a na druhé straně

Q(f) =n∑

i=0

Aif(xi) = 0,

neboť f(xi) = −f(xn−i), Ai = An−i, i = 0, 1, . . . , n.Nechť nyní (n+1), tj. počet uzlů této symetrické kvadraturní formule, je číslo

liché. Tato formule bude zřejmě přesná i pro polynom

Pn+1(x) =(

x− a+ b2

)n+1

,

neboť Pn+1 je lichá funkce vzhledem ke středu s = (a + b)/2. Podle předchozívěty víme, že kvadraturní formule odvozená integrací interpolačního polynomu mástupeň přesnosti alespň n. Ukážeme nyní, že tato symetrická kvadraturní formulemá pro (n+ 1) liché stupeň přesnosti alespoň n+ 1. Je totiž

∫ b

a

Pn+1(x)w(x) dx =n∑

i=0

AiPn+1(xi),

kde Pn+1(x) = (x− 12 (a+ b))

n+1.Dále

∫ b

a

Pn+1(x)w(x) dx =∫ b

a

xn+1w(x) dx−∫ b

a

n∑

j=0

djxj

w(x) dx =

=n∑

i=0

Aixn+1i −

n∑

i=0

Ai

n∑

j=0

djxji

.

Stupeň přesnosti kvadraturní formule je alespoň n, a proto

∫ b

a

n∑

j=0

djxj

w(x) dx =n∑

i=0

Ai

n∑

j=0

djxji

.

A odtud plyne∫ b

a

xn+1w(x) dx =n∑

i=0

Aixn+1i ,

a to znamená, že stupeň přesnosti kvadraturní formule je alespoň n+ 1.

Page 237: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 231

Zabývejme se nyní otázkou výběru uzlů a koeficientů kvadraturní formule.V praxi jsou často uzly dány vnějšími okolnostmi nebo se užívá ekvidistantníchuzlů. Ale na volbu uzlů a koeficientů se také můžeme dívat z hlediska stupně přes-nosti. Formulujme nyní nejčastější požadavky na uzly a koeficienty kvadraturníformule:

a) nejsou předem dána žádná omezení ani na uzly ani na koeficienty kvadraturníformule,

b) jsou předepsány všechny uzly, obvykle ekvidistantní,

c) jsou předepsány pouze některé uzly, např. koncové body intervalu nebo body,v nichž je chování funkce význačné,

d) požaduje se rovnost všech koeficientů.

§ 9.2. Gaussovy kvadraturní formule

Zabývejme se nejdříve případem, kdy nejsou dána žádná omezení ani na uzly anina koeficienty kvadraturní formule. Je zde tedy problém: můžeme vybrat uzlya koeficienty tak, aby bylo dosaženo maximálního stupně přesnosti?Na tuto otázku dává odpověď následující věta:

Věta 9.4. Nechť kvadraturní formule

Q(f) =n∑

i=0

Aif(xi)

pro výpočet integrálu (9.4) má stupeň přesnosti alespoň n. Nechť pn, pn ∈ Πn,n = 0, 1, . . . tvoří ortogonální systém na intervalu [a, b] vzhledem k vahové funkci w.Pak tato formule má stupeň přesnosti 2n+1 právě tehdy, když uzly této kvadraturníformule jsou kořeny polynomu pn+1 ∈ Πn+1.

Důkaz. Nechť kvadraturní formule Q(f) má stupeň přesnosti 2n+ 1. Definujmepolynom ωn+1 ∈ Πn+1 vztahem

ωn+1(x) =n∏

i=0

(x− xi),

kde xi, i = 0, 1, . . . , n, jsou uzly dané kvadraturní formule. Podle předpokladuje kvadraturní formule přesná i pro polynom unωn+1, kde un ∈ Πn je libovolnýpolynom.Je tedy

∫ b

a

ωn+1(x)un(x)w(x) dx =n∑

i=0

Ai ωn+1(xi)un(xi).

Page 238: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

232 9. NUMERICKÉ INTEGROVÁNí

Pravá strana této rovnosti je rovna nule, neboť ωn+1(xi) = 0, i = 0, 1, . . . , n, a tedypro libovolný polynom un ∈ Πn platí

∫ b

a

w(x) ωn+1(x)un(x) dx = 0.

Polynom ωn+1 je ortogonální s vahou w ke všem polynomům ze třídy Πn, tzn.že polynom ωn+1 je totožný s polynomem pn+1, který náleží systému polynomůpn ortogonálních s vahouw na intervalu [a, b], pn ∈ Πn, (věta 8.1 a její důsledek).Uvažujme nyní systém pn polynomů ortogonálních s vahou w na intervalu

[a, b]. Sestrojme kvadraturní formuli, jejíž uzly jsou kořeny ortogonálního poly-nomu pn+1. Z věty 8.2 víme, že všechny kořeny tohoto polynomu jsou reálné,navzájem různé a všechny leží v (a, b).Uvažujme formuli mající stupeň přesnosti alespoň n. Takovou formuli lze

snadno sestrojit integrací interpolačního polynomu (viz věta 9.2). Nechť Q(f) jetaková formule a ukážeme, že má stupeň přesnosti 2n+ 1.Nechť P2n+1 ∈ Π2n+1 je libovolný polynom stupně 2n + 1. Zřejmě můžeme

tento polynom zapsat ve tvaru

P2n+1(x) = pn+1(x)un(x) + rn(x),

kde un je podíl při dělení P2n+1/pn+1 a rn je zbytek při tomto dělení. Je zřejměrn, un ∈ Πn.Aplikujme nyní na P2n+1 sestrojenou kvadraturní formuli a vypočtěme chybu

aproximace integrálu

R(P2n+1) =∫ b

a

w(x)P2n+1(x) dx−n∑

i=0

AiP2n+1(xi) =

=

∫ b

a

w(x)un(x)pn+1(x) dx−n∑

i=0

Aiun(xi)pn+1(xi)

+

+

∫ b

a

w(x)rn(x) dx−n∑

i=0

Airn(xi)

.

Výraz v první závorce je roven nule, neboť polynom pn+1 je ortogonální s vahou wk polynomu un a navíc pn+1(xi) = 0, i = 0, . . . , n, neboť uzly kvadraturní formulejsou kořeny polynomu pn+1. Výraz v druhé závorce je rovněž roven nule, neboťstupeň přesnosti kvadraturní formule je alespoň n. Odtud plyne R(P2n+1) = 0 prolibovolný polynom z Π2n+1 a tedy stupeň přesnosti kvadraturní formule je 2n+1.

2

Definice 9.3. Kvadraturní formule, jejichž uzly a koeficienty jsou vybrány tak,aby bylo dosaženo maximálního stupně přesnosti, se nazývají Gaussovy kvadra-turní formule.

Uvedená věta uvádí podmínky pro uzly kvadraturní formule. Vlastnosti koefi-cientů této kvadraturní formule jsou obsaženy implicitně v předpokladu, že stupeň

Page 239: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 233

přesnosti je alespoň n. Formule se stupněm přesnosti n můžeme snadno sestrojitintegrací interpolačního polynomu (věta 9.2). Koeficienty můžeme tedy spočítattakto (viz poznámka 4):

Ai =∫ b

a

w(x)li(x) dx, i = 0, 1, . . . , n, (9.9)

kde xi, i = 0, 1, . . . , n, jsou kořeny ortogonálního polynomu, pn+1(x) ≡ ωn+1(x),

li(x) =pn+1(x)

p′n+1(xi)(x− xi), i = 0, 1, . . . , n,

jsou příslušné fundamentální polynomy v Lagrangeově interpolačním polynomu.Jiný způsob výpočtu koeficientů vychází přímo z definice stupně přesnosti.

Požadujeme-li totiž, aby kvadraturní formule měla stupeň přesnosti n, pak musíbýt splněny podmínky:

∫ b

a

w(x)xk dx =n∑

i=0

Aixki , k = 0, 1, . . . , n. (9.10)

Víme, že všechny uzly xi, i = 0, 1, . . . , n, jsou reálné, různé a všechny leží v (a, b).Odtud plyne, že determinant soustavy, tzv. Vandermondův, je různý od nuly a sou-stava má jediné řešení, a tedy Gaussova kvadraturní formule je určena jedno-značně.

Věta 9.5. Pro koeficienty Gaussovy kvadraturní formule platí

a) Ai > 0, i = 0, 1, . . . , n, b)n∑

i=0

Ai =∫ b

a

w(x) dx.

Důkaz.

a) Gaussovy kvadraturní formule mají stupeň přesnosti 2n + 1 a jsou přesnéi pro polynomy l2j , j = 0, 1, . . . , n, což jsou polynomy stupně 2n:

l2j (x) =(

pn+1(x)p′n+1(xj)(x − xj)

)2

.

Pro výpočet integrálu I(l2j ) =∫ b

aw(x)l2j (x) dx tedy platí

∫ b

a

w(x)l2j (x) dx =n∑

i=0

Ail2j (xi).

Jelikož lj(xi) = δij , i, j = 0, 1, . . . , n, plyne odtud

Aj =∫ b

a

w(x)l2j (x) dx > 0, j = 0, 1, . . . , n. (9.11)

Page 240: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

234 9. NUMERICKÉ INTEGROVÁNí

Navíc porovnáním vztahů (9.9) a (9.11) dostáváme zajímavou rovnost∫ b

a

w(x)l2j dx =∫ b

a

w(x)lj(x) dx, j = 0, 1, . . . , n. (9.12)

b) Aplikací Gaussovy kvadraturní formule na funkci f(x) ≡ 1, pro kterou jesamozřejmě kvadraturní formule přesná, ihned dostaneme

∫ b

a

w(x) dx =n∑

i=0

Ai.

2

Věta 9.6. Nechť f ∈ C(2n+2)[a, b]. Chybu Gaussovy kvadraturní formule lze vy-jádřit ve tvaru

R(f) =f (2n+2)(η)(2n+ 2)!

∫ b

a

w(x)p2n+1(x) dx, η ∈ (a, b), (9.13)

kde ωn+1(x) = pn+1(x) ∀ x.Důkaz. Funkci f vyjádříme pomocí Hermitova interpolačního polynomu P2n+1 ∈Π2n+1 splňujícího podmínky

P2n+1(xi) = f(xi), i = 0, 1, . . . , n,

P ′2n+1(xi) = f ′(xi), i = 0, 1, . . . , n,

kde xi, i = 0, 1, . . . , n, jsou uzly Gaussovy kvadraturní formule. Podle kapitoly 8víme, že funkci f lze pomocí tohoto polynomu vyjádřit ve tvaru

f(x) = P2n+1(x) + E(x),

kde

P2n+1(x) =n∑

i=0

hi(x)f(xi) +n∑

i=0

hi(x)f ′(xi),

E(x) =p2n+1(x)(2n+ 2)!

f (2n+2)(ξ), ξ = ξ(x).

Připomínáme, že v tomto případě ωn+1(x) = pn+1(x), pn+1 je ortogonální polynom(s vahou w na [a, b]).Užijeme nyní tohoto vyjádření při výpočtu chyby kvadraturní formule:

R(f) =∫ b

a

w(x)f(x) dx−n∑

i=0

Aif(xi) =

=

∫ b

a

P2n+1(x)w(x) dx−n∑

i=0

AiP2n+1(xi)

+

+

∫ b

a

E(x)w(x) dx−n∑

i=0

AiE(xi)

.

Page 241: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 235

Výraz v první závorce je roven nule, neboť formule má stupeň přesnosti 2n + 1;dále E(xi) = 0, i = 0, 1, . . . , n, neboť pn+1(xi) = 0, i = 0, 1, . . . , n. Odtud plyne

R(f) =∫ b

a

w(x)p2n+1(x)(2n+ 2)!

f (2n+2)(ξ) dx.

Funkce f ∈ C(2n+2)[a, b] a funkce wp2n+1 je nezáporná a integrovatelná v [a, b]. Lzetedy užít druhé věty o střední hodnotě integrálu1. Výsledkem je následující tvarchyby Gaussovy kvadraturní formule:

R(f) =f (2n+2)(η)(2n+ 2)!

∫ b

a

w(x)p2n+1(x) dx, η ∈ (a, b).

2

Popišme nyní podrobněji konstrukci Gaussových formulí pro případ [a, b] =[−1, 1] a w(x) = 1 ∀x ∈ [−1, 1]. To znamená, že hledáme Gaussovu formuli provýpočet integrálu

∫ 1

−1f(x) dx.

Polynomy, které jsou ortogonální na intervalu [−1, 1] s vahou w(x) ≡ 1, se nazývajíLegendrovy polynomy (viz kap. 8) a označujeme je Pn. Z rekurentního vztahu

Pn+1(x) =2n+ 1n+ 1

xPn(x)−n

n+ 1Pn−1(x), n = 1, 2, . . .

P0(x) = 0, P1(x) = x, plyne, že je-li stupeň polynomu Pn číslo sudé, obsahuje Pn

pouze sudé mocniny x, je-li stupeň polynomu číslo liché, obsahuje polynom pouzeliché mocniny x. Odtud dále plyne, kořeny polynomu Pn jsou symetricky rozloženyvzhledem k bodu 0. Uzly xi, i = 0, 1, . . . , n, Gaussovy kvadraturní formule jsoukořeny Legendreova polynomu Pn+1 a koeficienty lze spočítat takto ([19]):

Ai =2(1− xi)2

(n+ 1)2(Pn(xi))2, i = 0, 1, . . . , n. (9.14)

Výsledná formule je tvaru

∫ 1

−1f(x) dx =

n∑

i=0

Aif(xi) +f (2n+2)(α)(2n+ 2)!

∫ 1

−1

n∏

i=0

(x− xi)2 dx, α ∈ (−1, 1). (9.15)

Tato formule se nazývá Gaussova-Legendreova kvadraturní formule.

1Druhá věta o střední hodnotě integrálu – někdy se také nazývá zobecněná věta o středníhodnotě integrálu: Nechť ϕ ∈ C[a, b], ψ integrovatelná v [a, b] a nemění znaménko v [a, b]. Pakexistuje bod τ ∈ (a, b), že

Z

b

a

ϕ(x)ψ(x) dx = ϕ(τ)

Z

b

a

ψ(x) dx.

Page 242: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

236 9. NUMERICKÉ INTEGROVÁNí

Legendrovy polynomy uvedené v předchozí kapitole splňují vztah

∫ 1

−1P 2n(x) dx =

22n+ 1

.

Tyto polynomy nemají koeficient 1 u nejvyšší mocniny. Položme nyní

pn(x) =1anPn(x),

kde an je koeficient u xn v polynomu Pn. Pak

22n+ 1

=∫ 1

−1P 2n(x) dx = a

2n

∫ 1

−1p2n(x) dx.

Odtud ∫ 1

−1p2n(x) dx =

2(2n+ 1)a2n

.

Lze ukázat [19], [21], že

an =(2n)!2n(n!)2

.

A z toho plyne, že chyba Gaussovy-Legendrovy formule může být vyjádřena vetvaru

R(f) =f (2n+2)(α)(2n+ 2)!

22(n+ 1) + 1

(2n+1((n+ 1)!)2

(2(n+ 1))!

)2

.

Podobným postupem lze vyjádřit chybu i pro další kvadraturní formule.

Výpočet integrálu na libovolném intervalu [a, b] lze vhodnou substitucí převéstna výpočet na intervalu [−1, 1] a poté použít formule (9.15).Příklad 9.3. Odvoďte Gaussovu-Legendrovu formuli ve tvaru

1∫

−1

f(x)dx ≈ A0f(x0) +A1f(x1) .

Řešení. Legendrův polynom druhého stupně je tvaru

P2(x) =32x2 − 1

2.

Jeho kořeny jsou x0 = −√3/3, x1 =

√3/3, a to jsou dva uzly kvadraturní formule.

Nejprve spočítáme koeficienty kvadraturní formule integrací interpolačního po-lynomu. Užijeme vzorce (9.9), kde w(x) ≡ 1 a

l0(x) =x−

√33

− 2√33

, l1(x) =x+

√33

2√33

.

Page 243: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 237

Koeficienty

A0 =

1∫

−1

l0(x)dx = 1, A1 =

1∫

−1

l1(x)dx = 1 .

Výsledná formule je tedy tvaru

1∫

−1

f(x)dx = f(−√33) + f(

√33) +R(f) . (9.16)

Samozřejmě, že koeficienty A0, A1 můžeme určit také řešením systému (9.10):

A0 +A1 =

1∫

−1

1dx = 2

−A0√33+A1

√33

=

1∫

−1

xdx = 0

Odtud pak ihned plyne, že A0 = A1 = 1.

Příklad 9.4. Ukážeme ještě jeden způsob konstrukce Gaussových formulí. Uva-

žujme formuli Q(f) = A0f(x0) +A1f(x1) pro výpočet integrálu1∫

−1f(x)dx. Víme,

že taková kvadraturní formule může mít nejvýše stupeň přesnosti 2n + 1, což jev našem případě 3 (viz věta 9.1). Podmínky pro dosažení tohoto stupně přesnostijsou dány rovnicemi R(xk) = 0, k = 0, 1, 2, 3, tj.

A0 +A1 =

1∫

−1

1dx = 2

A0x0 +A1x1 =

1∫

−1

xdx = 0

A0x20 +A1x

21 =

1∫

−1

x2dx =23

A0x30 +A1x

31 =

1∫

−1

x3dx = 0 .

Uzly x0, x1 jsou kořeny polynomu ω2(x) = (x − x0)(x − x1) = x2 + a1x + a2. Jetřeba určit koeficienty A1, A2. Postup je následující:

Page 244: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

238 9. NUMERICKÉ INTEGROVÁNí

Vynásobíme první z výše uvedených rovnic a2, druhou a1 třetí jedničkou a sečtemeje. Pak druhou rovnici vynásobíme a2, třetí a1 čtvrtou jedničkou a opět sečteme:

a2(A0 +A1) + a1(A0x0 +A1x1) +A0x20 +A1x21 = 2a2 +

23

a2(A0x0 +A1x1) + a1(A0x20 +A1x

21) +A0x

30 +A1x

31 =

23a1 .

Víme, že x2i + a1xi + a2 = 0, i = 0, 1, a proto jsou levé strany těchto rovnic rovnynule:

0 = 2a2 +23

⇒ a2 = −13

0 = a1 .

Pak polynom ω2(x) = x2 − 13 , odtud x0 = −

√33 , x1 =

√33 . Koeficienty A0, A1

získáme z prvních dvou rovnic: A0 = A1 = 1.

Poznámka 5. Víme, že chyba Gaussovy kvadraturní formule může být vyjádřenave tvaru

R(f) =f (2n+2)(η)(2n+ 2)!

∫ b

a

w(x)p2n+1(x) dx.

Veličina∫ b

a w(x)p2n+1(x)dx nezávisí na volbě funkce f . Je tedy pro všechny funkce

stejná. Vypočtěme nyní chybu kvadraturní formule pro funkci f(x) = x2n+2. Tatochyba je tvaru

R(x2n+2) =∫ b

a

w(x)x2n+2 dx−n∑

i=0

Aix2n+2i .

Z výše uvedeného vztahu plyne, že pro f(x) = x2n+2 je

R(x2n+2) =(2n+ 2)!(2n+ 2)!

∫ b

a

w(x)p2n+1(x) dx

a odtud∫ b

a

w(x)p2n+1(x) dx = R(x2n+2).

Výraz pro chybu Gaussovy kvadraturní formule můžeme zapsat takto:

R(f) =f (2n+2)(η)(2n+ 2)!

R(x2n+2).

Tedy např. pro Gaussovu-Legendrovu formuli pro n = 1 je

R(f) =f (4)(α)4!

R(x4), α ∈ (−1, 1)

Page 245: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 239

kde

R(x4) =∫ 1

−1x4 dx−

(

−√33

)4

+

(√33

)4

=845

a odtud

R(f) =1135

f (4)(α).

Poznámka 6. Nejjednodušší Gaussova-Legendreova formule je tvaru:

1∫

−1

f(x)dx = 2f(0) +f ′′(β)3

. (9.17)

Zde totiž n = 0, Legendrův polynom P1(x) = x má kořen x0 = 0 a pak

A0 =

1∫

−1

l0(x)dx =

1∫

−1

1dx = 2 .

Výpočet chyby R(f) v tomto případě:Je R(x2) = 2/3 a odtud

R(f) =1223f ′′(β) =

13f ′′(β), β ∈ (−1, 1).

Jak už jsme se zmínili dříve, obecný tvar chyby kvadraturních formulí doká-zal G. Peano. Ukážeme nyní na příkladě Gaussovy-Legendrovy formule myšlenkutohoto důkazu.Mějme formuli

1∫

−1

f(x)dx = f

(

−√33

)

+ f

(√33

)

+R(f) .

Jedná se o Gaussovu-Legendrovu formuli pro n = 1. Víme, že stupeň přesnostitéto formule je N = 3. Předpokládejme, že f ∈ C4[−1, 1]. Uvažujme Taylorůvrozvoj funkce f v okolí bodu x = −1 ve tvaru

f(x) = f(−1) + f ′(−1)(x+ 1) + f ′′(−1)2(x+ 1)2 +

f ′′′(−1)x!

(x+ 1)3 + r3(x) ,

kde zbytek r3(x) je zapsán v integrálním tvaru

r3(x) =13!

x∫

−1

f (4)(t)(x − t)3dt .

Page 246: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

240 9. NUMERICKÉ INTEGROVÁNí

Funkci f můžeme nyní zapsat takto

f(x) = P3(x) + r3(x), P3 ∈ Π3 .

Aplikujeme nyní na takto vyjádřenou funkci danou kvadraturní formuli a počí-tejme chybu:

R(f) =

1∫

−1

f(x)dx−(

f

(

−√33

)

+ f

(√33

))

=

=

1∫

−1

P3(x)dx −(

P3

(

−√33

)

+ P3

(√33

))

+

+

1∫

−1

r3(x)dx −(

r3

(

−√33

)

+ r3

(√33

))

.

Výraz v první závorce je roven nule, neboť stupeň přesnosti kvadraturní formuleje N = 3, a tedy

R(f) =13!

1∫

−1

x∫

−1

f (4)(t)(x − t)3dt

dx−

− 13!

−√3

3∫

−1

f (4)(t)

(

−√33

− t

)

)3dt+

√3

3∫

−1

f (4)(t)

(√33

− t

)

)3dt

.

Definujme nyní funkci (x− t)3+ jako funkci proměnné t takto:

(x− t)3+ =

(x− t)3 x ≥ t

0 x < t .

Na obrázku 9.1 vidíme průběh funkcí (−√33 − t)3+ a (

√33 − t)3+. Tyto funkce se

někdy nazývají „useknutéÿ mocniny a zavedli jsme je proto, aby integrační mezev předchozím vyjádření byly konstanty, což pak umožní další výpočet. Máme tedyintegrál

R(f) =13!

1∫

−1

1∫

−1

f (4)(t)(x − t)3+dt

dx−

− 13!

1∫

−1

f (4)(t)

(

−√33

− t

)3

+

dt+

1∫

−1

f (4)(t)

(√33

− t

)3

+

dt

.

Page 247: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 241

00

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

−√3/3 √3/3

Obr. 9.1: Funkce (−√33

− t)3+ a (√33

− t)3+.

Integrační meze jsou konstanty a můžeme zaměnit pořadí integrace v prvním in-tegrálu.

R(f) =13!

1∫

−1

f (4)(t)

1∫

−1

(x− t)3+dx

dt−

− 13!

1∫

−1

f (4)(t)

(

−√33

− t

)3

+

dt+

1∫

−1

f (4)(t)

(√33

− t

)3

+

dt

=

=13!

1∫

−1

f (4)(t)

1∫

−1

(x− t)3+dx−(

−√33

− t

)3

+

−(√33

− t

)3

+

dt .

Výraz

Rx((x− t)3+) =

1∫

−1

(x− t)3+dx−(

−√33

− t

)3

+

−(√33

− t

)3

+

je chyba dané kvadraturní formule pro funkci ϕ(x) = (x− t)4+.Položme nyní K(t) = 1

3!Rx((x − t)3+) a chybu kvadraturní formule můžemezapsat ve tvaru

R(f) =

1∫

−1

f (4)(t)K(t)dt ,

kde K je Peanovo jádro.

Page 248: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

242 9. NUMERICKÉ INTEGROVÁNí

Podívejme se nyní na vlastnosti funkce K:

K(t) =13!

1∫

−1

(x− t)3+dx−(

−√33

− t

)3

+

−(√33

− t

)3

+

.

Z vlastností funkce (x− t)3+ plyne, že

1∫

−1

(x− t)3+dx =

1∫

t

(x− t)3dx =(1 − t)4

4.

Pro funkci K platí:

K(t) =13!

(1− t)4

4−(

−√33

− t

)3

+

−(√33

− t

)3

+

.

Vyšetřeme nyní chování této funkce postupně na intervalech [−1,−√3/3],

[−√3/3,

√3/3], [

√3/3, 1].

(1) t ∈ [−1,−√3/3]⇒ K(t) = 1

3!

(

(1−t)4

4 +(

+√33 + t

)3

−(√33 − t

)3)

= (1+t)4

24

(2) t ∈ [−√3/3,

√3/3]⇒ K(t) = 1

3!

(

(1−t)4

4 −(√33 − t

)3)

(3) t ∈ [√3/3, 1]⇒ K(t) = (1−t)4

24

Průběh funkce K je zachycen na obrázku 9.2. Z předchozího plyne, že funkce Kje integrovatelná a nemění znaménko. Pro výpočet integrálu

R(f) =

1∫

−1

f (4)(t)K(t)dt

lze použít druhé věty o střední hodnotě integrálu:

R(f) = f (4)(α)

1∫

−1

K(t)dt, α ∈ (−1, 1) .

Nyní je možné vypočítat1∫

−1K(t)dt, ale protože tento integrál nezávisí na funkci

f , lze použít postupu uvedeného v poznámce 5:

R(x4) =845a současně R(x4) = 4!

1∫

−1

K(t)dt .

Page 249: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 243

−1 0 10

0.001

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0.01

−√3/3 √3/3

Obr. 9.2: Průběh Peanova jádra.

Odtud1∫

−1

K(t)dt =14!845=1135

,

takže

R(f) =1135

f (4)(α) .

Příklad 9.5. Užitím Gaussovy-Legendrovy formule (pro n = 3) vypočtěte integrál

∫ 1

−1

dx1 + x2

,

(přesná hodnota je π2 ).

Řešení.

∫ 1

−1

dx1 + x2

≈ 2.0,6511451 + (0,339981)2

+2.0,347855

1 + (0,861136)2≈ 1,5668347.

V následující tabulce jsou uvedeny uzly, koeficienty a chyba Gaussovy-Legend-rovy formule pro n = 1, 2, 3.

Page 250: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

244 9. NUMERICKÉ INTEGROVÁNí

n xi Ai R(f)

1 ±0,577350 = ±√33 1 1

135f(4)(α1)

2 0 89

115750f

(6)(α2)

±0,774597 = ±√35

59

3 ±0,339981 0,651145 13472875f

(8)(α3)

±0,861136 0,347855

Obrázky 9.3 a 9.4 ilustrují geometrický význam Gaussovy-Legendrovy formule.Graf funkce je znázorněn plnou čarou a graf polynomu, který integrujeme, je zná-zorněn čárkovaně.

−1 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x0

−0.7746

x1

0

x2

0.7746x

y

Obr. 9.3: Gaussova-Legendreova kvadraturní formule, n = 2

Nechť vahová funkce w(x) = 1/√1− x2, [a, b] = [−1, 1]. Polynomy, které jsou

ortogonální na tomto intervalu s uvedenou vahovou funkcí, jsou Čebyševovy poly-nomy. Kvadraturní formule pro výpočet integrálu

∫ 1

−1 1/√1− x2f(x)dx se nazývá

Gaussova-Čebyševova kvadraturní formule. Tato formule je tvaru

∫ 1

−1

f(x)√1− x2

dx =n∑

i=0

Aif(xi) +2π

22(n+1)(2(n+ 1)!)f (2n+2)(η), −1 < η < 1.

Následující tabulka udává koeficienty, uzly a chybu této formule pro n = 1, 2, 3.

Page 251: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 245

−1 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x0

−0.8611

x1

−0.34

x2

0.34

x3

0.8611x

y

Obr. 9.4: Gaussova-Legendreova kvadraturní formule, n = 3

n xi Ai R(f)

1 ±√22

π2

π192f

(4)(η1)

2 0,±√32

π3

π3840f

(6)(η2)

3±0,92386±0,38268

π4

π5160960f

(8)(η3)

Vidíme, že u jednotlivých formulí jsou všechny koeficienty stejné a rovnéπ/(n+ 1).

Příklad 9.6.Užitím Gaussovy-Čebyševovy kvadraturní formule (n = 2) vypočtěteintegrál

∫ 1

−1

dx

(1 + x2)√1− x2

(přesná hodnota je π/√2).

Řešení. Je

∫ 1

−1

dx

(x2 + 1)√1− x2

≈ π

3

1

1 +(

−√32

)2 +11 + 0

+1

1 +(√32

)2

=

57π.

Laguerrovy polynomy jsou ortogonální na intervalu [0,∞) s vahou w(x) = e−x.Kvadraturní formule pro výpočet integrálu

∫∞0 e

−xf(x) dx se nazývá Gaussova-

Page 252: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

246 9. NUMERICKÉ INTEGROVÁNí

Laguerrova kvadraturní formule. Formule je tedy tvaru

∫ ∞

0

e−xf(x) dx =n∑

i=0

Aif(xi) +((n+ 1)!)2

(2(n+ 1))!f (2n+2)(γ), 0 < γ <∞.

V následující tabulce jsou uvedeny uzly, koeficienty a chyba této formule pron = 1, 2, 3:

xi Ai R(f)

1 0,585786 0,853553 16f(4)(γ1)

3,414214 0,146447

2 0,415775 0,711093 120f

(6)(γ2)

2,294280 0,278512

6,289945 0,010389

3 0,322548 0,603154 170f

(8)(γ3)

1,745761 0,357419

4,536620 0,038888

9,395071 0,000539

Příklad 9.7. Užitím Gaussovy-Laguerrovy kvadraturní formule (n = 1) vypočtěte

∫ ∞

0

x4e−x dx,

(přesná hodnota je 4!).Řešení.

∫ ∞

0

x4e−x dx ≈ 0,853553.(0,585786)4+ 0,146447.(3,414214)4 ≈ 20,00006.

Pro výpočet integrálu∫∞−∞ e

−x2f(x) dx lze užít Gaussovy-Hermitovy kvadra-turní formule. Tyto formule jsou tvaru

∫ ∞

−∞e−x2f(x) dx =

n∑

i=0

Aif(xi) +√π(n+ 1)!

2n+1(2n+ 2)!f (2n+2)(β), −∞ < β <∞.

Uzly této kvadraturní formule jsou kořeny Hermitova polynomu ortogonálního naintervalu (−∞,∞) s vahou w(x) = e−x2 . Následující tabulka uvádí uzly, koefici-enty a chybu této formule:

Page 253: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.2. Gaussovy kvadraturní formule 247

n xi Ai R(f)

1 ±0,707107 0,886227√

π48 f

(4)(β1)

2 0 1,181636√

π960f

(6)(β2)

±1,224745 0,2954093 ±0,524648 0,804914

√π

26880f(8)(β3)

±1,650680 0,081313

Příklad 9.8. Užitím Gaussovy-Hermitovy kvadraturní formule (n = 3) vypočtěteintegrál

∫ ∞

−∞|x| e−x2 dx,

(přesná hodnota je rovna 1).Řešení.

∫ ∞

−∞|x| e−x2 dx ≈ 2(0,524648.0,804914+ 1,650680.0,081313)≈ 1,1130364.

Poznámka 7. Gaussovy formule mají ještě jednu důležitou vlastnost — s ros-toucím počtem uzlů konverguje posloupnost Gaussových formulí k přesné hodnotěintegrálu. Tuto vlastnost nemají všechny kvadraturní formule, obecně totiž nenísplněn předpoklad, že součet absolutních hodnot koeficientů je stejnoměrně ohra-ničený pro všechna n. Pro Gaussovy formule však tento předpoklad splněn je —viz věta 9.5b (podrobněji viz [19], [21]).Gaussovy formule tvoří velmi důležitou třídu kvadraturních formulí. K jejich

zhodnocení a použití se vrátíme v závěru této kapitoly.

Ukážeme nyní na příkladech některé další zajímavé vlastnosti Gaussových for-mulí.Uvažujme integrál

J =∫ 1

−1w(x)

f(x)f(x) + f(−x) dx, (9.18)

kde vahová funkce je sudá a funkce f není lichá. Počítejme tento integrál. Substi-tuce y = −x vede na integrál

J =∫ 1

−1w(y)

f(−y)f(y) + f(−y) dy.

Odtud

2J =∫ 1

−1w(x)

f(x)f(x) + f(−x) dx+

∫ 1

−1w(x)

f(−x)f(x) + f(−x) dx =

∫ 1

−1w(x) dx

Page 254: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

248 9. NUMERICKÉ INTEGROVÁNí

a

J =12

∫ 1

−1w(x) dx. (9.19)

Nechť nyní w(x) ≡ 1, pak J = 1 a vypočtěme tento integrál pomocí Gauss-ových-Legendrových formulí. Položme

F (x) =f(x)

f(x) + f(−x) .

Je

Q(F ) =n∑

i=0

AiF (xi) =12

n∑

i=0

Ai(F (xi) + F (−xi)) =12

n∑

i=0

Ai = 1,

tj. Q(F ) = J . To znamená, že Gaussova-Legendreova formule dává přesnou hod-notu integrálu. Zde jsme použili skutečnosti, že uzly xi jsou symetricky rozloženyvzhledem k bodu 0 a koeficienty odpovídající symetrickým uzlům jsou stejné (věta9.3). A dále, víme, že pro koeficienty Gaussových formulí platí

n∑

i=0

Ai =∫ 1

−1w(x) dx,

což znamená v případě Gaussových-Legendrových formulí

n∑

i=0

Ai = 2.

Příklad 9.9.

a) J =∫ 1

−1

dx1 + e−2x

=∫ 1

−1

ex

ex + e−xdx = 1,

b) J =∫ 1

−1

dx√1− x2(1 + e−2x)

=∫ 1

−1

ex√1− x2(ex + e−x)

dx =π

2.

§ 9.3. Newtonovy-Cotesovy kvadraturní formule

Nyní se budeme zabývat kvadraturními formulemi, pro které jsou předepsányvšechny uzly. Podrobně vyšetříme případ ekvidistantních uzlů.Nechť je tedy dáno dělení intervalu [a, b]:

a = x0 < x1 < . . . < xn = b,

xi = x0 + ih, i = 0, 1, . . . , n, h = (b− a)/n.

Page 255: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.3. Newtonovy-Cotesovy kvadraturní formule 249

Nechť nejdříve Pn ∈ Πn je Lagrangeův interpolační polynom pro body(xi, f(xi)), i = 0, 1, . . . , n. Stejným způsobem jako ve větě 9.2 dostaneme formuli

∫ b

a

w(x)f(x) dx =n∑

i=0

Aif(xi) +1

(n+ 1)!

∫ b

a

w(x) ωn+1(x)f (n+1)(ξ) dx. (9.20)

Čísla Ai =∫ b

a w(x)li(x) dx, i = 0, 1, . . . , n, se nazývají Cotesova čísla a jsou tabe-lována. Uvedená formule se nazývá Newtonova-Cotesova formule uzavřeného typu,v tomto případě integrační meze jsou uzly kvadraturní formule. Zřejmě je stupeňpřesnosti této formule alespoň n. V některých případech lze vyjádření chyby zjed-nodušit ([1], [8], [19]). Je-li vahová funkce sudá vzhledem ke středu s = (a+ b)/2a číslo n je sudé, a protože uzly jsou v tomto případě symetricky rozloženy vzhle-dem ke středu s, je podle poznámky za větou 9.3 stupeň přesnosti této kvadraturníformule n+ 1. To znamená, že ve vyjádření chyby bude vystupovat f (n+2). Toholze dosáhnout integrací per partes chybového členu (viz poznámka 4).Uvedeme nejjednodušší typy těchto formulí (w(x) ≡ 1).

a) Nechť n = 1. Funkci f aproximujeme polynomem P1 ∈ Π1, tj.

f(x) =x− a

b− af(b)− x− b

b− af(a) +

(x− a)(x − b)2

f ′′(ξ).

Integrací

∫ b

a

f(x) dx =b− a

2(f(a) + f(b)) +

12

∫ b

a

(x− a)(x − b)f ′′(ξ) dx.

Spočítejme nyní chybu

R(f) =12

∫ b

a

(x− a)(x − b)f ′′(ξ) dx.

Za předpokladu, že f ′′ je spojitá na intervalu [a, b], lze užít druhé větyo střední hodnotě integrálu, neboť funkce u(x) = (x − a)(x − b) neměníznaménko na intervalu [a, b]. Chybu lze nyní vyjádřit takto:

R(f) =f ′′(η)2

∫ b

a

(x− a)(x− b) dx = − (b− a)3

12f ′′(η), a < η < b.

Výsledná formule je tvaru

∫ b

a

f(x) dx =b− a

2(f(a) + f(b))− (b − a)3

12f ′′(η). (9.21)

Kvadraturní formule Q(f) = 12 (b − a)(f(a) + f(b)) je obsah lichoběžníka,

a proto se tato formule nazývá lichoběžníkové pravidlo.

Page 256: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

250 9. NUMERICKÉ INTEGROVÁNí

b) Nechť n = 2. V tomto případě aproximujeme f polynomem P2 ∈ Π2, nebolif nahradíme parabolou. Výsledná formule je tvaru

∫ b

a

f(x) dx =b− a

6

(

f(a) + 4f

(a+ b2

)

+ f(b)

)

− 190

(b− a

2

)5

f (4)(τ)

(9.22)Toto pravidlo se nazývá Simpsonovo nebo také parabolické pravidlo. Důkazviz cvičení.

Příklad 9.10. Užitím a) lichoběžníkového, b) Simpsonova pravidla vypočtěte in-tegrál

∫ 1

0

dx1 + x2

(přesná hodnota je π4 ).

a)∫ 1

0

dx1 + x2

≈ 12

(

1 +12

)

=34

b)∫ 1

0

dx1 + x2

≈ 16

(

1 + 445+12

)

=4760

Na obrázku 9.5 vidíme průběh integrované funkce a plochy ohraničené čárkova-nou křivkou, které se používají k přibližnému výpočtu integrálu lichoběžníkovýma Simpsonovým pravidlem.

0 0.5 10

0.5

1

0 0.5 10

0.5

1

Obr. 9.5: Lichoběžníkové a Simpsonovo pravidlo pro funkci f(x) = 11+x2

.

Aproximujme nyní funkci f interpolačním polynomem v bodech x1, . . . , xn−1,tj. pouze ve „vnitřníchÿ uzlech intervalu [a, b]. Stejným způsobem jako dříve ob-držíme formuli

∫ b

a

f(x)w(x) dx =n−1∑

i=1

Aif(xi) +1

(n− 1)!

∫ b

a

w(x) ωn−1(x)f (n−1)(ξ) dx,

Page 257: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.3. Newtonovy-Cotesovy kvadraturní formule 251

kde Ai, i = 1, . . . , n, jsou opět Cotesova čísla. Tuto kvadraturní formuli nazývámeNewtonovou-Cotesovou formulí otevřeného typu, integrační meze nejsou uzly kva-draturní formule. Zřejmě je stupeň přesnosti této formule alespoň n− 2. Je-li opětvahová funkce sudá vzhledem k s = (a+ b)/2 a n je číslo sudé, je přesnost formulen− 1.Odvodíme nyní nejjednodušší formuli tohoto typu (w(x) ≡ 1, n = 2). Vahová

funkce je v tomto případě sudá a ukážeme, že přesnost této formule je 1.Funkci f aproximujeme interpolačním polynomem P0 ∈ Π0 v bodě ((a +

b)/2, f((a+ b)/2)), tj.

f(x) = f(a+ b2

)

+(

x− a+ b2

)

f ′(ξ), ξ = ξ(x),

(P0(x) ≡ f((a+ b)/2)). Integrujeme:∫ b

a

f(x)dx =∫ b

a

f

(a+ b2

)

dx+∫ b

a

(

x− a+ b2

)

f ′(ξ) dx =

= (b− a)f(a+ b2

)

+∫ b

a

(

x− a+ b2

)

f ′(ξ) dx.

Vypočteme nyní chybu

R(f) =∫ b

a

(

x− a+ b2

)

f ′(ξ) dx.

Tento integrál budeme počítat metodou per partes a to takto:

u(x) =∫ x

a

(

t− a+ b2

)

dt, v(x) = f ′(ξ)

u′(x) =(

x− a+ b2

)

, v′(x) =f ′′(η)2!

η ∈ [a, b],

(pro výpočet v′ jsme užili věty 7.1). Je zřejmě u(x) = (x − a)(x − b)/2 a u(a) =u(b) = 0 a u(x) ≤ 0 pro ∀x ∈ [a, b]. Pro náš integrál máme

R(f) = [u(x)v(x)]ba −∫ b

a

u(x)v′(x) dx = −14

∫ b

a

(x − a)(x− b)f ′′(η) dx.

Za předpokladu, že f ∈ C2([a, b]), lze užít druhé věty o střední hodnotě integrálu,neboť funkce u nemění znaménko na tomto intervalu:

R(f) = −f′′(τ)4

∫ b

a

(x− a)(x − b) dx =(b − a)3

24f ′′(τ1), τ1 ∈ (a, b).

Výsledná formule∫ b

a

f(x) dx = (b − a)f(a+ b2

)

+(b− a)3

24f ′′(τ1)

Page 258: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

252 9. NUMERICKÉ INTEGROVÁNí

se nazývá obdélníkové pravidlo, neboťQ(f) = (b−a)f((a+b)/2) je obsah obdélníkao stranách (b − a) a f((a+ b)/2).

Příklad 9.11. Užitím obdélníkového pravidla vypočtěte1∫

0

1/(1 + x2) dx. (přesná

hodnota je π/4.)Řešení. ∫ 1

0

dx1 + x2

≈ 1 11 + 1/4

= 4/5.

Následující tabulky ukazují přehled nejužívanějších Newtonových-Cotesovýchkvadraturních formulí.

Newtonovy-Cotesovy formule uzavřeného typu:

1.∫ b

a

f(x) dx =b− a

2(f(a) + f(b))− (b − a)3

12f ′′(α1), a < α1 < b

2.∫ b

a

f(x) dx =b− a

6

(

f(a) + 4f(a+ b2

)

+ f(b))

−(b − a

2

)5f (4)(α2)90

,

a < α2 < b

3.∫ b

a

f(x) dx =b− a

8

(

f(a) + 3f(

a+b− a

3

)

+ 3f(

a+ 2b− a

3

)

+

+ f(b))

− 380

(b− a

3

)5

f (4)(α3), a < α3 < b

4.∫ b

a

f(x) dx =b− a

90

(

7f(a) + 32f(

a+b− a

4

)

+ 12f(

a+b− a

2

)

+

+ 32f(

a+ 3b− a

4

)

+ 7f(b))

−(b− a

4

)7 8945

f (6)(α4),

a < α4 < b

Formule 3. se také nazývá Newtonovo pravidlo nebo pravidlo 3/8.

Newtonovy-Cotesovy formule otevřeného typu:

5.∫ b

a

f(x) dx = (b− a)f(a+ b2

)

+(b− a)3

24f ′′(α5), a < α5 < b

6.∫ b

a

f(x) dx =b− a

2

(

f

(

a+b− a

3

)

+ f(

a+ 2b− a

3

))

+

+(b− a

3

)3f ′′(α6)4

, a < α6 < b

7.∫ b

a

f(x) dx =b− a

3

(

2f(

a+b− a

4

)

− f

(

a+b− a

2

)

+

+ 2f(

a+ 3b− a

4

))

+2890

(b− a

4

)5

f (4)(α7), a < α7 < b

Page 259: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.3. Newtonovy-Cotesovy kvadraturní formule 253

8.∫ b

a

f(x) dx =b− a

24

(

11f(

a+b− a

5

)

+ f(

a+ 2b− a

5

)

+

+ f(

a+ 3b− a

5

)

+ 11f(

a+ 4b− a

5

))

+

+95144

(b− a

5

)5

f (4)(α8), a < α8 < b

Příklad 9.12. Na závěr tohoto odstavce uvedeme zajímavý příklad. Uvažujmeintegrál

π2∫

0

sin2 xdx ,

jehož přesná hodnota je π/4. Ukážeme, že všechny Newtonovy-Cotesovy formule

0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

π/4 π/2

Obr. 9.6: Integrace funkce f(x) = sin2 x.

dávají přesnou hodnotu π/4:Víme, že uzly Newtonových-Cotesových formulí jsou ekvidistantní a jsou syme-

tricky rozloženy vzhledem ke středu s intervalu [a, b]. V našem případě s = π/4.Všechny tyto formule mají stupeň přesnosti N ≥ 1, a tedy zejména pro funkcif(x) ≡ 1 platí

π2∫

0

1dx =n∑

i=0

Ai ⇒n∑

i=0

Ai =π

2.

Na druhé straně z vlastností funkce f(x) = sin2 x, x ∈ [0, π/2] plyne opět zesymetrie uzlů vzhledem k bodu s = π/4, že

f(xi) + f(π/2− xi) = 1 .

Page 260: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

254 9. NUMERICKÉ INTEGROVÁNí

Zřejmě platí xi = i π/2, xn−i = π/2− xi, a odtud

n∑

i=0

Aif(xi) =12

n∑

i=0

Ai(f(xi) + f(π/2− xi)) =12

n∑

i=0

Ai =π

4,

neboť koeficienty odpovídající symetrickým uzlům jsou stejné.Podívejme se ještě na výpočet tohoto integrálu pomocí Gaussovy-Legendrovy

formule (9.17). Nejdříve je třeba užít substituce tak, abychom daný integrál pře-vedli na integrál s mezemi −1, 1.

π2∫

0

sin2 xdx =

∣∣∣∣y =

4πx− 1

∣∣∣∣=π

4

1∫

−1

sin2π(y + 1)4

dy .

Nyní tato formule dá hodnotu

π

4

1∫

−1

sin2π(y + 1)4

dy =π

42 sin2

π

4=π

4.

Dostali jsme opět přesnou hodnotu. Gaussova-Legendreova formule je totiž propřípad n = 0 totožná s obdélníkovým pravidlem pro interval [−1, 1]!

§ 9.4. Lobattova kvadraturní formule

Zmíníme se stručně o případu, kdy jsou pro kvadraturní formuli předepsány pouzeněkteré uzly. Problematiku objasníme pro integrál

I(f) =∫ 1

−1f(x) dx.

Naším úkolem je najít kvadraturní formuli tvaru

Q(f) = A0f(−1) +n−1∑

i=1

Aif(xi) +Anf(1).

Celkový počet neznámých je 2n: uzly x1, . . . , xn−1 a koeficienty A0, A1, . . . , An.Lze očekávat, že přesnost takové formule bude 2n − 1, neboť můžeme požadovatsplnění následujících podmínek:

∫ 1

−1xk dx = A0(−1)k +

n−1∑

i=1

Aixki +An, k = 0, 1, . . . , 2n− 1.

Nechť nyní P1 ∈ Π1 je interpolační polynom pro funkci f v bodech -1, 1; jezřejmě

P1(x) =1− x

2f(−1) + 1 + x

2f(1).

Page 261: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.4. Lobattova kvadraturní formule 255

Daný integrál vyjádříme ve tvaru

I(f) =∫ 1

−1P1(x) dx+

∫ 1

−1

f(x)− P1(x)1− x2

w(x) dx, (9.23)

kde w(x) = 1− x2.Nyní pro výpočet druhého integrálu sestrojíme Gaussovu kvadraturní formuli

s vahou w(x):

∫ 1

−1

f(x)− P1(x)1− x2

w(x) dx ≈n−1∑

i=1

Aif(xi)− P1(xi)1− x2i

. (9.24)

Zde Ai jsou koeficienty Gaussovy kvadraturní formule pro vahovou funkci w(x) =1− x2 a x1, . . . , xn−1 jsou kořeny ortogonálního polynomu s vahou w(x) = 1−x2

na intervalu [−1, 1].Připomínáme, že z vlastností ortogonálních polynomů plyne, že xi 6= ±1,

i = 1, . . . , n − 1. Vypočteme-li přímo integrál v (9.23), dostaneme požadovanoukvadraturní formuli

∫ 1

−1f(x) dx ≈ A0f(−1) +

n−1∑

i=1

Aif(xi) +Anf(1), (9.25)

kde

Ai =Ai

1− x2i, i = 1, . . . , n− 1,

A0 = 1−n−1∑

i=1

Ai1

2(1 + xi),

An = 1−n−1∑

i=1

Ai1

2(1− xi).

Tato formule se nazývá Lobattova kvadraturní formule. Koeficienty a uzly tétoformule jsou tabelovány a lze je najít např. v [19]. Lze ověřit, že tato formule mápřesnost 2n− 1 a chybu lze vyjádřit ve tvaru ([19]):

R(f) =f (2n)(τ)(2n)!

∫ 1

−1ω2n(x) dx, τ ∈ (−1, 1),

ω2n(x) = (x2 − 1)(x − x1)2 . . . (x − xn−1)2. (Pro odvození tohoto vztahu lze užítHermitova interpolačního polynomu.)

Příklad 9.13. Pro n = 3 je Lobattova kvadraturní formule tvaru∫ 1

−1f(x) dx =

16

(

f(−1) + 5f(

−√55

)

+ 5f

(√55

)

+ f(1)

)

− 22,3625.104

f (6)(η), η ∈ (−1, 1).

Page 262: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

256 9. NUMERICKÉ INTEGROVÁNí

Vypočítáme pomocí této formule integrál:

∫ 1

−1

dx1 + x2

≈ 16

12+ 5

1

1 +(

−√55

)2 + 51

1 +(√55

)2 +12

= 1,55

Příklad 9.14. Pro výpočet integrálu

1∫

−1

f(x)dx

najděte formuli ve tvaru

Q(f) = A0f(−1) +A1f(x1) .

Řešení: Lze očekávat stupeň přesnosti N ≥ 2. Z podmínek R(x0) = R(x1) =R(x2) = 0 plyne

A0 +A1 = 2

A0(−1) +A1x1 = 0

A0(−1)2 +A1x21 =23.

Polynom ω(x) = (x+1)(x− x1) = x2+ a1x+ a2 má kořeny x0 = −1, x1. Je třebaurčit kořen x1. Jako u odvození Gaussovy formule vynásobíme první rovnici a2,druhou a1, třetí jedničkou a sečteme. Výsledkem je rovnice

2a2 +23= 0 .

Odtud a2 = −1/3. Polynom ω(x) = x2 + a1x − 1/3 má kořen x0 = −1 tedy1− a1 − 1/3 = 0 odkud a1 = 2/3 a kořen x1 = 1/3.Koeficienty A0, A1 určíme z prvních dvou rovnic: A0 = 1/2, A1 = 3/2. Vý-

sledná formule je tvaru

Q(f) =12f(−1) + 3

2f(13) .

Koeficienty této formule lze rovněž získat integrací interpolačního polynomu v bo-dech x0 = −1, x1 = 1/3. Odtud pak snadno získáme vyjádření chyby

R(f) =

1∫

−1

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

f ′′(ξ)dx, ξ = ξ(x).

Page 263: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.5. Čebyševova kvadraturní formule 257

§ 9.5. Čebyševova kvadraturní formule

Podívejme se nyní na kvadraturní formuli z výpočetního hlediska. Formule

∫ b

a

w(x)f(x) dx ≈n∑

i=0

Aif(xi)

požadují (n+1) násobení a n sčítání. Jestliže však jsou všechny koeficienty stejné,tj. A = Ai, i = 0, 1, . . . , n, pak je třeba pouze jedno násobení a n sčítání.Kvadraturní formule tohoto typu

∫ b

a

w(x)f(x) dx ≈ An∑

i=0

f(xi) (9.26)

se nazývají Čebyševovy kvadraturní formule. Tyto formule mají ještě další užiteč-nou vlastnost, a to:Jsou-li dány hodnoty f(xi) s chybami εi, pak výsledná chyba způsobená těmito

nepřesnostmi bude nejmenší právě v případě, kdy A = Ai, i = 0, 1, . . . , n.V uvedené formuli (9.26) máme k dispozici (n + 2) „volnýchÿ parametrů —

koeficient A a uzly x0, x1, . . . , xn. Lze očekávat, že přesnost formule bude n + 1;můžeme totiž požadovat splnění rovnic

∫ b

a

xkw(x) dx = An∑

i=0

xki , k = 0, 1, . . . , n+ 1. (9.27)

Z první rovnice ihned plyne

A =1

n+ 1

∫ b

a

w(x) dx.

Ale řešit soustavu (9.27) není jednoduchá záležitost. Pro interval [−1, 1] a va-hovou funkci w(x) ≡ 1 řešil tuto úlohu P. L. Čebyšev a nalezl řešení pro n =0, 1, 2, 3, 4, 5, 6. Pro n = 7 dokázal, že uzly xi jsou komplexní čísla.Tímto problémem se rovněž zabýval S. N. Bernštejn a ukázal, že pro n > 8

nemá tato úloha řešení ([2]). Tedy pro interval [−1, 1] a vahovou funkci w(x) ≡ 1lze sestrojit Čebyševovy formule pro n = 0, 1, 2, 3, 4, 5, 6, 8 a tyto formule jsoutvaru

∫ 1

−1f(x) dx =

2n+ 1

n∑

i=0

f(xi) +R(f).

Chybu této formule lze vyjádřit např. užitím Peanovy věty ([8], [5]).I když Čebyševovy formule uvedeného tvaru lze sestrojit pouze pro malý počet

uzlů, je tento počet dostatečný, neboť jak ukážeme dále, užíváme obvykle kvadra-turních formulí nižších řádů.

Page 264: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

258 9. NUMERICKÉ INTEGROVÁNí

Příklad 9.15. Odvoďte Čebyševovu kvadraturní formuli ve tvaru

1∫

−1

f(x)dx ≈ A(f(x0) + f(x1) + f(x2)) .

Řešení: V tomto případě může být stupeň přesnosti N ≥ 3. Ze vztahů R(x0) =R(x1) = R(x2) = R(x3) = 0 dostáváme

A(x00 + x01 + x

02) = 2

A(x0 + x1 + x2) = 0

A(x20 + x21 + x

22) =

23

A(x30 + x31 + x

32) = 0 .

(9.28)

Z první rovnice plyne, že A = 2/3. Nechť nyní ω3(x) = (x− x0)(x− x1)(x− x2) =x3+a1x2+a2x+a3 je neznámý polynom, jehož kořeny jsou právě uzly x0, x1, x2.Dále první rovnici vynásobíme a3, druhou a2, třetí a1, čtvrtou jedničkou a sečteme.Výsledkem je rovnice

2a3 +23a1 = 0 .

Z Newtonových vztahů mezi kořeny a koeficienty plynomu plyne:

x0 + x1 + x2 = −a1a0, kde a0 = 1 ,

takže z druhé rovnice systému (9.28) plyne, že a1 = 0. Tedy také a3 = 0. Koeficienta2 určíme opět použitím Newtonových vztahů:

x0x1 + x1x2 + x0x2 =a2a0. (9.29)

Z výše uvedené soustavy rovnic plyne

x0 + x1 + x2 = 0

x20 + x21 + x

22 = 1 .

Odtud(x0 + x1 + x2)2 − (x20 + x21 + x22) = −1 ⇒

⇒ x0x1 + x1x2 + x0x2 = −12.

A z (9.29) plyne, že a2 = −1/2.

Page 265: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.5. Čebyševova kvadraturní formule 259

Polynom ω3 má koeficienty : a0 = 1, a1 = 0, a2 = −1/2, a3 = 0, tedy ω3 =x3 − 1/2 a kořeny tohoto polynomu jsou

x0 = −√22, x1 = 0, x2 =

√22.

Výsledná formule je tvaru

Q(f) =23(f(−

√22) + f(0) + f(

√22)) .

Chybu této kvadraturní formule lze spočítat integrací chyby při interpolaci poly-nomem P2 ∈ Π2 v uzlech −

√2/2,

√2/2:

R(f) =13!

1∫

−1

x(x2 − 12)f (3)(ξ(x))dx =

1360

f (4)(η)

a použít podobného postupu jako při odvození chyby obdélníkového pravidla.

Příklad 9.16. Užitím Čebyševovy formule

∫ 1

−1f(x) dx =

23

[

f

(

−√22

)

+ f(0) + f

(√22

)]

+1360

f (4)(η), −1 < η < 1,

vypočtěte integrál∫ 1

−1

dx1 + x2

,

jehož přesná hodnota je π/2.Řešení.

∫ 1

−1

dx1 + x2

≈ 23

1

1 +(

−√22

)2 + 1 +1

1 +(√22

)2

=

149= 1,55.

Pro ilustraci uvedeme ještě další formule Čebyševova typu

n = 1 :∫ 1

−1f(x) dx = f

(

−√33

)

+ f

(√33

)

+1135

f (4)(α), −1 < α < 1,

n = 3 :∫ 1

−1f(x) dx =

12

f

√√5 + 2

3√5

+ f

√√5− 23√5

+

+ f

√√5− 23√5

+ f

√√5 + 2

3√5

+242525

f (6)(α1),

−1 < α1 < 1.

Page 266: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

260 9. NUMERICKÉ INTEGROVÁNí

Vidíme, že pro n = 1 dostáváme formuli totožnou s Gaussovou-Legendrovoukvadraturní formulí. Tento výsledek bylo možné očekávat a je důsledkem toho, žev této formuli jsou oba koeficienty stejné.

§ 9.6. Složené kvadraturní formule

Uvažujme integrál∫ π

0

sinx dx,

jehož přesná hodnota je 2. Vypočítejme nyní tento integrál lichoběžníkovým pra-vidlem:

Q(f) =π

2(sinπ + sin 0) = 0.

Vysvětlení spočívá v tom, že lichoběžník v tomto případě degeneruje v úsečku[0, π].

Rozdělme nyní interval [0, π] na dva subintervaly [0, π/2], [π/2, π] a na každémz nich aplikujme lichoběžníkové pravidlo:

∫ π

0

sinx dx =∫ π

2

0

sinx dx+∫ π

π2

sinx dx ≈

≈ π

4

(

sin 0 + sinπ

2

)

4

(

sinπ

2+ sinπ

)

2.

Při rozdělení intervalu na čtyři subintervaly délky π/4 dostaneme

∫ π

0

sinx dx ≈√2 + 14

π.

Uvedený postup lze aplikovat i na další typy kvadraturních formulí. Postupu-jeme přitom takto:Daný interval rozdělíme na M subintervalů a na každém z těchto subintervalů

aplikujeme kvadraturní formuli Q(f). Tím je dána na intervalu [a, b] nová kvad-raturní formule, kterou budeme nazývat složenou kvadraturní formulí a budemepsát

QM (f) =∑

Q(f).

Pokud je dělení intervalu [a, b] ekvidistantní s krokem h, budeme rovněž užívatoznačení Qh(f), h = (b− a)/M .Nyní se budeme podrobněji zabývat složeným lichoběžníkovým pravidlem,

které patří k nejužívanějším formulím tohoto typu.Nechť je dáno dělení intervalu [a, b]:

a = x0 < x1 < . . . < xM = b,

Page 267: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.6. Složené kvadraturní formule 261

přičemž xi+1−xi = h, i = 0, 1, . . . ,M−1, h > 0. Na každém subintervalu [xi, xi+1]aproximujeme lichoběžníkovým pravidlem integrál

∫ xi+1

xi

f(x) dx =h

2(f(xi) + f(xi+1))−

h3

12f ′′(ξi), xi < ξi < xi+1.

Pro daný integrál dostaneme

∫ b

a

f(x) dx =M−1∑

i=0

∫ xi+1

xi

f(x) dx =h

2

M−1∑

i=0

(f(xi) + f(xi+1))−h3

12

M−1∑

i=0

f ′′(ξi).

(9.30)Podívejme se nyní na chybu této aproximace. Je

R(f) = −h3

12

M−1∑

i=0

f ′′(ξi). (9.31)

Předpokládejme, že f ′′ je spojitá v [a, b] a položme L = maxa≤x≤b f′′(x), l =

mina≤x≤b f′′(x). Pak

Ml ≤M−1∑

i=0

f ′′(ξi) ≤ML

a

l ≤ 1M

M−1∑

i=0

f ′′(ξi) ≤ L.

Nyní, protože f ′′ je spojitá, musí nabývat každé hodnoty mezi svou maximálnía minimální hodnotou na intervalu. Odtud plyne, že existuje takové ξ ∈ [a, b], že

f ′′(ξ) =1M

M−1∑

i=0

f ′′(ξi).

Když se vrátíme k vyjádřením (9.30), (9.31), lze zapsat chybu ve tvaru

R(f) = − (b− a)3

12M2f ′′(ξ)

a aproximaci integrálu složeným lichoběžníkovým pravidlem

∫ b

a

f(x) =h

2(f(x0) + 2f(x1) + . . .+ 2f(xM−1) + f(xM ))−

− (b− a)3

12M2f ′′(ξ), a < ξ < b.

(9.32)

Tedy

QM (f) =h

2(f(x0) + 2f(x1) + . . .+ 2f(xM−1) + f(xM )).

Page 268: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

262 9. NUMERICKÉ INTEGROVÁNí

−1 −0.5 0 0.5 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Obr. 9.7: Složené lichoběžníkové pravidlo, f(x) = 1/(1 + x2), Q(f) = 1,55

Poznámka 8. Z tvaru chyby v (9.32) je vidět, že s rostoucím počtem intervalůkonvergují aproximace k přesné hodnotě integrálu.

Geometrický význam složeného lichoběžníkového pravidla ilustruje obr. 9.7,kde M = 4. Graf dané funkce je vyznačen plnou čarou, odpovídající lichoběžníkyjsou vyznačeny čárkovaně.

Při aplikaci složeného lichoběžníkového pravidla je výhodné položit Mk = 2k,k = 0, 1, 2, . . . a počítat postupně hodnoty formulí QMk(f), k = 0, 1, . . ., tj. nakaždém kroku zdvojnásobit počet subintervalů. Výhodou tohoto postupu je sku-tečnost, že již jednou vypočtené hodnoty funkce f se použijí ve všech dalšíchkrocích. Tuto vlastnost obecně kvadraturní formule nemají, např. při použití slo-žených Gaussových formulí, je třeba vždy znovu spočítat všechny funkční hodnoty.Pro toto dělení intervalu můžeme zapsat složené lichoběžníkové pravidlo ve

tvaru, který je vhodný zejména pro užití na počítači. Snadno lze totiž ukázat, že

QMk(f) =12

QMk−1(f) +b− a

2k−1

2k−1∑

i=0

f

(

a+2i − 12k(b− a)

)

, (9.33)

kde Mk = 2k, k = 0, 1, . . .

Důkaz tohoto vyjádření ponecháváme do cvičení.

Rozdělme nyní interval [a, b] na 2M subintervalů s dělicími body a = x0 <x1 < . . . < x2M = b, xi − xi−1 = h, h = (b − a)/2M . Na každém subintervaludélky 2h aplikujme Simpsonovo pravidlo. Výsledná formule

∫ b

a

f(x) dx =h

3

f(a) + 2M−1∑

j=1

f(x2j) + 4M∑

j=1

f(x2j−1) + f(b)

Page 269: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.6. Složené kvadraturní formule 263

− b− a

180h4f (4)(η), a < η < b,

se nazývá složené Simpsonovo pravidlo.Výraz pro chybu se odvodí stejným způsobem jako u složeného lichoběžníko-

vého pravidla.

−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Obr. 9.8: Složené Simpsonovo pravidlo, f(x) = 1/(1 + x2), Q(f) = 1,5667

Obr. 9.8 ilustruje geometrický význam složeného Simpsonova pravidla proM = 2, tj. h = 1

2 , tj. interval [−1, 1] rozdělíme na 4 subintervaly délky h = 12

a na 2 subintervalech délky 2h = 1 aplikujeme Simpsonovo pravidlo. Grafy dvoupříslušných parabol jsou vyznačeny čárkovaně.

Nyní opět uvedeme zajímavý příklad týkající se aplikace složeného lichoběžní-kového pravidla.Mějme integrál

K =∫ 1

0

f(x)f(x) + f(1− x)

dx. (9.34)

Obdobným způsobem jako při výpočtu integrálu (9.18) lze ukázat, žeK = 12 . Apli-

kujme nyní složené lichoběžníkové pravidlo na výpočet tohoto integrálu. Položme

F (x) =f(x)

f(x) + f(1− x).

Je jasné, žeF (x) + F (1− x) = 1. (9.35)

Dále víme, že uzly dělení jsou ekvidistantní a xM−i = 1−xi, h = 1/M . Aplikujmenyní složené lichoběžníkové pravidlo na funkci F (x). Je

QM (F ) =1M

(12F (x0) + F (x1) + . . .+ F (xM−1) +

12F (xM )

)

=

Page 270: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

264 9. NUMERICKÉ INTEGROVÁNí

=12M

(12F (x0) + F (x1) + . . .+ F (xM−1) +

12F (xM ) +

+12F (1− x0) + F (1− x1) + . . .+ F (1− xM−1) +

12F (x0)

)

Vezmeme-li v úvahu (9.35), dostaneme

QM (F ) =12M

(12+ (M − 1) + 1

2

)

=12.

Vidíme, že složené lichoběžníkové pravidlo dává přesnou hodnotu integrálu K.

§ 9.7. Adaptivní kvadraturní formule

Jak jsme již uvedli, složené kvadraturní formule obvykle užívají ekvidistantníhodělení intervalu. Ale tento postup není vhodný v případě, kdy integrační inter-val obsahuje jak subintervaly, kde funkce značně osciluje, tak také subintervaly,kde funkční hodnoty se nemění příliš rychle. To znamená, že v prvním případě jevhodný menší krok dělení, aby příslušná kvadraturní formule vhodně vystihla cho-vání funkce, v druhém případě krok dělení může být větší. Efektivní metody, kterémohou přizpůsobit délku kroku variaci funkce, se nazývají adaptivní kvadraturníformule.V systému MATLAB jsou uvedeny dvě metody tohoto typu:

1) QUAD — adaptivní kvadraturní formule založená na Simpsonově pravidle,

2) QUAD 8 — adaptivní kvadraturní formule založená na pravidle 3/8.

Vysvětlíme stručně podstatu metody QUAD. Je třeba aproximovat integrál

I(f) =∫ b

a

f(x) dx

s chybou menší než ε, ε > 0. Označme S(a, b) Simpsonovo pravidlo pro interval[a, b],

S(a, b) =h

3

(

f(a) + 4f(a+ b2

)

+ f(b))

, h =b− a

2.

Pak∫ b

a

f(x) dx = S(a, b)− h5

90f (4)(τ), a < τ < b. (9.36)

Aplikujme nyní složené Simpsonovo pravidlo pro dva subintervaly [a, (a + b)/2],[(a+ b)/2, b], tj. krok dělení je h1 = h/2 = (b− a)/4. Aproximace integrálu je nynítvaru∫ b

a

f(x) dx =h

6

(

f(a) + 4f(

a+h

2

)

+ 2f(a+ h) + 4f(

a+32h

)

+ f(b))

−(h

2

)4b− a

180f (4)(τ ), a < τ < b.

(9.37)

Page 271: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.7. Adaptivní kvadraturní formule 265

Položme

S

(

a,a+ b2

)

=h

6

(

f(a) + 4f(

a+h

2

)

+ f(a+ h))

,

S

(a+ b2

, b

)

=h

6

(

f(a+ h) + 4f(

a+32h

)

+ f(b))

.

Vztah (9.37) můžeme nyní zapsat ve tvaru

∫ b

a

f(x) dx = S(

a,a+ b2

)

+ S(a+ b2

, b

)

− 116h5

90f (4)(τ ). (9.38)

Předpokládejme nyní, že f (4) se příliš nemění v [a, b], tj. předpokládejme, žef (4)(τ) ≈ f (4)(τ ). Za tohoto předpokladu vztahy (9.36) a (9.38) implikují

S

(

a,a+ b2

)

+ S(a+ b2

, b

)

− 116h5

90f (4)(τ) ≈ S(a, b)− h5

90f (4)(τ).

Odtudh5

90f (4)(τ) ≈ 16

15

(

S(a, b)− S

(

a,a+ b2

)

− S

(a+ b2

, b

))

.

Užijeme-li tohoto vyjádření ve vztahu (9.38), dostaneme∣∣∣∣∣

∫ b

a

f(x) dx− S

(

a,a+ b2

)

− S

(a+ b2

, b

)∣∣∣∣∣≈

≈ 115

∣∣∣∣S(a, b)− S

(

a,a+ b2

)

− S

(a+ b2

, b

)∣∣∣∣.

(9.39)

Tento vztah znamená, že součet (S(a, (a+b)/2)+S((a+b)/2, b)) aproximuje danýintegrál 15krát lépe než (tentýž součet) aproximuje hodnotu S(a, b).To znamená, že S(a, (a+b)/2)+S((a+b)/2, b) bude aproximovat integrál I(f)

s přesností ε, za předpokladu, že S(a, (a+ b)/2) + S((a+ b)/2, b) se liší od S(a, b)o méně než 15ε, tj. je-li

∣∣∣∣S(a, b)− S

(

a,a+ b2

)

− S

(a+ b2

, b

)∣∣∣∣< 15ε, (9.40)

pak ∣∣∣∣I(f)− S

(

a,a+ b2

)

− S

(a+ b2

, b

)∣∣∣∣< ε. (9.41)

Je-li tedy splněna podmínka (9.40), je integrál aproximován s dostatečnou přes-ností.Jaká je tedy základní myšlenka programu QUAD? Testujeme, zda je splněna

podmínka (9.40). Je-li splněna, je integrál aproximován s dostatečnou přesností.Jestliže podmínka (9.40) není splněna, aplikujeme výše uvedený postup na každý

Page 272: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

266 9. NUMERICKÉ INTEGROVÁNí

subinterval [a, (a + b)/2], [(a + b)/2, b] zvlášť a požadujeme, aby chyba byla nakaždém z těchto subintervalů menší než ε/2. Pak je celková chyba menší než ε.Je-li chyba aproximace na některém ze subintervalů větší než ε/2, pak se opětrozdělí tento subinterval na dva intervaly a požaduje se, aby chyba aproximacena každém z nich byla menší než ε/4. Postup opakujeme tak dlouho, pokud nenídosaženo požadované přesnosti.

Obr. 9.9 ilustruje použití adaptivní formule QUAD. Na ose x jsou vyznačenykoncové body intervalů, které odpovídají dělení při realizaci procedury QUAD,

f(x) =100x2sin10x,

tolerance 0,03, Q(f) = −1,413.

1 1.5 2 2.5 3

−60

−40

−20

0

20

40

60

x

y

Obr. 9.9: QUAD pro výpočet integrálu3R

1

100x2sin 10

xdx

Program QUAD 8 je konstruován podobným způsobem založeným na pravidle3/8.

§ 9.8. Rombergova integrace

Lze ukázat ([5], [19]), že složené lichoběžníkové pravidlo s krokem h můžeme vy-jádřit ve tvaru

Qh(f) =∫ b

a

f(x) dx+ c1h2 + c2h4 + . . .+ cmh2m + αm+1(h)h2m+2, (9.42)

kde |αm+1(h)| ≤ Am+1 pro všechna h = (b− a)/M , M = 1, 2, . . .

Page 273: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.8. Rombergova integrace 267

Na tomto vyjádření je založena velice užitečná a elegantní Rombergova kvad-raturní formule. Poslední člen ve vyjádření (9.42) je relativně malý a můžeme jejtedy zanedbat,

Qh(f) ≈ I(f) +m∑

i=1

cih2i, I(f) =

∫ b

a

f(x) dx. (9.43)

PoložmePm(y) = I(f) + c1y + . . .+ cmy

m. (9.44)

Je zřejmě Pm ∈ Πm, Pm(0) = I(f). Naším úkolem je najít přibližnou hodnotuPm(0). Budeme postupovat takto:Z (9.43) a (9.44) plyne přibližný vztah

Pm(h2) ≈ Qh(f). (9.45)

Uvažujme nyní posloupnost ∆k dělení intervalu [a, b]; ∆k: xi = x0 + ihk,i = 0, 1, . . . , k, x0 = a, xk = b, hk = (b − a)/2k, k = 0, 1, . . . ,m. Nechť Qhk

(f) jehodnota lichoběžníkového pravidla odpovídající kroku hk. Podle (9.45) je

Pm(h2k) ≈ Qhk(f), k = 0, 1, . . . ,m. (9.46)

Pro funkci Pm(y) známe (přibližné) hodnoty v (m+1) různých bodech yk = h2k =((b − a)/2k)2. Sestrojíme pro tyto hodnoty (yk, Pm(yk)), k = 0, . . . ,m, příslušnýLagrangeův interpolační polynom:

Pm(y) =m∑

k=0

lk(y)Pm(yk) ≈m∑

k=0

lk(y)Qhk(f),

kde lk, k = 0, . . . ,m, jsou fundamentální polynomy (rovnost plyne z jednoznačnostiinterpolačního polynomu). Spočítejme hodnotu Pm(0):

Pm(0) ≈m∑

k=0

lk(0)Qhk(f) =

m∑

k=0

dkQhk(f),

kde jsme položili lk(0) = dk, k = 0, 1, . . . ,m. Pro výpočet daného integrálu jsmenalezli formuli

∫ b

a

f(x) dx ≈m∑

k=0

dkQhk(f),

kterou nazýváme Rombergovou kvadraturní formulí.Rombergova formule patří mezi tzv. extrapolační metody, neboť hodnotu

Pm(0) jsme získali extrapolací (bod 0 leží vně intervalu [h2m, h20]).

Poznámka 9. Výpočet integrálu Rombergovou formulí lze velmi efektivně provéstužitím Nevillova schematu pro iterovanou interpolaci.

Page 274: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

268 9. NUMERICKÉ INTEGROVÁNí

Položme nejdříve Qhk(f) = Tk0, k = 0, . . . ,m. Výpočet lze uspořádat do ná-

sledující tabulky (stejně jako u Nevillova schematu):

h20 T00

h21 T10 T11

h22 T20 T21 T22

h23 T30 T31 T32 T33...

......

......

kde (viz Nevillovo schema, kap. 6)

Tij(y) =(y − yi−j)Ti,j−1(y)− (y − yi)Ti−1,j−1(y)

yi − yi−j,

j = 1, 2, 3, . . .i = j, j + 1, . . .

a pro y = 0 a yi = ((b− a)/2i)2 dostaneme rekurentní vztah

Tij =4jTi,j−1 − Ti−1,j−1

4j − 1 ,j = 1, 2, . . . ,mi = j, j + 1, . . . ,m

(9.47)

Tmm = Pm(0) ≈ I(f).

Každý člen tabulky Tij představuje ve skutečnosti lineární kvadraturní formuli prokrok délky hj = (b − a)/2j:

Tij = α0f(a) + α1f(a+ hj) + . . .+ αj−1f(b− hj) + αjf(b).

Některé z těchto formulí, ale ne všechny, jsou pro i = k formule Newtonovatypu, např. T11 je Simpsonovo pravidlo:

T11 = 43T10 − 1

3T00 =b− a

6

(

f(a) + 4f(a+ b2

)

+ f(b))

.

Poznámka 10. Lze ukázat ([4]), že pro chybu Rombergovy integrace platí

Tij −∫ b

a

f(x) dx = (b − a)((b− a)2

22i−j

)j+1(−1)jB2j+2(2j + 2)!

f (2j+2)(ξ), a < ξ < b,

pro funkci f ∈ C2j+2([a, b]), B2j+2 jsou Bernoulliova čísla.

Příklad 9.17. Užijte Rombergovy kvadraturní formule pro výpočet∫ π

0sinx dx.

Řešení. Položme h0 = π, h1 = π2 , h2 =

π4 , h3 =

π8 . Příslušná tabulka hodnot Tij :

h2i Ti0 Ti1 Ti2 Ti3

h20 0

h21 1,57079630 2,09439511

h22 1,86911890 2,00455976 1,99857073

h23 1,97423160 2,00026917 1,99998313 2, 000005

Page 275: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.9. Metoda polovičního kroku, použití kvadraturních formulí 269

Lze ukázat, že posloupnost na diagonále v takové tabulce bude konvergovatk hodnotě integrálu rychleji než posloupnost Ti0.Rombergova metoda má ještě jednu důležitou vlastnost: umožňuje snadno při-

dat další řádek — znamená to pouze vypočítat další lichoběžníkové pravidlo a užítvzorce (9.47). Výpočet lze totiž uspořádat tak, aby proběhl po řádcích, tj. v po-řadí T00, T10, T11, T20, T21, T22, . . . Jako testu pro zastavení výpočtu lze napří-klad použít vztahu |Tmm − Tm−1,m−1| < ε, ε > 0 je předepsaná tolerance, nebo|Tmm − Tm,m−1| < ε.Rombergova metoda patří k velmi často používaným metodám. Je výhodná

především v těch výpočtech, kde je požadována malá chyba aproximace. I kdyžje tato metoda velmi efektní, není ji možné používat univerzálně. Je to vhodnámetoda pro hladké funkce a je vždy třeba předpokládat existenci dostatečnéhopočtu derivací funkce f na celém intervalu [a, b]. V opačném případě nepřinášíRombergova metoda žádné zrychlení konvergence oproti např. složenému lichoběž-níkovému pravidlu.Zmíníme se ještě stručně o kvadraturních formulích s rychle oscilujícími vaho-

vými funkcemi, které se například vyskytují při výpočtu Fourierových koeficientů.Aplikace známých kvadraturních formulí na integrály tohoto typu nedává dobrévýsledky. Příčina selhání těchto metod je v rychlé oscilaci integrandu, o jehož prů-běhu nemají použité metody dostatek informace. Výpočtem takových integrálů sezabýval J. Mikloško ([15]).

§ 9.9. Metoda polovičního kroku, použití kvadraturních formulí

Budeme se nyní zabývat otázkou volby kvadraturní formule. Uvedeme pouze fak-tory, které mohou mít vliv na tuto volbu, ale obecná jenoznačná pravidla stanovitnelze.V případě, že funkce je dána tabulkou, tj. jsou známy její hodnoty na ekvi-

distantní množině uzlů, je vhodné použít Newtonových-Cotesových formulí.Jestliže můžeme odhadnout derivaci dané funkce, je možné stanovit z odhaduchyby kvadraturní formule počet uzlů potřebných k dosažení požadované přes-nosti. Tyto hodnoty se však v praxi obtížně odhadují a navíc Newtonovy-Cotesovyformule vysokých řádů nekonvergují k přesné hodnotě integrálu (viz [16], [19] a pří-klad 9.18). Proto se zpravidla postupuje tak, že užijeme složené kvadraturní for-mule s nižším počtem uzlů a postupně zvyšujeme počet intervalů tak dlouho, ažse počet desetinných míst odpovídajících žádané přesnosti stabilizuje ve dvou posobě jdoucích aproximacích.Runge navrhl poněkud preciznější způsob odhadu dosažené přesnosti (tzv. me-

todu polovičního kroku). Popíšeme nyní tuto metodu. Z úvah v § 9.6 je vidět, ževýpočet pomocí složeného lichoběžníkového resp. Simpsonova pravidla může býtzapsán ve tvaru

I(f) = QM (f) +Kh2

resp.I(f) = QM (f) + Kh4,

Page 276: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

270 9. NUMERICKÉ INTEGROVÁNí

kde K resp. K je součin konstanty a druhé resp. čtvrté derivace f v jistých bodechintervalu [a, b]. Dá se ukázat i obecně ([1]), že výpočet pomocí složené kvadraturníformule může být zapsán ve tvaru

I(f) ≈ QM (f) +KhN , h =b− a

M,

výraz hNK se nazývá hlavní člen chyby a N − 1 je stupeň přesnosti kvadraturníformule, K závisí na N -té derivaci funkce f . Výpočet veličiny K je zpravidla dostiobtížný. A proto se v praxi postupuje jiným způsobem. Zdvojnásobíme-li početsubintervalů, dostaneme aproximaci

I(f) ≈ Q2M +K1

(h

2

)N

.

Pokud se derivace funkce f v intervalu [a, b] příliš nemění, lze položit K ≈ K1.Platí tedy

I(f) ≈ QM (f) +KhN ,

I(f) ≈ Q2M (f) +K(h

2

)N

.

Z těchto dvou vztahů vypočteme konstantu K:

K ≈ 2N Q2M (f)−QM (f)(2h)N − hN

Nyní pro další aproximaci integrálu obdržíme

I(f) ≈ Q2M (f) +Q2M (f)−QM (f)

2N − 1 .

Veličinu

z =Q2M (f)−QM (f)

2N − 1lze užít pro odhad chyby. Při výpočtu postupujeme takto: Počítáme složené kva-draturní formule QMk , Mk = 2kM0, M0 > 0, k = 0, 1, 2, . . . a na každém krokupočítáme veličinu

zk =QMk+1(f)−QMk(f)

2N − 1 .

Jestliže pro nějaké k = l je |zl| < ε, ε je požadovaná přesnost, pak za novouaproximaci integrálu lze vzít hodnotu

I(f) ≈ QMl+1(f) + zl,

přičemž chyba této aproximace |zl| < ε. V podstatě se jedná o aplikaci Richard-sonovy extrapolace. Pro N = 2 je to právě případ uvedený v kapitole 7.

Page 277: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.10. Integrály se singularitami 271

Je-li funkce dána analyticky, je třeba vzít v úvahu jak Newtonovy-Cotesovyvzorce, tak i Gaussovu kvadraturní formuli. Gaussovy formule dosahují vyšší přes-nosti při užití menšího počtu uzlů než Newtonovy-Cotesovy formule a potřebujítedy počítat méně funkčních hodnot funkce f . Mají rovněž příznivější chybovývýraz. Požadované přesnosti lze dosáhnout volbou Gaussova vzorce dostatečně vy-sokého řádu, neboť posloupnost Gaussových formulí konverguje k přesné hodnotěintegrálu. Toto jsou výhody Gaussovy formule v případě, že používáme jednu for-muli. Při použití složených formulí je však aplikace Gaussových formulí náročnějšíoproti Newtonovým-Cotesovým formulím. Totiž, při dělení daného intervalu naMk = 2kM0,M0 = přirozené číslo, k = 0, 1, 2, . . ., intervalů lze již jednou vypočte-ných funkčních hodnot užít ve všech dalších aplikacích Newtonových-Cotesovýchformulí, ale není tomu tak u Gaussových formulí. A proto použití složených Gaus-sových formulí je náročnější. Pokud jde o složená pravidla, lze doporučit pro hladkéfunkce s výhodou složené lichoběžníkové pravidlo a Rombergovu integraci. V pří-padě, že integrand v určité oblasti daného intervalu značně osciluje, ale v jinéoblasti má hladký průběh, je vhodné použít adaptivních formulí.Na závěr tohoto odstavce si ukážeme, že Newtonovy-Cotesovy formule obecně

nekonvergují (viz [19]).

Příklad 9.18. Počítejme přibližnou hodnotu integrálu

4∫

−4

dx1 + x2

= 2 arctan4.= 2, 6516353 .

Následující tabulka přibližnou hodnotu integrálu určenou pomocí Newtonovy-Cotesovy formule pro daný počet uzlů a pro porovnání je uveden výsledek získanýsloženým lichoběžníkovým pravidlem.

n Newtonova-Cotesova formule složené lich. pravidlo3 5,490 4,2355 2,278 2,9187 3,329 2,7019 1,941 2,65911 3,596 2,651113 1,335 2,6505

ProM7 = 27, tj. 129 funkčních hodnot by pomocí složeného lichoběžníkova pravi-dla vyšel integrál přibližně 2, 651617, zatímco Newtonova-Cotesova formule dáváhodnotu 2.977249 a pro n = 131 hodnotu 1, 556509.

§ 9.10. Integrály se singularitami

V předchozích odstavcích jsme se zabývali výpočtem integrálu∫ b

a

f(x) dx

Page 278: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

272 9. NUMERICKÉ INTEGROVÁNí

a předpokládali jsme, že funkce f má dostatečný počet derivací v intervalu [a, b].Ale v praxi se často setkáváme s případy, že integrál nebo jeho derivace majísingularity v [a, b]. V tomto odstavci navrhneme několik způsobů, jak postupovatv takových případech.Omezíme se na singularity v krajních bodech intervalu, neboť rozdělením in-

tervalu na subintervaly lze „zvládnoutÿ i singularity uvnitř intervalu.Při výpočtu takových integrálů se ukazuje velmi výhodný postup s vahovými

funkcemi. Daný integrand f lze totiž zapsat ve tvaru

f(x) = w(x)g(x),

kde w je vahová funkce zahrnující singularitu, g je dostatečně hladká funkce. Prostandardní vahové funkce lze užít příslušných Gaussových kvadraturních formulí.Jako příklad uvedeme formuli pro výpočet integrálu

∫ 1

0

g(x)√xdx;

zde máme singularitu v levém krajním bodě a vahová funkce je w(x) = 1/√x.

Určíme ortogonální polynomy s vahou 1/√x na intervalu [0, 1]. Víme, že pro Le-

gendrovy polynomy platí:

∫ 1

0

Pm(x)Pn(x) dx = 0 pro m 6= n.

Dále, Legendrův polynom sudého stupně obsahuje pouze sudé mocniny x a je tedysudou funkcí. Předchozí vztah pak můžeme zapsat ve tvaru

0 =∫ 1

−1P2m(x)P2n(x) dx = 2

∫ 1

0

P2m(x)P2n(x) dx, m 6= n.

Užijeme-li nyní substituce x2 = y, dostaneme

∫ 1

0

1√yP2n(

√y)P2m(

√y) dy = 0.

Odtud, polynomy pn(x) = P2n(√x), n = 0, 1, 2, . . ., jsou ortogonální s vahou 1/

√x

na intervalu [0, 1]. Nyní již můžeme sestrojit kvadraturní formuli

∫ 1

0

g(x)√xdx ≈

n∑

j=0

Hjg(aj),

kdeaj = x2j , j = 0, . . . , n,

xj je kladný kořen polynomu P2(n+1) (polynom P2(n+1) má kořeny ±x0,. . . ,±xn,xi 6= 0, ∀i = 0, . . . , n). Vypočteme nyní koeficienty Hj , j = 0, . . . , n:

Page 279: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

§ 9.10. Integrály se singularitami 273

Nechť Aj je koeficient Gaussovy-Legendrovy formule odpovídající kladnémukořenu xj , j = 0, 1, . . . , n. Je

Aj =

1∫

−1

(x2 − x20) . . . (x+ xj)(x2 − x2j+1) . . . (x2 − x2m)

(x2j − x20) . . . (2xj)(x2j − x2j+1) . . . (x2j − x2m)

dx =

=

1∫

−1

x

2xj

(x2 − x20) . . . (x2 − x2j−1)(x

2 − x2j+1) . . . (x2 − x2m)

(x2j − x20) . . . (x2j − x2j−1)(x

2j − x2j+1) . . . (x

2j − x2m)

dx+

+

1∫

−1

xj

2xj

(x2 − x20) . . . (x2 − x2j−1)(x

2 − x2j+1) . . . (x2 − x2m)

(x2j − x20) . . . (x2j − x2j−1)(x

2j − x2j+1) . . . (x

2j − x2m)

dx .

První integrál je roven nule, neboť integrand je lichá funkce. Pro druhý integrálužijeme substituci x2 = y:

Aj =12

1∫

−1

2(y − x20) . . . (y − x2j−1)(y − x2j+1) . . . (y − x2m)

(x2j − x20) . . . (x2j − x2j−1)(x

2j − x2j+1) . . . (x

2j − x2m)

dy2√y=

=12

1∫

−1

(y − x20) . . . (y − x2j−1)(y − x2j+1) . . . (y − x2m)

(x2j − x20) . . . (x2j − x2j−1)(x

2j − x2j+1) . . . (x

2j − x2m)

dy√y=

=12Hj .

Pro koeficienty Hj tedy platí

Hj = 2Aj , j = 0, . . . , n ,

kde Aj je koeficient odpovídající kladnému kořenu xj v Gaussově-Legendrově kva-draturní formuli.Obdobně postupujeme v případě vahové funkce w(x) =

√x, x ∈ [0, 1], při

výpočtu integrálu∫ 1

0

√xg(x) dx.

Integrand má tentokrát singularitu v derivaci. Polynomy ortogonální na intervalu[0, 1] s vahou

√x jsou tvaru

pn(x) =1√xP2n+1(

√x),

kde P2n+1 je opět Legendrův polynom stupně 2n+ 1 (podrobněji viz [19]).Je-li třeba vypočítat integrál

∫ 1

0

(x

1− x

) 12

g(x) dx,

Page 280: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

274 9. NUMERICKÉ INTEGROVÁNí

zvolíme za vahovou funkci w(x) = (x/(1 − x))1/2. Polynomy ortogonální s vahou(x/(1− x))1/2 na intervalu [0, 1] jsou určeny vztahem

pn(x) =1√xT2n+1(

√x),

kde T2n+1 je Čebyševův polynom stupně 2n+ 1.Pro výpočet nevlastních integrálů

∫ ∞

0

f(x) dx,∫ ∞

−∞f(x) dx

můžeme užít přímo Laguerrovy nebo Hermitovy kvadraturní formule.Nevlastní integrál

∫ ∞

a

f(x) dx, a > 0,

jestliže existuje, můžeme rovněž aproximovat užitím vhodné kvadraturní formulea to tak, že jej substitucí t = x−1 nejdřívě převedeme na integrál

∫ 1

0

1t2f

(1t

)

dt.

Některé další způsoby výpočtu singulárních integrálů lze najít např. v [8], [19].

Cvičení ke kapitole 9

1. Určete koeficienty A0, A1, A2 tak, aby přesnost kvadraturní formule∫ 1

−1f(x) dx = A0f

(− 12)+A1f(0) +A2f

(12

)+R(f)

byla alespoň 2.(A0 = 4

3 , A1 = − 23 , A2 = 43 .)

2. Určete koeficienty A0, A1 a uzel x0 pro formuli∫ 1

0

√xf(x) dx = A0f(x0) +A1f(1) +R(f).

(A0 = 715 , A1 =

15 , x0 =

37 .)

3. Určete algebraicky neznámé uzly x0, x1 a koeficienty A0, A1 pro formuli∫ π

0

sinxf(x) dx = A0f(x0) +A1f(x1) +R(f)

tak, aby bylo dosaženo maximálního stupně přesnosti.

(A0 = A1 = 1, x0,1 =π

2±√

π2

4− 2. )

Page 281: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 9 275

4. Odvoďte Newtonovu-Cotesovu formuli otevřeného typu pro interval [−2, 3]s krokem h = 1.

(∫ 3

−2f(x) dx = 5

24 (11f(−1) + f(0) + f(1) + 11f(2)) + 95144f

(4)(η),

−2 < η < 3.)

5. Odvoďte Newtonovu-Cotesovu formuli uzavřeného typu pro interval [a, b] an = 3 (tzv. pravidlo 3/8).

(∫ b

a

f(x) dx =b− a

8

(

f(a) + 3f(

a+b− a

3

)

+ 3f(

a+b− a

3

)

+ f(b))

− 380

(b− a

3

)5

f (4)(η), a < η < b.)

6. Odvoďte Simpsonovo pravidlo.

7. Nechť f ∈ C(6)([−1, 1]) a nechť P5 ∈ Π5 je Hermitův interpolační polynoms vlastnostmi P (xi) = f(xi), P ′(xi) = f ′(xi), xi = −1, 0, 1.

a) Ukažte, že∫ 1

−1P (x) dx = 7

15f(−1) + 1615f(0) + 715f(+1) +

115f

′(−1)− 115f

′(+1).

b) Formule v části a) představuje kvadraturní formuli přesnou pro poly-nomy stupně nejvýše 5. Ukažte, že formule není přesná pro polynomystupně 6.

8. Odvoďte formuli Čebyševova typu ve tvaru∫ 1

−1f(x) dx = A(f(x0) + f(x1) + f(x2)) +R(f).

(A = 23 , x0 = −

√22 , x1 = 0, x2 =

√22 , R =

f (4)(η)360

, −1 < η < 1.)

9. Aproximujte integrál∫ π

4

0

sinx dx = 1−√22

a) obdélníkovým, b) lichoběžníkovým, c) Simpsonovým pravidlem.( a) 0,30055887, b) 0,27768018, c) 0,29293264. )

10. Následující integrály vypočtěte a) lichoběžníkovým, b) Simpsonovým pravi-dlem. Výsledky porovnejte s přesnými hodnotami

1.∫ 2

1

lnx dx, 2.∫ 0,1

0

x13 dx, 3.

∫ π3

0

(sinx)2 dx.

( a) 1. 0,34657, 2. 0,023208, 3. 0,39270,b) 1. 0,38583, 2. 0,032296, 3. 0,30543. )

Page 282: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

276 9. NUMERICKÉ INTEGROVÁNí

11. Užijte Newtonovy-Cotesovy formule uzavřeného typu pro n = 3 (viz cv. 5)pro výpočet

∫ 3

1

e−x2 dx.

(0,766801.)

12. Užijte a) složeného lichoběžníkového, b) složeného Simpsonova pravidla provýpočet integrálů:

1.∫ 3

0

x√

1 + x2 dx, M = 6,

2.∫ 1

0

sinπx dx, M = 6,

3.∫ 2π

0

x sinx dx, M = 8,

4.∫ 1

0

x2ex dx, M = 8.

Porovnejte získané aproximace s přesnými hodnotami.( a) 1. 10,3122, 2. 0,62201, 3. −5,9568, 4. 0,72889,b) 1. 10,20751, 2. 0,6366357, 3. −6,284027, 4. 0,7182830. )

13. Užijte Rombergovy integrace pro výpočet hodnoty T4,4 pro následující inte-grály a výsledky porovnejte s přesnými hodnotami.

a)∫ π

4

0

sinx dx b)∫ 3π

4

π2

cosx dx

14. Užijte Rombergovy metody integrace pro výpočet

∫ 2

0

x2e−x2 dx.

Číslo m určete během výpočtu tak, aby |Tm,m−1 − Tm,m| < 10−6.(0,4227250.)

15. Dokažte vztah (9.33).

16. Užitím Gaussovy-Legendrovy kvadraturní formule pro n = 2, 3, 4 aproxi-mujte integrál

∫ 3

1

ex sinx dx.

(11,141495; 10,948403; 10,950140.)

17. Opakujte cvičení 10 užitím Gaussových-Legendrových formulí pro n = 1.

Page 283: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kontrolní otázky ke kapitole 9 277

18. Užitím Gaussovy-Laguerrovy formule pro n = 2, 3 aproximujte integrál∫ ∞

0

e−x sinx dx.

(n = 2 . . . 0,432460, n = 3 . . . 0,496023, přesná hodnota je 0,5.)

19. Odvoďte složené obdélníkové pravidlo a navrhněte příslušný algoritmus.

20. Navrhněte algoritmus pro výpočet

∫ b

a

f(x) dx

se zadanou přesností ε, který vychází z poměrně hrubého dělení intervalu[a, b] a užívá metody polovičního kroku.

21. Pomocí Gaussovy-Čebyševovy formule pro n = 1, 2 aproximujte integrál

∫ 1

−1

cosx√1− x2

dx.

(2,3884; 2,4041; přesná hodnota 2,40394.)

Kontrolní otázky ke kapitole 9

1. Dávají všechny Gaussovy-Legendreovy formule pro integrál

π2∫

0

sin2 xdx

stejnou hodnotu π/4 jako Newtonovy-Cotesovy formule?

2. Budou dávat Newtonovy-Cotesovy formule také přesnou hodnotu integrálu(9.18)?

3. Jaká je hodnota integrálu (9.18), je-li w lichá funkce?

4. Jaký tvar má složené obdélníkové pravidlo?

5. Souvisí Rombergova integrace s Richardsonovou extrapolací?

Page 284: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

278 9. NUMERICKÉ INTEGROVÁNí

Page 285: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Kapitola 10

Metoda nejmenších čtverců

Při interpolační aproximaci jsme požadovali, aby interpolační polynom nabývalv daných bodech týchž hodnot jako aproximovaná funkce. Ale v případě, že hod-noty funkce jsou dány empiricky a jsou zatíženy „šumemÿ, není tento přístupnejvhodnější. V této kapitole se budeme zabývat postupem, jímž se z funkčníchhodnot zatížených nepřesnostmi sestrojuje taková aproximace, která „vyrovnáváÿempirické hodnoty v tom smyslu, že informace o přesném průběhu funkce obsaženáv naměřených hodnotách se zachová, ale „šumÿ se tímto „vyrovnánímÿ odstraní.

Formulujme nyní tuto úlohu přesněji:Nechť jsou dány body xj , j = 0, . . . , N , xj 6= xk, pro j 6= k, reálná funkce f , dálereálné funkce φi, i = 0, . . . ,m, a hodnoty těchto funkcí v bodech xj , j = 0, . . . , N .Je třeba najít koeficienty c0, . . . , cm lineární kombinace1

Pm(x) = c0φ0(x) + . . .+ cmφm(x) (10.1)

tak, aby funkce

ρ2(c0, . . . , cm) =N∑

j=0

(fj − Pm(xj))2, fj = f(xj) (10.2)

nabývala minimální hodnoty, tj. minimalizujeme součet čtverců. Odtud plyne takénázev metoda nejmenších čtverců. Funkci Pm, pro kterou ρ2 nabývá minimálníhodnoty, nazýváme nejlepší aproximaci funkce f na množině xjN

j=0.

Poznámka 1. Budeme se zabývat případem m < N , neboť pro m ≥ N je možnéřešit úlohu interpolací.Geometrický význam metody je demonstrován na obrázku 10.1. Nejlepší aproxi-mace je taková, pro kterou součet obsahů jednotlivých čtverců o stranách |fj −Pm(xj)|, j = 0, . . . , N , je minimální.1Omezíme se zde pouze na lineární případ, otázky nelineární aproximace jsou studovány

např. v [5].

Page 286: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

280 10. METODA NEJMENŠíCH ČTVERCŮ

0 1 2 3 4 5 60

1

2

3

4

5

6

Obr. 10.1: Demonstrace metody nejmenších čtverců:

− − −− původní funkce∗ ∗ ∗ ∗ ∗ hodnoty s „šumemÿ− · − · − interpolační polynom

odhad metodou nejmenších čtverců obsah (fj −Pm(xj))2, j = 0, . . . , N

Úmluva. Nechť

(f, g) =N∑

j=0

f(xj)f(xj) (10.3)

označuje skalární součin funkcí f a g na množině xjNj=0.

Funkce ρ2(c0, . . . , cm) je funkce m+1 proměnných. Při hledání minima postu-pujeme jako v analýze: derivujme (10.2) podle každé z neznámých ck, k = 0, . . . ,m,a derivace položme rovny nule, tj.

∂ρ2

∂ck= −2

N∑

j=0

(

fj −m∑

i=0

ciφi(xj)

)

φk(xj) = 0, k = 0, . . . ,m.

Page 287: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

281

Užitím (10.3) lze tyto rovnice zapsat ve tvaru

c0(φ0, φ0) + c1(φ0, φ1) + . . . + cm(φ0, φm) = (f, φ0)c0(φ1, φ0) + c1(φ1, φ1) + . . . + cm(φ1, φm) = (f, φ1)

...c0(φm, φ0) + c1(φm, φ1) + . . . + cm(φm, φm) = (f, φm)

(10.4)

Vektorový zápis soustavy lze odvodit následujícím způsobem. Položme

f =

f0...fN

, P =

P0...PN

, Pi = P (xi), i = 0. . . . , N

A =

φ0(x0) . . . φm(x0)...

...φ0(xN ) . . . φm(xN )

, c =

c0...cN

.

Pak P = Ac a

ρ2(c) = (f − P )T (f − P ) = (f −Ac)T (f −Ac) .

Systém (10.4) je potom možné přepsat ve tvaru

Gc = d ,

kde

G = ATA =

(φ0, φ0) . . . (φ0, φm)...

...(φm, φ0) . . . (φm, φm)

, d = AT f =

(f, φ0)...

(f, φm)

,

takže soustavu (10.4) lze také psát ve tvaru

ATA c = ATf . (10.5)

Nyní se budeme zabývat otázkami řešitelnosti soustavy (10.4).

Definice 10.1. Soustava lineárních rovnic (10.4) se nazývá normální. soustava.Její determinant se nazývá Gramův determinant příslušný funkcím φ0, . . . , φm.

Definice 10.2. Řekneme, že funkce φ0, . . . , φm jsou lineárně nezávislé na množiněbodů x0, . . . , xN , jestliže jsou lineárně nezávislé vektory (φ0(x0), . . . , φ0(xN ))T ,. . . , (φm(x0), . . . , φm(xN ))T .

Z definice plyne, že funkce φ0, . . . , φm jsou lineárně závislé na množině bodůx0, . . . , xN , jestliže existují čísla a0, . . . , am, |a0|+ . . .+ |am| 6= 0, tak, že platí

a0φ0(xj) + . . .+ amφm(xj) = 0, j = 0, . . . , N.

Page 288: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

282 10. METODA NEJMENŠíCH ČTVERCŮ

Platí následující tvrzení

Věta 10.1. Gramův determinant je různý od nuly právě tehdy, když funkce φ0,. . . , φm jsou lineárně nezávislé na množině bodů x0, . . . , xN .

Důkaz. Matice G = ATA je regulární právě tehdy, když má hodnost m + 1.Hodnost matice G je ovšem rovna hodnosti matice A, jejíž sloupce tvoří vek-tory (φ0(x0), . . . , φ0(xN ))T , . . . , (φm(x0), . . . , φm(xN ))T . Ty jsou lineárně nezá-vislé v případě, že funkce φ0, . . . , φm jsou lineárně nezávislé na množině bodůx0, . . . , xN . 2

Poznámka 2. Ze vztahu G = ATA navíc bezprostředně plyne, že G je pozitivněsemidefinitní, respektive pozitivně definitní (v případě regularity).

Věta 10.2. Nechť funkce φ0, . . . , φm jsou lineárně nezávislé na množině bodůx0, . . . , xN . Pak normální soustava (10.4) má jediné řešení c∗0, . . . , c

∗m a funkce

Pm(x) = c∗0φ0(x) + . . .+ c∗mφm(x)

je nejlepší aproximací funkce f na množině xjNj=0.

Důkaz. Funkce φ0, . . . , φm jsou lineárně nezávislé na množině bodů x0, . . . , xN .Odtud plyne, že determinant soustavy, je různý od nuly a soustava má jedinéřešení c∗0, . . . , c

∗m. Ukážeme, že pro toto řešení nabývá funkce ρ

2 minimální hodnoty.Položme c∗ = (c∗0, . . . , c

∗m) a počítejme veličinu ρ

2(c∗ +∆c), kde ∆c 6= o.

ρ2(c∗ +∆c) = (f −A c∗ −A∆c)T (f −A c∗ −A∆c) =

= (f −A c∗)T (f −A c∗)−∆cTAT (f −A c∗)−− (f −A c∗)TA∆c+∆cTATA∆c =

= ρ2(c∗)−∆cT (ATf −ATA c∗)− (ATf −ATA c∗)T∆c+

+ ∆cTATA∆c

Člen (ATf−ATA c∗) roven nulovému vektoru, protože c∗ je řešení soustavy (10.5).Navíc je výraz ∆cTATA∆c kladný, neboť matice ATA je pozitivně definitní a ∆c

je nenulový vektor. Celkem tedy ρ2(c∗ +∆c) > ρ2(c∗). 2

Důsledek. Pro funkce φi(x) = xi, i = 0, . . . ,m, m < N má normální soustavajediné řešení.

Příklad 10.1. Užijte metody nejmenších čtverců k nalezení nejlepší lineární apro-

ximace pro hodnotyxi -1 1 3 5 7fi 1 3 4 5 6

Řešení. Nejlepší aproximaci budeme hledat ve tvaru

P1(x) = c0 + c1x .

Page 289: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

283

Veličina ρ2 je v tomto případě tvaru

ρ2(c0, c1) = (1− c0 + c1)2 + (3− c0 − c1)2 + (4− c0 − 3c1)2 ++ (5− c0 − 5c1)2 + (6 − c0 − 7c1)2

a normální soustava5c0 + 15c1 = 1915c0 + 85c1 = 81 ,

jejíž řešení je c∗0 = 2, c∗1 =

35 . Hledaná nejlepší lineární aproximace je P1(x) = 2+

35x

– viz obr. 10.2

−2 −1 0 1 2 3 4 5 6 7 80

1

2

3

4

5

6

7

Obr. 10.2: Výsledky příkladu 1.

Poznámka 3. Pro lineárně nezávislé funkce φi, i = 0, . . . ,m je matice normálnísoustavy symetrická a pozitivně definitní. Tyto soustavy lze řešit Gaussovou eli-minační metodou nebo Choleského metodou (viz kapitola 4).

Zmíníme se podrobněji o volbě φi(x) = xi, i = 0, . . . ,m. V tomto případěpři větším stupni aproximujícího polynomu (m > 5) je soustava (10.4) špatněpodmíněná, tzn. že řešení je značně citlivé na vliv chyb ve vstupních datech ana zaokrouhlovacích chybách během výpočtu. Dá se totiž ukázat (viz [19]), žedeterminant soustavy je přibližně (N + 1) násobkem matice

H =

1 12 · · · 1

m+112

13 · · · 1

m+2...

......

1m+1

1m+2 · · · 1

2m+1

,

která je klasickým příkladem špatně podmíněné matice (inverzní matice má velmivelké prvky – pro m = 9 prvky řádu 1012). Důsledkem špatné podmíněnosti je

Page 290: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

284 10. METODA NEJMENŠíCH ČTVERCŮ

skutečnost, že při řešení soustavy způsobí každá zaokrouhlovací chyba, které sedopustíme, mnohonásobně větší chybu v řešení. Již prom = 9 se mohou vyskytovatpři řešení značné obtíže.Dalším problémem je volba hodnoty m, tj. stupně polynomu (viz podrobněji

[19], [18]).Zvolíme-li však za funkce φi, i = 0, . . . ,m. diskrétně ortogonální polynomy,

tj. platí-li pro funkce φi

(φi, φk) = 0 pro i 6= k,tyto problémy odpadají. Matice normální soustavy je v tomto případě diagonálnía soustava je tvaru

c0(φ0, φ0) = (f, φ0)c1(φ1, φ1) = (f, φ1)

. . ....

cm(φm, φm) = (f, φm)

Odtud lze snadno vypočítat koeficienty nejlepší aproximace a

Pm(x) =m∑

i=0

(f, φi)(φi, φi)

φi(x). (10.6)

Pro metodu nejmenších čtverců lze s výhodou užít diskrétních Čebyševových neboGramových polynomů.

a) Čebyševovy polynomy (diskrétní případ). Uvažujme skalární součin

(f, g) =N∑

j=0

f(xj)g(xj),

kde za body xj , j = 0, . . . , N zvolíme kořeny Čebyševova polynomu TN+1 (vizkapitola 6). Dá se ukázat (viz [18]), že

(Tj , Tk) = 0, pro j 6= k, 0 ≤ j, k ≤ N(T0, T0) = N + 1, (Tj, Tj) = N+1

2 , pro j > 0.(10.7)

Soustava (T0, . . . , TN ) je při daných tabulkových bodech xj , j = 0, . . . , N , dis-krétně ortogonální.

b) Při aproximaci metodou nejmenších čtverců pro ekvidistantní tabulkové bodyje výhodné užívat, kde je to možné, lichého počtu bodů a prostřední bod brátrovný nule (N = 2L). Polynomy, které jsou ortogonální na takové množině bodůse nazývají Gramovy polynomy (viz [19]).Podrobněji: ProN = 2L definujeme novou proměnnou s předpisem x = xL+hs,

tj. i = L + s, takže body xi, i = 0, . . . , N , xi = x0 + ih jsou transformovány naceločíselnou množinu −L, . . . ,−1, 0, 1, . . . , L.

Page 291: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

285

Gramovy polynomy Gj , j = 0, . . . ,m, které jsou ortogonální na ekvidistantnímnožině bodů −L, . . . ,−1, 0, 1, . . . , L, s krokem h = 1, jsou definovány reku-rentními vztahy

G0(s) ≡ 1, G1(s) = s,

Gj+1(s) = Gj(s)− j2((N+1)2−j2)4(4j2−1) Gj−1(s), j ≥ 1

(10.8)

Poznámka 4. Z praktických i teoretických důvodů se nedoporučuje používat Gra-movy polynomy pro m > 2

√N .

Příklad 10.2. Pro dané hodnoty nalezněte nejlepší aproximaci pomocí G0, G1,G2.

xi 0,00 0,25 0,5 0,75 1,00fi 1,0000 1,2840 1,6487 2,1170 2,7183

Řešení. Substituce x = 0, 5 + 0, 25s, kde s je nová proměnná, převede počáteksouřadnic do bodu x = 0, 5. Tabulkové body nyní jsou −2,−1, 0, 1, 2 a Gramovýpolynomy

G0 ≡ 1, G1(s) = s. G2(s) = s2 .

Je třeba pouze vypočítat skalární součiny (Gi, Gi), (f,Gi), i = 0, 1, 2. Je

(Gi, Gi) =2∑

s=−2G2i (s) ⇒ (G0, G0) = 5, (G1, G1) = 10, (G2, G2) = 14 ,

dále (f,G0) = 8, 7680, (f,G1) = 4, 2696, (f,G2) = 0, 7382. Normální soustava jetvaru

5c0 = 8, 768010c1 = 4, 269614c2 = 0, 7382

a její řešení je c∗0 = 1, 7536, c∗1 = 0, 42696, c

∗2 = 0, 05273. Nejlepší aproximace

vyjádřená pomocí Gramových polynomů je

P2(s) = 1, 7536 + 0, 42696s+ 0, 05273(s2− 2) .

Zpětnou substitucí s = 4(x− 0, 5) dostaneme vyjádření pomocí proměnné x

P2(x) = 1, 0051 + 0, 8642x+ 0, 8437x2 .

Otázkou chyby při aproximaci metodou nejmenších čtverců se zde nebudemezabývat. Tato problematika je podrobné rozebrána v [19]. Zmíníme se však stručněo významu této metody.Metodu nejmenších čtverců užíváme obvykle v případech, kdy se jedná o apro-

ximaci funkce, jejíž hodnoty jsou známy pouze empiricky a jsou tedy zatíženychybami. Aproximace získaná metodou nejmenších čtverců musí mít dvě charak-teristické vlastnosti:

Page 292: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

286 10. METODA NEJMENŠíCH ČTVERCŮ

1. Musí být dostatečně vysokého stupně, aby aproximující polynom byl dobrouaproximací funkce.

2. Nesmí být příliš vysokého stupně, aby se nepřesnosti v naměřených hodno-tách nezachovaly v této aproximaci.

Má-li aproximace získaná metodou nejmenších čtverců tyto dvě vlastnosti, říkáme,že vyrovnává naměřené hodnoty v tom smyslu, že informace o přesném průběhufunkce se zachová, ale „šumÿ se vyrovnáním odstraní. Je-li Pm taková nejlepšíaproximace, pak Pm(xj), j = 0, . . . , N jsou „vyrovnanéÿ hodnoty v bodech xj ,j = 0, . . . , N .V následující tabulce jsou uvedeny vyrovnané hodnoty aproximace P2 z při-

kladu 10.2.

i 0 1 2 3 4xi 0 0,25 0,50 0,75 1,00fi 1,0000 1,2840 1,6487 2,1170 2,7183

P2(xi) 1,0052 1,2740 1,6482 2,1279 2,7130fi − P2(xi) -0,0052 0,0100 0,0005 -0,0109 0,0053

Funkce ρ2(c0, c1, c2) nabývá pro vypočtenou nejlepší aproximaci P2 své minimálníhodnoty a to

ρ2(c∗0, c∗1, c

∗2) =

4∑

i=0

(fi − P2(xi))2 = 2, 76 · 10−4.

Cvičení ke kapitole 10

1. Pro hodnoty v příkladě 10.2 nalezněte nejlepší aproximaci tvaru P1(x) =co + c1x.

(Řešení: P1(x) = l, 70784x+ 0, 89968)

2. Dokažte vztahy (10.7).

3. Metodou nejmenších čtverců najděte polynom stupně druhého, který apro-ximuje tyto hodnoty:

xi -3 -2 -1 0 1 2 3fi 4 2 3 0 -1 -2 -5

a) zvolte nejdřív φi(x) = xi, i = 0, 1, 2b) užijte Gramovy polynomy G0, G1, G2.

(Řešení: P2(x) = 164 (56− 117x− 11x2).)

4. (a) Pro hodnoty v příkladě 10.2 užijte tříbodové formule a vypočtěte deri-vace v bodech 0,25; 0,5; 0,75 (viz kapitola 7). V každém případě položtestřed formule do toho bodu, v němž počítáte derivaci.

Page 293: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Cvičení ke kapitole 10 287

(b) Užijte aproximace získané metodou nejmenších čtverců v příkladě 10.2a vypočtěte derivace P2 v uvedených bodech.

(c) Porovnejte výsledky s hodnotami derivace přesné funkce f(x) = ex.

Page 294: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

288 10. METODA NEJMENŠíCH ČTVERCŮ

Page 295: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

Literatura

[1] Bachvalov, N. S.: Čislennyje metody. Nauka, Moskva, 1973.

[2] Berezin, I. S., Židkov, N. P.: Metody vyčislenněj I, II. Nauka, Moskva, 1966.

[3] Brandts, J., Křížek M.: Padesát let metody sdružených gradientů. PMFA, 47(2), 2002, str. 103–113

[4] Burden, R. L., Faires, J. D.: Numerical Analysis. Prindle, Weber and Schmidt,Boston, 1984.

[5] Burlisch, R., Stoer, J.: Introduction to Numerical Analysis. Springer Verlag,New York, Heidelberg, Berlin, 1980.

[6] Datta, B. N.: Numerical Linear Algebra and Applications. ITP, California,1994.

[7] Hamming, R. W.: Numerical Methods for Scientists and Engineers. McGraw-Hill, New York, 1962.

[8] Isaacson, E., Keller, H. B.: Analysis of Numerical Methods. John Wiley, NewYork, London, Sydney, 1966.

[9] Jarník, V.: Diferenciální počet (II). Academia, Praha, 1976.

[10] Kobza, J.: Interpolace – vývoj formulace problému a jeho řešení. PMFA, 44(4), 1999, str. 273–293

[11] Kopal, Z.: Numerical Analysis. Chapman and Hall, London, 1955.

[12] Koukal S., Křížek M., Potůček R.: Fourierovy trigonometrické řady a metodakonečných prvků. Academia, Praha, 2002

[13] Mathews, J. H.: Numerical Methods for Mathematics, Science and Enginee-ring. Prentice-Hall International, Inc., New Jersey, 1992.

[14] Mathews, J. H., Fink, K. D.: Numerical Methods Using MATLAB, Pearson,New Jersey, 2004.

Page 296: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

290 LITERATURA

[15] Mikloško, J.: Syntéza a analýza efektívnych numerických algoritmov. Veda,Bratislava, 1979.

[16] Natanson, J. P.: Konstruktivnaja teorija funkcij. Nauka, Moskva, 1949.

[17] Ortega, J. M., Rheinboldt, W. C.: Iterative Solution of Nonlinear Equationsin Several Variables. Academic Press, New York, London, 1970.

[18] Přikryl, P.: Numerické metody matematické analýzy. SNTL, Praha, 1988.

[19] Ralston, A.: Základy numerické matematiky. Academia, Praha, 1973.

[20] Smítal, J.: O funkciach a funkcionalnych rovniciach. Alfa, Bratislava, 1984.

[21] Smith, H. V.: Numerical Methods of Integration. Chart.-Bratt Ltd., 1993.

[22] Szegö: Orthogonal Polynomials. AMS, Providence, 1991.

[23] Ševčuk, I. A.: Približenije mnogočlenami i sledy nepreryvnych na otrezke funk-cij. Naukova dumka, Kijev, 1992.

[24] Šotová, J.: Cykly v iteračních metodách pro řešení systémů lineárních rovnic.Disertační práce, 1997.

Page 297: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

291

Rejstřík

algoritmusAitkenův, 182Nevillův, 181stabilní, 11, 121

bodcyklu řádu n, 34funkce, pevný, 28odpuzující, 32přitahující, 32

cyklus řádu n, 34

čísla Cotesova, 249, 251číslo podmíněnosti, 9, 124člen chyby, hlavní, 270

derivacecentrální diferenční, 211levá diferenční, 211pravá diferenční, 211

derivování numerické, 205diagram Fraserův, 173diferenceobyčejná, 171poměrná, 163

extrapolace, 173, 267Richardsonova, 212

formulekvadraturní, 225adaptivní, 264Čebyševova, 257Gaussova, 232

Gaussova-Čebyševova, 244Gaussova-Hermitova, 246Gaussova-Laguerrova, 246Gaussova-Legendreova, 235chyba, 226koeficienty, 225Lobattova, 255Rombergova, 267složená, 260stupeň přesnosti, 226uzly, 225Newtonova-Cotesovaotevřeného typu, 251, 252uzavřeného typu, 249, 252tříbodová, 209

funkceiterační, 29vahová, 217

GEM, 95bez výběru pivota, 122s výběrem pivotačástečným, 102úplným, 102

chaos, 36chodpřímý, 95zpětný, 95

chopping, 3chybaabsolutní, 1odhad, 1interpolace, 167

Page 298: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

292 REJSTŘÍKmetody, 6primární, 6relativní, 1odhad, 1sekundární, 6

interpolaceinverzní, 182iterovaná, 179kvadratická, 183polynomiální, 157splajnová, 158trigonometrická, 158

iterace k-tá, 33

kořen funkce, 23separace, 23zpřesnění, 23

krok, 170

maticedobře podmíněná, 124Frobeniova, 97iterační, 134Jacobiova, 138Jacobiova, 67konvergentní, 134pásová, 94třídiagonální, 94permutační, 97pozitivně definitní, 95ryze řádkově diagonálnědominantní, 94

špatně podmíněná, 124trojúhelníkovádolní, 94horní, 94

metodaAitkenova δ2, 57bisekce, 23Croutova, 110dolní relaxace, 146Gaussova-Seidelova, 142horní relaxace, 146Choleského, 108

iterační, 29j-kroková, 29Jacobiova, 138jednokroková, 29Newtonova, 67řádu p, 30největšího spádu, 118Newtonova, 40, 67polovičního kroku, 269prosté iterace, 29půlení, 23quasi Newtonova, 53regula falsi, 50, 51relaxační, 146sdružených gradientů, 120sečen, 48Seidelova, 67snižování stupně, 83Steffensenova, 59tečen, 41zdvojená, 81

multiplikativnost, 16multiplikátory, 96

normamatice, spektrální, 18maticovápřidružená k dané vektorové normě,16souhlasná, 16

odseknutí, 3

parametr relaxační, 146pivot, 96výběrčástečný, 102úplný, 102

podmíněnost, 123číslo, 9, 124

podmínky Fourierovy, 44poloměr matice, spektrální, 18polynom interpolační, 158Lagrangeův, 159Newtonův, 164

Page 299: Obsahzelinka/dokumenty/numerika.pdf · 2010. 3. 16. · Úvod Hamming, R. W. (1962): „Cíl výpočtů – pochopení podstaty, a ne čísloÿ „Dříve než budete úlohu řešit,

REJSTŘÍK 293

pro interpolaci vpřed, 172pro interpolaci vzad, 172

polynomyČebyševovy, 169, 219fundamentální, 159Hermitovy, 220Laguerrovy, 219Legendrovy, 218

posloupnostiterační, 134Sturmova, 75

pravidlolichoběžníkové, 249složené, 261obdélníkové, 252parabolické, 250Simpsonovo, 250složené, 263

problémblízký, 11interpolačníHermitův, 183

prvek hlavní, 96přesnostdvojnásobná, 4jednoduchá, 4

rounding, 3

souhlasnost, 16splajnpřirozený, 194úplný, 194

splajnykubické, 158, 193polynomiální, 193

stabilita, 11symboly O, o, 12systém rovnicneřešitelný, 94řešitelný, 94

tvar semilogaritmický, pohyblivé řádovéčárky, 3

úloha

dobře podmíněná, 9korektní, 8dobře podmíněná, 9špatně podmíněná, 9

uzly, 158, 193ekvidistantní, 170

vektor reziduový, 118vzorecShermanův-Morrisonův, 113Woodburyho, 113

zaokrouhlení, 3znaménkozachování, 75změna, 75