Rungeho jev

Ukázka Rungeho jevu při aproximaci Rungeho funkce, která je vykreslena červenou křivkou.
Modrá křivka je interpolační polynom 5. řádu (používá šest stejně vzdálených interpolačních bodů).
Zelená křivka je interpolační polynom 9. řádu (používá deset stejně vzdálených interpolačních bodů).
V interpolačních bodech je rozdíl mezi hodnotou funkce a hodnotou interpolačního polynomu (z definice) nulový. Mezi interpolačních body (zvláště v blízkosti koncových bodů 1 a −1) je rozdíl mezi hodnotou funkce a hodnotou interpolačního polynomu větší pro polynomy vyššího řádu.

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 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.

  1. 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
  2. Epperson, James. On the Runge example. Amer. Math. Monthly. 1987, roč. 94, s. 329–341. Dostupné online. DOI 10.2307/2323093. 
  3. BERRUT, Jean-Paul; TREFETHEN, Lloyd N. Barycentric Lagrange interpolation. [s.l.]: [s.n.], 2004. DOI 10.1137/S0036144502417715. S. 501–517. 
  4. 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. 
  5. 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. 
  6. 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

Média použitá na této stránce

Runge phenomenon.svg
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.