Millersův opakovací algoritmus - Millers recurrence algorithm - Wikipedia
Millerův opakovací algoritmus je postup pro výpočet rychle klesajícího řešení lineárního relace opakování vyvinutý uživatelem J. C. P. Miller.[1] Původně byl vyvinut k výpočtu tabulek upravených Besselova funkce[2] ale také platí pro Besselovy funkce prvního druhu a má další aplikace, jako je výpočet koeficientů Čebyševovy expanze dalších speciálních funkcí.[3]
Mnoho rodin speciálních funkcí uspokojuje relaci opakování, která spojuje hodnoty funkcí různých řádů se společným argumentem .
Upravené Besselovy funkce prvního druhu uspokojit relaci opakování
- .
Upravené Besselovy funkce druhého druhu také uspokojit stejný vztah opakování
- .
První řešení rychle klesá s . Druhé řešení rychle roste s . Millerův algoritmus poskytuje numericky stabilní postup pro získání klesajícího řešení.
Vypočítat podmínky opakování přes podle Millerova algoritmu si nejdříve zvolí hodnotu mnohem větší než a spočítá zkušební řešení s počáteční podmínkou na libovolnou nenulovou hodnotu (například 1) a převzetí a pozdější termíny nulové. Potom se relace opakování používá k postupnému výpočtu zkušebních hodnot pro , dolů . Všimněte si, že druhá sekvence získaná ze zkušební sekvence vynásobením konstantním normalizačním faktorem bude stále uspokojovat stejný relační opakování, lze pak použít samostatný normalizační vztah k určení normalizačního faktoru, který poskytuje skutečné řešení.
V příkladu upravených Besselových funkcí je vhodným normalizačním vztahem součet zahrnující sudé termíny opakování:
kde nekonečný součet se stává konečným kvůli aproximaci a pozdější termíny jsou nulové.
Nakonec se potvrzuje, že chyba aproximace postupu je přijatelná opakováním postupu s druhou volbou větší než původní volba a potvrzení, že druhá sada výsledků pro přes dohodnout se v rámci první sady v rámci požadované tolerance. Upozorňujeme, že pro získání této dohody je hodnota musí být dostatečně velký, aby tento výraz je malý ve srovnání s požadovanou tolerancí.
Na rozdíl od Millerova algoritmu se pokusí použít relaci opakování v dopředném směru počínaje známými hodnotami a získané jinými metodami selžou, protože chyby zaokrouhlování zavádějí komponenty rychle rostoucího řešení.[4]
Olver[2] a Gautschi[5] podrobně analyzuje šíření chyb algoritmu.
Pro Besselovy funkce prvního druhu jsou ekvivalentní relace opakování a normalizační vztah:[6]
- .
Algoritmus je obzvláště efektivní v aplikacích, které vyžadují hodnoty Besselových funkcí pro všechny objednávky pro každou hodnotu ve srovnání s přímými nezávislými výpočty samostatné funkce.
Reference
- ^ Bickley, W.G .; Comrie, L.J .; Sadler, D.H .; Miller, J.C.P .; Thompson, A.J. (1952). Britská asociace pro rozvoj vědy, Mathematical Tables, sv. X, Besselovy funkce, část II, Funkce kladného celého čísla. Cambridge University Press. ISBN 978-0521043212., citovaný v Olveru (1964)
- ^ A b Olver, F.W.J. (1964). "Analýza chyb Millerova opakovacího algoritmu". Matematika. Comp. 18 (85): 65–74. doi:10.2307/2003406. JSTOR 2003406.
- ^ Németh, G. (1965). "Čebyševovy expanze pro Fresnelovy integrály". Číslo. Matematika. 7 (4): 310–312. doi:10.1007 / BF01436524.
- ^ Hart, J. F. (1978). Počítačové aproximace (dotisk ed.). Malabar, Florida: Robert E. Krieger. s. 25–26. ISBN 978-0-88275-642-4.
- ^ Gautschi, Walter (1967). "Výpočetní aspekty třídobých relací opakování" (PDF). Recenze SIAM. 9: 24–82. doi:10.1137/1009002.
- ^ Arfken, George (1985). Matematické metody pro fyziky (3. vyd.). Akademický tisk. str.576. ISBN 978-0-12-059820-5.