Rungeho jev
Rungeho jev je problém v numerické matematice, který objevil v roce 1901 německý matematik Carl Runge, když zkoumal chování chyb při aproximaci funkcí pomocí interpolačních polynomů na množině ekvidistantních interpolačních bodů.[1] Runge zjistil, že použití polynomu vyššího stupně vždy nezlepšuje přesnost; naopak, na okrajích intervalu se objevují oscilace. Jev je podobný Gibbsově jevu při aproximaci Fourierovou řadou.
Úvod
Weierstrassova věta o aproximaci říká, že ke každé spojité funkci f(x) definované na uzavřeném intervalu existuje posloupnost polynomiálních funkcí Pn(x) pro n=0, 1, 2, …, stupně nejvýše n, které aproximují funkci f(x), a na intervalu k ní konvergují stejnoměrně, tj.
Chceme funkci f(x) interpolovat v n+1 ekvidistantních bodech polynomem Pn(x) n-tého stupně, který těmito body prochází, můžeme na základě Weierstrassovy věty očekávat, že při použití více bodů bude rekonstrukce funkce f(x) přesnější. Ale tato určitá množina polynomiálních funkcí Pn(x) nezaručuje stejnoměrnou konvergenci; věta pouze tvrdí, že taková sada polynomiálních funkcí existuje. Věta sama neříká, jak najít takovou posloupnost polynomů; k tomu je možné použít Bernsteinovy polynomy.
Řada funkcí Pn(x) vytvořená tímto způsobem může pro rostoucí n divergovat od f(x); typicky se to projeví výskytem oscilací, které se v blízkosti koncových interpolačních bodů zvětšují. Objev tohoto jevu je připisován Rungemu.[2]
Problém
Uvažujme Rungeho funkci
(zvětšená verze Agnesiny křivky). Runge zjistil, že při interpolaci této funkce v ekvidistantních bodech xi na intervalu −1 a 1 tak, že:
polynomy Pn(x) stupně nejvýše n, výsledná interpolační funkce kmitá na konci intervalu, tj. blízko k −1 a 1. Dokonce lze dokázat, že interpolační chyba se při zvyšování stupně polynomu zvětšuje (bez omezení):
To ukazuje, že interpolace polynomem vysokého stupně v ekvidistantních bodech může být problematická.
Příčina
Rungeho jev je důsledkem dvou vlastností tohoto problému:
- Hodnota derivací n-tého řádu této funkce rychle roste se zvětšujícím se n.
- Ekvidistance mezi body vede k Lebesgueově konstantě, která rychle roste se zvětšujícím se n.
Jev je graficky dobře viditelný, protože obě vlastnosti se kombinují a zvyšují řád oscilace.
Chyba mezi vytvořující funkcí a interpolačním polynomem řádu n je
pro nějaké z intervalu (−1, 1). Tedy
- .
Označíme-li symbolem nodální funkci
a nechť je maximální řád funkce :
- .
Je jednoduché dokázat, že pro ekvidistantní uzly
kde je velikost kroku.
Pokud navíc předpokládáme, že (n+1)-tá derivace funkce je omezená:
- .
Proto
- .
Ale řád (n+1)-té derivace Rungeho funkce se zvyšuje s rostoucím n, protože . Důsledkem je, že výsledná horní mez se blíží k nekonečnu, když n se blíží k nekonečnu.
Fakt, že horní mez chyby jde k nekonečnu, i když je často používán pro vysvětlení Rungeho jevu, samozřejmě neznamená, že samotná chyba také diverguje s rostoucím n.
Zmírňování problému
Změna interpolačních bodů
Oscilaci lze zmírnit použitím zahušťováním uzlů na okrajích intervalu. Například na intervalu ⟨−1,1⟩ lze použít body s asymptotickou hustotou danou vzorcem[3] . Standardním příkladem takové sady uzlů jsou Čebyševovy uzly, u nichž maximální chyba v aproximaci Rungeho funkce zaručeně klesá s rostoucím řádem polynomu. Jev ukazuje, že polynomy vysokého stupně jsou pro interpolaci s ekvidistantními uzly obecně nevhodné.
S-Rungeho algoritmus bez převzorkování
Když převzorkování[ujasnit] na rozumné množině uzlů není proveditelné, je možné vyzkoušet S-Rungeho algoritmus.[4] Při tomto přístupu je původní množina uzlů mapovaná na množinu Čebyševových uzlů, poskytujících stabilní polynomiální rekonstrukci. Zvláštností této metody je, že není potřeba převzorkování na mapovaných uzlech, které se také nazývají umělé uzly. Na github je implementace tohoto postupu v jazyce Python.
Aproximace polynomiální po částech
Popsanému problému se lze vyhnout použitím spline křivek, které jsou po částech polynomiální. Pro zmenšení interpolační chyby můžeme místo zvyšování stupně použitého polynomu zvyšovat počet polynomiálních částí, které se používají pro konstrukci spline křivky.
Omezená minimalizace
Můžeme také proložit polynom vyššího stupně (například pro bodů použít polynom řádu místo ) a použít takový interpolační polynom, jehož první (nebo druhá) derivace má minimální normu.
Podobným přístupem je minimalizace omezené verze vzdálenosti mezi m-tou derivací polynomu a střední hodnotou jeho m-té derivace. Explicitně pro minimalizaci
kde a , vzhledem ke koeficientům polynomu a Lagrangeovým multiplikátorům . Pro omezující rovnice generované Lagrangeovými multiplikátory omezují na minimální polynom, který prochází všemi body. Na opačném konci se bude blížit tvaru velmi podobnému po částech polynomiální aproximaci. Speciálně pro se blíží po částech lineárním polynomům, tj. propojuje interpolační body úsečkami.
Při procesu minimalizace má za úkol omezovat velikost odchylek od střední hodnoty. Čím je větší, tím více jsou penalizovány větší odchylky v porovnání s malými. Hlavní výhodou Eukleidovské normy je, že umožňuje analytické řešení a zaručuje, že bude mít pouze jediné minimum. Pro může ve existovat více minim, kvůli čemuž je obtížné zjistit, zda nalezené minimum je globálním minimem.
Použití metody nejmenších čtverců
Další metodou je proložení polynomu nižšího stupně použitím metody nejmenších čtverců. Obecně při použití ekvidistantních bodů, kde pak aproximace metodou nejmenších čtverců je dobře podmíněná.[5]
Bernsteinův polynom
Bernsteinovy polynomy umožňují stejnoměrně aproximovat každou spojitou funkci na uzavřeném intervalu. Tato metoda je však poněkud výpočetně náročná.[zdroj?]
Příbuzná tvrzení z teorie aproximace
Pro každou předdefinovanou tabulku interpolačních uzlů existuje spojitá funkce, pro kterou posloupnost interpolační polynomů na těchto uzlech diverguje.[6] Pro každou spojitou funkci existuje tabulka uzlů, na kterých interpolační proces konverguje.[zdroj?] Čebyševova interpolace (na Čebyševových uzlech) konverguje stejnoměrně pro každou absolutně spojitou funkci.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Runge's phenomenon na anglické Wikipedii.
- ↑ RUNGE, Carl. Über empirische Funktionen und die Interpolation zwischen äquidistanten Ordinaten. Zeitschrift für Mathematik und Physik. 1901, roč. 46, s. 224–243. Dostupné na www.archive.org
- ↑ Epperson, James. On the Runge example. Amer. Math. Monthly. 1987, roč. 94, s. 329–341. Dostupné online. DOI 10.2307/2323093.
- ↑ BERRUT, Jean-Paul; TREFETHEN, Lloyd N. Barycentric Lagrange interpolation. [s.l.]: [s.n.], 2004. DOI 10.1137/S0036144502417715. S. 501–517.
- ↑ DE MARCHI, Stefano; MARCHETTI, Francesco; PERRACCHIONE, Emma. Polynomial interpolation via mapped bases without resampling. [s.l.]: [s.n.], 2020. DOI 10.1016/j.cam.2019.112347.
- ↑ DAHLQUIST, Germund; BJÖRK, Åke. Numerical Methods. [s.l.]: [s.n.], 1974. Dostupné online. ISBN 0-13-627315-7. Kapitola 4.3.4. Equidistant Interpolation and the Runge Phenomenon, s. 101–103.
- ↑ CHENEY, Ward; LIGHT, Bude. A Course in Approximation Theory. [s.l.]: Brooks/Cole, 2000. Dostupné online. ISBN 0-534-36224-9.
Související články
- Srovnejte s Gibbsovým jevem pro sinusové bázové funkce
- Taylorova řada
- Čebyševovy uzly
- Stoneova–Weierstrassova věta
Média použitá na této stránce
Autor: Nicoguaro, Licence: CC BY 4.0
The red curve is the Runge function.
The blue curve is a 5th-order interpolating polynomial (using six equally spaced interpolating points). The green curve is a 9th-order interpolating polynomial (using ten equally spaced interpolating points).
At the interpolating points, the error between the function and the interpolating polynomial is (by definition) zero. Between the interpolating points (especially in the region close to the endpoints 1 and −1), the error between the function and the interpolating polynomial gets worse for higher-order polynomials.