Für die numerische Quadratur gibt es mehrere Methodenfamilien. Wenn ich eine bestimmte Klasse von Integranden habe, wie wähle ich die ideale Methode aus?
Was sind die relevanten Fragen, die sowohl zum Integranden (z. B. ist er glatt? Hat er Singularitäten?) Als auch zum Rechenproblem (z. B. Fehlertoleranz, Rechenbudget) gestellt werden müssen?
Wie können Antworten auf diese Fragen die verschiedenen Methodenfamilien ausschließen oder fördern? Der Einfachheit halber betrachten wir nur einzelne oder niedrig dimensionale Integrale.
In dem Wikipedia-Artikel zu QUADPACK heißt es beispielsweise, dass die relativ allgemeine QAGS
Routine " globale adaptive Quadratur basierend auf der 21-Punkte-Gauß-Kronrod-Quadratur in jedem Teilintervall mit Beschleunigung durch den Epsilon-Algorithmus von Peter Wynn " verwendet.
Wie wurde diese Entscheidung getroffen? Wie kann man ähnliche Entscheidungen treffen, wenn mehr bekannt ist?
quelle
Antworten:
Zunächst müssen Sie sich die Frage stellen, ob Sie eine Allround-Quadraturroutine benötigen, die einen Integranden als Black Box verwenden soll. Wenn ja, können Sie sich für eine adaptive Quadratur entscheiden, bei der Sie hoffen, dass die Adaptivität "schwierige" Stellen im Integranden erfasst. Und das ist einer der Gründe, warum Piessens et al. wählte für eine Gauß-Kronrod-Regel (diese Art von Regel ermöglicht es Ihnen, eine Approximation des Integrals und eine Schätzung des Approximationsfehlers unter Verwendung derselben Funktionsbewertungen zu berechnen) von bescheidener Ordnung, angewendet in einem adaptiven Schema (mit Unterteilung des Intervalls mit der höchster Fehler), bis die erforderlichen Toleranzen erreicht sind. Der Wynn-Epsilon-Algorithmus ermöglicht die Bereitstellung einer Konvergenzbeschleunigung und hilft normalerweise in Fällen, in denen Endpunkt-Singularitäten vorliegen.
Wenn Sie jedoch die "Form" oder "Art" Ihres Integranden kennen, können Sie Ihre Methode an Ihre Bedürfnisse anpassen, sodass der Rechenaufwand für die von Ihnen benötigte Genauigkeit begrenzt ist. Also, was müssen Sie sich anschauen:
Integrand:
Integrationsintervall: endlich, halb unendlich oder unendlich. Können sie bei semi-unendlichen oder unendlichen Intervallen durch eine variable Transformation auf ein endliches Intervall reduziert werden? Wenn nicht, können Laguerre- oder Hermite-Polynome im Gaußschen Quadratur-Ansatz verwendet werden.
Ich habe keine Referenz für ein echtes Flussdiagramm für Quadratur im Allgemeinen, aber das QUADPACK-Buch (nicht die Netlib-Hilfeseiten, sondern das echte Buch) enthält ein Flussdiagramm, mit dem Sie die entsprechende Routine basierend auf dem zu bewertenden Integral auswählen können. Das Buch beschreibt auch die Auswahl in Algorithmen von Piessens et al. für die verschiedenen Routinen.
Bei niedrigdimensionalen Integralen wird typischerweise eine verschachtelte eindimensionale Quadratur verwendet. Im Sonderfall der zweidimensionalen Integrale (Kubatur) existieren Integrationsregeln für verschiedene Fälle von Integrationsdomänen. R. Cools hat eine Vielzahl von Regeln in seiner Encyclopedia of Cubature Formulas gesammelt und ist der Hauptautor des Cubpack- Pakets. Für hochdimensionale Integrale greift man typischerweise auf Monte-Carlo-Methoden zurück. Man benötigt jedoch typischerweise eine sehr große Anzahl von Integrandenauswertungen, um eine angemessene Genauigkeit zu erhalten. Bei niedrigdimensionalen Integralen übertreffen Approximationsmethoden wie Quadratur / Kubatur / verschachtelte Quadratur häufig diese stochastischen Methoden.
Allgemeine interessante Referenzen:
quelle