Úvod do numerické matematiky

Podobné dokumenty
1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

Úvod do numerické matematiky

Aplikovaná numerická matematika

Kombinatorická minimalizace

Úvod do problematiky numerických metod. Numerické metody. Ústav matematiky. 6. února 2006

Digitální učební materiál

Numerické řešení diferenciálních rovnic

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

Hledání extrémů funkcí

Numerická stabilita algoritmů

Numerická matematika 1

Čebyševovy aproximace

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Soustavy nelineárních rovnic pomocí systému Maple. Newtonova metoda.

STUDIJNÍ OPORA Název opory/předmětu: Matematické prostředky informatiky

Numerické řešení nelineárních rovnic

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Architektury počítačů

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

Řešení "stiff soustav obyčejných diferenciálních rovnic

Numerická matematika. Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

Úvod. Integrování je inverzní proces k derivování Máme zderivovanou funkci a integrací získáme původní funkci kterou jsme derivovali

Numerická matematika Písemky

Interpolace, ortogonální polynomy, Gaussova kvadratura

Co je obsahem numerických metod?

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Kapitola 10: Diferenciální rovnice 1/14

Obyčejné diferenciální rovnice (ODE)

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

Derivace funkce Otázky

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Algoritmy a datové struktury

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

MATURITNÍ TÉMATA Z MATEMATIKY

Derivace funkce DERIVACE A SPOJITOST DERIVACE A KONSTRUKCE FUNKCÍ. Aritmetické operace

Literatura: Kapitola 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

UMÍ POČÍTAČE POČÍTAT?

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Moderní numerické metody

Soustavy lineárních rovnic a determinanty

NUMERICKÉ METODY. Problematika num. řešení úloh, chyby, podmíněnost, stabilita algoritmů. Aproximace funkcí.

s velmi malými čísly nevýhodou velký počet operací, proto je mnohdy postačující částečný výběr

10 Funkce více proměnných

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Čísla a číselné soustavy.

Posloupnosti a řady. 28. listopadu 2015

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

NPRG030 Programování I, 2018/19 1 / :25:37

Operace s maticemi. 19. února 2018

Matematická analýza ve Vesmíru. Jiří Bouchala

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

Matematika I A ukázkový test 1 pro 2014/2015

Aplikovaná numerická matematika

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

Řešení nelineárních rovnic

AVDAT Nelineární regresní model

5.3. Implicitní funkce a její derivace

Drsná matematika III 6. přednáška Obyčejné diferenciální rovnice vyšších řádů, Eulerovo přibližné řešení a poznámky o odhadech chyb

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Gymnázium Jiřího Ortena, Kutná Hora

Algebraické rovnice. Obsah. Aplikovaná matematika I. Ohraničenost kořenů a jejich. Aproximace kořenů metodou půlení intervalu.

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Kapitola 7: Integrál.

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Matematika vzorce. Ing. Petr Šídlo. verze


VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Funkce. Limita a spojitost

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Parciální derivace a diferenciál

Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008

1 Polynomiální interpolace

Přijímací zkouška na navazující magisterské studium 2018

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Aproximace funkcí. Polynom Φ m (x) = c 0 + c 1 x + c 2 x c m x m. Φ m (x) = c 0 g 0 (x) + c 1 g 1 (x) + c 2 g 2 (x) +...

Parciální derivace a diferenciál

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Diferenciální rovnice a jejich aplikace. (Brkos 2011) Diferenciální rovnice a jejich aplikace 1 / 36

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Co jsme udělali: Au = f, u D(A)

Matematika 5 FSV UK, ZS Miroslav Zelený

Arnoldiho a Lanczosova metoda

Pojmy z kombinatoriky, pravděpodobnosti, znalosti z kapitoly náhodná veličina, znalost parciálních derivací, dvojného integrálu.

em do konce semestru. Obsah Vetknutý nosník, str. 8 Problém č.8: Průhyb nosníku - Ritzova metoda

