Formuła kwadraturowa Gaussa-Kronroda
Formuła kwadraturowa Gaussa – Kronroda jest adaptacyjną metodą całkowania numerycznego . Jest to odmiana kwadratury Gaussa , w której punkty oceny są wybierane w taki sposób, że można obliczyć dokładne przybliżenie poprzez ponowne wykorzystanie informacji uzyskanych w wyniku obliczenia mniej dokładnego przybliżenia. Jest to przykład tak zwanej zagnieżdżonej reguły kwadraturowej: dla tego samego zestawu punktów oceny funkcji ma dwie reguły kwadraturowe, jedną wyższego rzędu i jedną niższego rzędu (ta ostatnia nazywana jest regułą osadzoną ) . Różnica między tymi dwoma przybliżeniami służy do oszacowania błędu obliczeniowego integracji.
Formuły te zostały nazwane na cześć Aleksandra Kronroda , który wynalazł je w latach 60., oraz Carla Friedricha Gaussa .
Opis
Problem w całkowaniu numerycznym polega na przybliżeniu całek oznaczonych postaci
Takie całki można aproksymować na przykład za pomocą n -punktowej kwadratury Gaussa
gdzie w i , x i są wagami i punktami oceny funkcji f ( x ).
Jeśli przedział [ a , b ] jest podzielony, punkty oceny Gaussa nowych podprzedziałów nigdy nie pokrywają się z poprzednimi punktami oceny (z wyjątkiem punktu środkowego dla nieparzystej liczby punktów oceny), a zatem całka musi być oceniana w każdym punkcie. Wzory Gaussa – formuł kwadraturowych Gaussa generowanych przez dodanie do reguły reguła jest rzędu ( Laurie (1997 , s. 1133); odpowiednia reguła Gaussa jest rzędu ). Te dodatkowe punkty są zerami wielomianów Stieltjesa . Pozwala to na obliczanie oszacowań wyższego rzędu przy ponownym wykorzystaniu wartości funkcji oszacowania niższego rzędu. Różnica między regułą kwadratury Gaussa a jej rozszerzeniem Kronroda jest często używana jako oszacowanie błędu aproksymacji.
Przykład
Popularny przykład łączy 7-punktową regułę Gaussa z 15-punktową regułą Kronroda ( Kahaner, Moler i Nash 1989 , §5.5). Ponieważ punkty Gaussa są włączone do punktów Kronroda, potrzebnych jest łącznie tylko 15 ocen funkcji.
(G7, K15) na [−1,1] Węzły Gaussa Wagi ±0,94910 79123 42759 ∗ 0,12948 49661 68870 ±0,74153 11855 99394 ∗ 0,27970 53914 89277 ±0,40584 51513 77397 ∗ 0,38183 00505 05119 0,00000 00000 00000 ∗ 0,41795 91836 73469 Węzły Kronroda Wagi ±0,99145 53711 20813 0,02293 53220 10529 ±0,94910 79123 42759 ∗ 0,06309 20926 29979 ±0,86486 44233 59769 0,10479 00103 22250 ±0,74153 11855 99394 ∗ 0,14065 32597 15525 ±0,58608 72354 67691 0,16900 47266 39267 ±0,40584 51513 77397 ∗ 0,19035 05780 64785 ±0,20778 49550 07898 0,20443 29400 75298 0,00000 00000 00000 ∗ 0,20948 21410 84728
Całka jest następnie szacowana za pomocą reguły Kronroda, można oszacować .
dowolnego przedziału pozycje węzłów wagi są skalowane przedziału w następujący sposób: :
Patterson (1968) pokazał, jak znaleźć dalsze tego typu rozszerzenia, Piessens (1974) i Monegato (1978) zaproponowali udoskonalone algorytmy , a ostatecznie najbardziej wydajny algorytm zaproponował Laurie (1997) . Współczynniki poczwórnej precyzji (34 cyfry dziesiętne) dla (G7, K15), (G10, K21), (G15, K31), (G20, K41) i inne są obliczane i zestawione w tabeli.
Implementacje
Procedury dla kwadratury Gaussa-Kronroda są dostarczane przez bibliotekę QUADPACK , GNU Scientific Library , NAG Numerical Libraries , R , bibliotekę C++ Boost ., a także pakiet Julii quadGK.jl
Zobacz też
- Kwadratura Clenshawa – Curtisa , kolejna zagnieżdżona reguła kwadratury o podobnej dokładności
Notatki
- „Formuła kwadraturowa Gaussa – Kronroda” , Encyklopedia matematyki , EMS Press , 2001 [1994]
- Kahaner, Dawid; Moler, Cleve ; Nash, Stephen (1989), metody numeryczne i oprogramowanie , Prentice – Hall , ISBN 978-0-13-627258-8
- Kronrod, Aleksandr Semenovish (1965), Węzły i wagi formuł kwadraturowych. Szesnastomiejscowe stoły , Nowy Jork: Consultants Bureau (Tłumaczenie autoryzowane z języka rosyjskiego)
- Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W. [w języku niemieckim] ; Kahaner, David K. (1983), QUADPACK, pakiet podprogramów do automatycznej integracji , Springer-Verlag , ISBN 978-3-540-12553-2 (przewodnik po QUADPACK)
- Patterson, Thomas NL (1968), „Optymalne dodawanie punktów do formuł kwadraturowych”, Math. Oblicz. , 22 (104): 847-856 i C1-C11, doi : 10.2307/2004583 , JSTOR 2004583 . Errata z matematyki. Oblicz. 23 : 892.
- Piessens, Robert; Branders, Maria (1974), „Uwaga na temat optymalnego dodawania odciętych do kwadraturowych wzorów Gaussa i Lobatto”, Matematyka obliczeń , 28 (125): 135–139, doi : 10,2307/2005820 , JSTOR 2005820
- Monegato, Giovanni (1978), „Kilka uwag na temat budowy rozszerzonych reguł kwadratury Gaussa”, Mathematics of Computation , 32 (141): 247–252, doi : 10,2307/2006272 , JSTOR 2006272
- Laurie, Dirk (1997), „Obliczanie reguł kwadratury Gaussa-Kronroda”., Mathematics of Computation , 66 (219): 1133–1145, doi : 10,1090 / s0025-5718-97-00861-2
Linki zewnętrzne
- QUADPACK (część SLATEC) , kod źródłowy [1] . QUADPACK to zbiór algorytmów w języku Fortran do całkowania numerycznego w oparciu o reguły Gaussa-Kronroda. SLATEC (w Netlib ) to duża biblioteka domeny publicznej do obliczeń numerycznych.
- Kod źródłowy ALGLIB w językach C#, C++, Delphi i Visual Basic