QUADPACK - QUADPACK - Wikipedia
Původní autoři | Robert Piessens Elise deDoncker-Kapenga Christoph W. Überhuber David Kahaner |
---|---|
První vydání | Květen 1981 |
Stabilní uvolnění | Květen 1987[1] |
Napsáno | FORTRAN 77 |
Typ | Knihovna |
Licence | Veřejná doména |
webová stránka | nines.cs.kuleuven.be/software/QUADPACK |
QUADPACK je FORTRAN 77 knihovna pro numerická integrace jednorozměrných funkcí.[2] Bylo zahrnuto do SLATEC Společná matematická knihovna, a proto je v veřejná doména.[3] Jednotlivé podprogramy jsou k dispozici také na netlib.[4]
The Vědecká knihovna GNU znovu implementoval rutiny QUADPACK do C. SciPy poskytuje a Krajta rozhraní k části QUADPACK.[5][6]
Rutiny
Hlavní důraz je kladen na QUADPACK automatický integrační rutiny, ve kterých uživatel zadá problém a absolutní nebo relativní chyba tolerance a rutinní pokusy o provedení integrace s chybou, která není větší než požadovaná. Ve službě QUADPACK je kromě řady neautomatických rutin devět takových automatických rutin. Všechny automatické rutiny kromě jedné používají adaptivní kvadratura.[7]
1. písmeno | 2. písmeno | 3. písmeno | 4. dopis | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
Každá z adaptivních rutin má také verze s příponou E, které mají rozšířený seznam parametrů, který poskytuje více informací a umožňuje větší kontrolu. Dvojitá přesnost verze všech rutin byly vydány s předponou D.
Univerzální rutiny
Dva univerzální rutiny, které jsou nejvhodnější pro použití bez další analýzy integrantu, jsou QAGS pro integraci přes konečný interval a QAGI pro integrace v nekonečném intervalu.[7] Tyto dvě rutiny se používají v GNU oktáva (dále jen čtyřkolka
příkaz)[5] a R (dále jen integrovat
funkce).[9]
- QAGS
- používá globální adaptivní kvadratura na základě 21 bodů Gauss – Kronrodova kvadratura v každém podintervalu s akcelerace podle Peter Wynn je algoritmus epsilon.[7][10]
- QAGI
- je jedinou rutinou pro všeobecné použití pro nekonečné intervaly a mapuje nekonečný interval na pootevřený interval (0,1] pomocí transformace, pak používá stejný přístup jako QAGS, s výjimkou 15bodového a 21bodového Gauss– Kronrodova kvadratura.[2] Pro integrál v celé reálné ose je použitá transformace :[2]
- To není nejlepší přístup pro všechna celá čísla: může být vhodná jiná transformace, nebo by se dalo upřednostnit rozbití původního intervalu a použít QAGI pouze na nekonečné části.[7]
Stručný přehled ostatních automatických rutin
- QNG
- jednoduchý neadaptivní integrátor
- QAG
- jednoduchý adaptivní integrátor
- QAGP
- podobný QAGS, ale umožňuje uživateli určit umístění interních singularit, diskontinuit atd.
- QAWO
- integrál cos (ωx) F(X) nebo hřích(ωx) F(X) v konečném intervalu
- QAWF
- Fourierova transformace
- QAWS
- integrál w(X) F(X) z A na b, kde F je hladký a w(X) = (X–A)α (b–X)β logk(X–A) logl(b–X), s k, l = 0 nebo 1 a α, β > –1
- QAWC
- Cauchyova hlavní hodnota integrálu F(X)/(X–C) pro uživatele C a F [2]
Viz také
Reference
- ^ "quadpack / changes". Netlib. Citováno 16. listopadu 2010.
- ^ A b C d Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David (1983). QUADPACK: Balíček podprogramů pro automatickou integraci. Springer-Verlag. ISBN 978-3-540-12553-2.
- ^ Fong, Kirby W .; Jefferson, Thomas H .; Suyehiro, Tokihiko; Walton, Lee (červenec 1993). „Průvodce Společnou matematickou knihovnou SLATEC“. netlib.org. Citováno 13. listopadu 2010.
- ^ "quadpack". Netlib. Citováno 13. listopadu 2010.
- ^ A b "QUADPACK". Skupina pro numerickou integraci, nelineární rovnice a software (NINES), Katholieke Universiteit Lovaň. Citováno 13. listopadu 2010.
- ^ "scipy.integrate.quad - referenční příručka SciPy v0.14.0". Citováno 1. července 2014.
- ^ A b C d Piessens, Robert; De Doncker, Elise; Kahaner, David (1984-04-17). „Subrutine QPDOC“. QUADPACK. netlib. Citováno 16. listopadu 2010.
- ^ Zwillinger, Daniel (1992). Příručka integrace. K Peters. p. 255. ISBN 978-0-86720-293-9.
- ^ R Development Core Team a přispěvatelé z celého světa (říjen 2010). „integrate {statistics}: Integrace jednorozměrných funkcí“. Dokumentace k „statistikám“ balíčku verze 2.13.0. Citováno 16. listopadu 2010.
- ^ „17.4 QAGS adaptivní integrace se singularitami“. Vědecká knihovna GNU - Reference. Free Software Foundation. Citováno 16. listopadu 2010.
Další čtení
- Favati, P .; Lotti, G .; Romani, F. (1991). "Algoritmus 691; Vylepšení rutin automatické integrace QUADPACK". Transakce ACM na matematickém softwaru. 17 (2): 218–232. doi:10.1145/108556.108580.
- Cools, R .; Haegemans, A. (2003). „Algoritmus 824: BATOH: balíček pro automatickou kubaturu; popis rámce ". Transakce ACM na matematickém softwaru. 29 (3): 287–296. doi:10.1145/838250.838253.