Transkript:

Úvod do numerické matematiky 1 Předmět numerické matematiky Numerická matematika je věda, která se zabývá řešením matematicky formulovaných úloh pomocí logických operací a aritmetických operací s čísly o konečné délce. 2 typy matematicky formulovaných úloh numericky formulované úlohy- jednoznačný funkční vztah mezi konečným počtem vstupních a výstupních dat, jedná se obvykle o algebraické úlohy, někdy je možno nalézt teoretické řešení úlohy pomocí konečné posloupnosti aritmetických a logických operací, jindy ne(lze nalézt pouze přibližné řešení) úlohy, které nejsou numericky formulované - obvykle úlohy matematické analýzy, ve kterých je obsažen nekonečně krátký krok (např. výpočet derivace, integrálu, řešení diferenciální rovnice); tyto úlohy je třeba nejdříve nějakým způsobem převést na numerické úlohy Numerickou metodou rozumíme postup výpočtu numerické úlohy nebo její převod na úlohu jednodušší či postup, který nahrazuje matematickou úlohu úlohou numerickou. Algoritmem rozumíme realizaci numerické metody, tj. konkrétní konečnou posloupnost operací, která s požadovanou přesností převede vstupní data na výsledné hodnoty. Algoritmus lze programovat na počítači. 1

2 Chyby - nepřesnosti při řešení úloh Zdroje chyb 1. Chyby vstupních dat (např. chyby měření, chyby modelu reality) 2. Chyby metody (Truncation errors) - v důsledku převedení matematické úlohy na numerickou 3. Zaokrouhlovací chyby (Roundoff errors) - v důsledku zaokrouhlování při výpočtech s čísly o konečné délce Definice chyb x - přesná hodnota x - přibližná hodnota A(x) = x x a(x) A(x) - absolutní chyba R(x) = A(x) x R(x) - relativní chyba r(x) a(x) - odhad absolutní chyby r(x) a(x)... pokud r(x) 1 x r(x) - odhad relativní chyby Intervalový odhad x x a(x) x x+a(x) x = x±a(x) x = x (1±r(x)) Relativní chyba Počet platných číslic Necht x 0, číslo x zapíšeme pomocí číslic x 1,x 2,...,x n, necht m n x = ±0.x 1 x 2...x m 1 x m x m+1...x n 10 p necht x 1,...,x m jsou platné cifry, x 1 0. Pak r(x) < 5.10 m...( přesněji r(x) < 5.10 m /x 1 ) Přesnost výpočtu je obvykle dána relativní chybou. 2

3 Chyby metody (aproximace) Při výpočtech derivace, integrálu apod. nahrazujeme nekonečně krátký krok dx konečným krokem h Tento typ chyby nijak nesouvisí se zaokrouhlováním 1 veličinu lze aproximovat mnoha různými způsoby Řád metody - Je-li chyba δy veličiny y úměrná δy hα O(h α ) pak α nazýváme řádem metody Ukázky různých způsobů aproximace - odvození chyby metody (obvykle se používá Taylorův rozvoj) derivace y = df y f(x 1+h) f(x 1 ) dx x1 h = f (x 1 )+ h 2 f (x 1 )+ δy = f (x 1 ) 2 h+... metoda 1. řádu y = df y f(x 1+h/2) f(x 1 h/2) dx x1 h = f (x 1 )+ h2 24 f (x 1 )+ δy = f (x 1 ) 24 h 2 +... metoda 2. řádu 3

integrál - obdélníková metoda šířka intervalu h = b a N y = b f(x)dx y h N f(x i )... a i=1 x i = a+ 2i 1 2 h chyba v 1 podintervalu xi +h/2 x i h/2 f(x) dx = h/2 celková chyba δy h 3 N 12 i=1 f (x i ) h/2 f(x i )+tf (x i )+ t2 2 f (x i )+ dt = = hf(x i )+0+ h3 12 f (x i ) h3 12 N max i 1,N f (x i ) b a 12 max x (a,b) f (x) h 2 O(h 2 ) Chyba metody vyššího řádu klesá rychleji při zmenšování kroku h. Pokud jsou metody jinak rovnocenné, vybereme metodu vyššího řádu. Znalost řádu metody umožňuje Odhad chyby Zpřesnění výsledku Nejjednodušší způsob - spočtu odhady výsledku y h pro krok h a y h/2 pro krok h/2 Příklad pro metodu 1.řádu y h = y +ah+bh 2 )2 y h/2 = y +a h ( h 2 +b 2 Koeficienty a,b často nemohu spočítat, ale přesto platí δy h/2 y h y h/2... ( ah/2 ) ỹ = 2y h/2 y h = y b 2 h2 = y +O(h 2 ) a tedy kombinací y h a y h/2 je chyba odhadnuta a řád metody o 1 zvýšen. 4

4 Zaokrouhlovací chyby 4.1 Reprezentace čísla v počítači 1. Celá čísla - přesné výpočty, velmi omezený rozsah INTEGER - 2 byty (INTEGER*2, v C++ short int) - 16 bitů = 2 16 čísel 32768,32767 LONGINT - 4 byty (INTEGER*4, v C++ int) - 32 bity = 2 32 čísel 2 31,2 31 1 2. Reálná čísla - čísla v pohyblivé desetinné tečce - FLOATING POINT vědecký tvar čísla ± 23 ± 5.423687.10 Znaménko Mantisa Exponent Mantisa a exponent jsou v počítači binární čísla, základ u exponentu je 2. Délka MANTISY - tj. počet bitů na mantisu = přesnost čísla přesnost počet čísel mezi 1 a 2 intervalmezi číslymezi1a2je rovnoměrný- do pamětise mohou ukládat jenom čísla 1, 1 + ε, 1 + 2 ε,, 2 - ε. Čím více bitů na mantisu, tím menší ε = menší chyby při zaokrouhlování (u mezivýsledků je v registrech procesoru přesnost vyšší). Byly zde uvedeny všechny mantisy, při změnách změnách exponentů se krok mezi číslyzvýšíúměrně2 exponent (relativníchyba číslase ale nemění). Délka EXPONENTU - tj. počet bitů na exponent - určuje rozsah Pozn. 1 exponent se zvlášt musí vyhradit pro 0, která nemá logaritmus, mantisy u tohoto exponentu lze využít pro vyznačení chyb (overflow, undefined), dále se může využít pro řídkou sít čísel pod minimem k ošetření podtečení (underflow) 5

8-11 bitů na exponent 8 bitů na exponent např. 126,127 2 27 3.4. 10 38 9 bitů na exponent - 2 28 1.15. 10 77 10 bitů na exponent - 2 29 1.32. 10 154 11 bitů na exponent - 2 210 1.74. 10 308 Jednoduchá přesnost = 4 byty C++ Fortran norma IEEE často - float - Real = Real*4 určuje způsob zaokrouhlování, ne bity na mantisu a exponent 1 bit znaménko + 8 bitů exponent + 23 bitů mantisa ε 1,2. 10 7 Dvojitá přesnost = 8 bytů C++ - double Fortran - Double = Real*8 často 1 bit znaménko + 11 bitů exponent + 52 bit mantisa ε 2,2. 10 16 Další typy Fortran - Complex, Complex*16, Real*16 TurboPascal - Real (6 bytů, přesnost 1.5) TurboPascal - Extended (Real*10), Comp (Integer*8) 6

4.2 Šíření chyb ve výpočtech Nebezpečné jsou operace, které mohou podstatně zvětšit relativní chybu!! Sčítání, odečítání a(x±y) = a(x)+a(y) r(x±y) = a(x)+a(y) x±y Pokud výsledek malý = zvětší se silně relativní chyba r!! Často nemohu rozhodnout, zda výsledek je 0 nebo není!! Odečteme-li např. čísla 1.32483726, 1.32483357 známá na 9 platných číslic r(x) = r(y) 5 10 9 (přesněji 3.8 10 9 ) dostaneme výsledek x y = 0.00000369spřesnostína3platnéčíslicer(x y) 5 10 3 (přesnějir(x y) = 1 10 3 ). Motivace vývoje řady numerických postupů - snaha vyhnout se odečítání dvou přibližně stejně velkých čísel. Násobení, dělení a(x y) = x a(y)+ y a(x) r (x y) = r(x)+r(y) ( x a = y) x a(y)+ y a(x) ( x r = r(x)+r(y) y y) 2 Násobení a dělení nemohou podstatně zvětšit zaokrouhlovací chybu, nejsou tedy nebezpečné. Pozn. Dělení číslem 0 je hrubá chyba - nejde o zaokrouhlovací chybu. 7

4.3 Závislost charakteru chyby na velikosti kroku h r dominuje chyba zaokrouhlovací dominuje chyba metody h Zaokrouhlovací chyby při malém kroku h vznikají z různých příčin - u derivace v důsledku odečítání přibližně stejných čísel, u integrálu v důsledku velkého počtu operací Pozn. V obou případech při stanovení příliš krátkého kroku h může dojít i k hrubým chybám vzhledem k rozdílu rovnému 0 v důsledku zaokrouhlení nebo vzhledem k opakovanému provádění součtů, které se při dané numerické přesnosti neprojeví u+δu = u! 8

5 Korektnost a podmíněnost úlohy Korektnost úlohy Definice: Necht úlohou je najít řešení y N (N je množina možných řešení) prozadanývektor x M(Mjemnožinavstupníchdat).Pak úlohajekorektní právě tehdy, jsou-li zároveň splněny obě následující podmínky 1. právě jedno řešení y pro x M. 2. Řešení spojitě závisí na vstupních datech, tj. jestliže pro n z množiny přirozených čísel je y n řešení pro vstupní data x n, a jestliže y je řešení pro vstupní data x, necht dále ρ je norma v množině vstupních dat a σ je norma v množině možných řešení, pak platí x n ρ x yn σ y V praxi se řeší i nekorektní úlohy, ale 1. krok řešení spočívá v nalezení vhodného způsobu, jak převést úlohu na úlohu korektní (např. podmínkou na výsledek; interpretací vstupních dat; vhodnou volbou normy v prostoru řešení apod.) 9

Podmíněnost úlohy Definice: Podmíněnost úlohy C p je daná poměrem relativní změny výsledku ku relativní změně vstupních dat, tj. C p = δy y δx x r(y) r(x) Pokud C p malé (C p 1), říkáme, že úloha je dobře podmíněná, pokud je C p velké (C p > 100), úloha je špatně podmíněná. Pokud je přesnost použitého typu čísel ε (r(x) = ε), pak úloha s C p > ε 1 není v rámci dané přesnosti řešitelná. Často se pro špatně podmíněné úlohy používají speciální metody, které omezují růst chyb v průběhu výpočtu. Příklad: Soustava lineárních rovnic s maticí bĺızkou k singulární(špatně podmíněná matice). Necht je dána úloha x+α y = 1 α x+y = 0 Necht vstupem je hodnota α a výstupem hodnota x. Pak x = 1 1 α 2 a C p = δx x δα α Při α 2 1 je úloha špatně podmíněná. α dx dα x = 2 α2 1 α 2 10

6 Numerická stabilita U nestabilní metody se relativně malé chyby v jednotlivých krocích výpočtu postupně akumulují tak, že dojde ke katastrofální ztrátě přesnosti numerického řešení úlohy. U stabilních metod roste chyba výsledku s počtem kroků N nejvýše lineárně (v ideální, ale vzácné situaci, kdy je znaménko chyby náhodné, chyba roste N). U nestabilních metod roste chyba rychleji, např. geometrickou řadou q N, kde q > 1. Nestabilita metody vzniká v důsledku akumulace bud zaokrouhlovacích chyb nebo chyb metody. Typicky se objevuje v rekurzivních algoritmech. Stabilita metody může záviset na velikosti použitého kroku h. Nestabilita v důsledku chyb metody se často objevuje při numerickém řešení počátečního problému pro obyčejné a parciální diferenciální rovnice. 6.1 Příklady nestabilních algoritmů 1. Nestabilní rekurze - ukážeme si na poněkud umělém případu počítání mocnin čísla Φ zvaného Zlatý řez 5 1 Φ 0, 61803398 2 Lehce ukážete, že mocniny Φ n splňují jednoduchý rekursní vztah Φ n+1 = Φ n 1 Φ n Protože známe Φ 0 = 1 a Φ 1 = 0,61803398 mohli bychom zkusit počítat mocniny odečítáním, což je obvykle rychlejší než násobení. 11

Výsledky výpoctu Φ n 1 Hodnota, Chyba 0.5 0 0.5 Mocnina Výsledek rekurze 1 Relativní chyba 0 10 20 30 40 Mocnina n Obrázek ukazuje, že uvedený postup zcela nepoužitelný, při jednoduché přesnosti dostaneme viditelné chyby výsledky už od n = 16, kdy Φ n 5.10 4. Pro n = 20 dostanu poprvé záporný výsledek rekurze, a tedy rekurze už nijak neaproximuje hodnotu mocniny. Nejdříve vzroste relativní chyba (chyba mění znaménko), pak se objeví záporné hodnoty Φ n a nakonec začne dokonce růst absolutní hodnoty Φ n. Nestabilita se projeví i ve dvojité přesnosti, zaokrouhlovací chyba narůstá ale z menší hodnoty a tak by se 1. záporný výsledek rekurze objevil pro n = 40. Příčina nestability je v tom, že uvedená rekurzní formule má ještě druhé řešení Φ 2 = ( 5 1)/2 < 1 < Φ. Protože rekurzivní relace je lineární, absolutní velikost zaokrouhlovací chyby bude narůstat geometrickou řadou s kvocientem q = Φ 2 > 1. Protože navíc řešení klesá, relativní velikost zaokrouhlovací chyby roste geometrickou řadou s kvocientem q = Φ 2 /Φ > 1. Stejná rekurze by ale mohla být použita pro výpočetmocninčíslaφ 2. Protento výpočetjemetoda stabilníapracovala by uspokojivě. 12

Uvedený příklad byl umělý, nicméně u mnoha speciálních funkcí (např. Besselovy funkce) se k výpočtu hodnoty funkcí používají podobné rekurzivní relace, vždy ovšem tak, aby metoda byla stabilní. 2. Nestabilní metoda pro výpočet obyčejných diferenciálních rovnic Necht řešíme obyčejnou diferenciální rovnici 1. řádu y = f(x,y) Na příkladu rovnice y = y s počáteční podmínkou y(0) = 1 řešené ve směru růstu proměnné x ukážeme, že dvoukroková metoda 2. řádu y y(x+2h) y(x) 2h = y(x+h) je nestabilní. Jde vlastně o podobnou rekurzi jako výše a pro poměr q = y(x+h)/y(x)existují2 řešení,q 1 = h+ 1+h 2 je v absolutníhodnotě menší než 1 a odpovídá prvním třem členům Taylorova rozvoje řešení y = y(0) exp( x), druhý kořen q 2 = h 1+h 2 je v absolutní hodnotě větší než 1 a způsobuje nestabilitu algoritmu. Na následujícím grafu je porovnána celková relativní chyba uvedené nestabilní metody s chybou Eulerovy metody y(x+h) = y(x)+h y (x) = y(x) h y(x) Eulerova metoda se obvykle nepoužívá, nebot jde o metodu 1. řádu s velkou chybou metody, nicméně je pro uvedený případ stabilní. 13

Diferenciální rovnice y = y (y(0)=1) 1 Hodnota, Chyba 0.5 0 0.5 1 exp( x) Rel. chyba nestabilní metoda Rel. chyba Eulerova metoda 0 1 2 3 4 5 x Obrázek ukazuje, že na začátku řešení je nestabilní metoda vzhledem k relativně malé chybě metody přesnější, ale postupný růst chyby přivede nakonec ke katastrofálním chybám. Katastrofálním chybám nelze zabránit zkracováním kroku, užití dvojité přesnosti katastrofu pouze oddáĺı. U stabilní metody roste chyba s délkou intervalu nejvýše lineárně a chybu lze zmenšit zkracováním kroku. 3. Nestabilní spline Při interpolaci dat pomocí kubického splinu (lokální interpolace kubickým polynomem se spojitou derivací) je třeba zadat 2 podmínky (např. hodnotu derivace funkce) v obou krajních bodech. Nesprávnou a nestabilní metodu dostaneme, pokud obě podmínky zadáme v 1 z okrajových bodů. Pokud jako 2. podmínku v prvním okrajovém bodu zadáme např. jako 2. derivaci rovnou hodnotě druhé derivace, která vyšla při stabilním postupu, tj. zadaných 1. derivacích v obou okrajových bodech, obě úlohy jsou z ma- 14

tematického hlediska zcela ekvivalentní a v případě počítání s přesnými čísly bych dostal totožný výsledek. Pokud však numericky počítám s konečnou délkou čísel, zaokrouhlovací chyba však při postupném počítání od 1 okraje narůstá a řešení začne mezi zadanými body silně oscilovat. 1 Interpolace 50 hodnot sin(x) kubickým splinem 0.5 Hodnota 0 0.5 Stabilní metoda Nestabilní metoda 1 0 1 2 3 x 4 5 6 Na grafu jsou ukázány oscilace chybně počítaného (nestabilního) kubického splinu. Je vidět jen několik prvních extrémů, ostatní jsou v absolutní hodnotě příliš velké (až 10 13 ). Při počítání v dvojité přesnosti se viditelné oscilace objeví pro x > 4. 15

7 Volba metody (algoritmu) Základním požadavkem je možnost vyřešení úlohy s dostatečnou přesností. Často je sledována konvergence 1, což znamená schopnost vyřešit úlohu s libovolně vysokou přesností (omezené jen zaokrouhlovací chybou) při kroku h 0 (při počtu operací N ). Při výběru metody hraje roli i složitost algoritmu (počet operací nutných k získání výsledku se zadanou přesností) a pamět ové nároky. Je k dipozici spolehlivá implementace příslušné metody? Numerické knihovny Pro drtivou většinu úloh jsou k dispozici procedury ve standardních knihovnách. Pokud úloha není triviální, neprogramuji ji sám! Většina knihoven je ve FORTRANU Profesionální knihovny jsou drahé(bývají k dispozici na velkých počítačích) - nejznámější NAG, IMSL - ale něketré části jsou implementovány v programových baĺıcích jako MAPLE nebo ORIGIN Pro ukázky budeme používat knihovny NUMERICAL RECIPES(je přílohou knihy) - FORTRAN, C, Pascal, C++, Python, Java a existuje interface k MATLABu - volně (byt často s omezeními) dostupný software - vyhledávání na http://gams.nist.gov, mnoho softwaru je na serverech NETLIB(www.netlib.org), se zrcadly např. na http://netlib.no v Bergenu, Norsko nebo na http://netlib.sandia.gov v SNL, USA. 1 konvergenci budeme přesněji definovat pro konkrétní úlohy 16