In diesem Fortgeschrittenenkurs über Anwendungen der komplexen Funktionstheorie wird an einer Stelle in einer Übung das hochschwingende Integral behandelt
muss für große Werte von Verwendung der Sattelpunktmethode in der komplexen Ebene angenähert werden .
Aufgrund seiner starken Schwingung ist dieses Integral mit den meisten anderen Methoden sehr schwer zu bewerten. Dies sind zwei Fragmente des Graphen des Integranden für in verschiedenen Maßstäben:
Eine asymptotische Näherung führender Ordnung ist
und eine weitere (viel kleinere) Verfeinerung fügt den Begriff hinzu
Ein Diagramm der angenäherten Werte als Funktion von sieht wie folgt aus:
Nun kommt meine Frage: Um visuell zu sehen, wie gut die Approximation ist, möchte ich sie mit dem "realen Wert" des Integrals vergleichen, genauer gesagt mit einer guten Approximation desselben Integrals unter Verwendung eines unabhängigen Algorithmus. Aufgrund der geringen Korrektur der Unterführung würde ich erwarten, dass dies sehr nahe kommt.
Ich habe versucht, das Integral für einige mit anderen Algorithmen zu bewerten , aber mit sehr geringem Erfolg: Mathematica und Matlab mit dem standardmäßigen numerischen Integrator schaffen es nicht, einen aussagekräftigen Wert zu erzeugen (und dies explizit zu melden), mpmath mit beiden doppelt exponentiellen und die Gauß-Legendre-Methode führen zu sehr verrauschten Ergebnissen, obwohl sie leicht dazu neigt, um die Werte zu schwingen, die die Sattelpunktmethode liefert, wie dieses Diagramm zeigen kann:
Schließlich versuchte ich mein Glück mit einem Monte-Carlo-Integrator unter Verwendung eines von mir implementierten Wichtigkeitsbeispiels, aber ich schaffte es auch nicht, stabile Ergebnisse zu erzielen.
Hat jemand eine Idee, wie dieses Integral unabhängig für einen festen Wert von oder so bewertet werden könnte ?
quelle
Antworten:
Verwenden Sie den Satz von Plancherel , um dieses Integral zu bewerten.
Die Grundidee ist, dass für zwei Funktionen ,f,g
wobei die Fourier-Transformationen von . Ihre Funktionen haben beide eine relativ geringe Unterstützung im Spektralbereich. Hier sollten und eine analytische Fourier-Transformation (oder Reihe) haben, wie die Jacobi-Anger-Erweiterung . Sie können die unendliche Reihe aufgrund des Zerfalls der Bessel-Funktion bei ungefähr Termenfür. Hoffe das hilft.F,G f,g sinx/x→rect(k) cos(λcosx) λ |Jn(x)| n>|x|
Bearbeiten : Eigentlich sollten Sie hier anstelle der Transformationen die Fourier-Reihen-Darstellungen verwenden. Der Transformationspfad führt zur Ableitung der bereits vorhandenen asymptotischen Darstellung (es stellt sich heraus, dass dies nur ). Der obige Satz von Plancherel funktioniert auch für Fourier-Reihen mit einer Integrationsdomäne von für das letzte Integral.πJ0(λ) [0,2π]
quelle
Der Schlüssel zur Bewertung von Schwingungsintegralen besteht darin, das Integral am richtigen Punkt abzuschneiden. In diesem Beispiel müssen Sie die Obergrenze des Formulars auswählen. Bevor ich erkläre, warum es funktionieren sollte, möchte ich zunächst zeigen, dass es tatsächlich gute Ergebnisse liefert.πN+π2
Asymptotika
Es ist leicht zu erraten, dass asymptotische Reihen die Form Um numerisch zu überprüfen, ob ist, reicht es aus, den Unterschied zwischen einem integralen und einem führenden asymptotischen Ausdruck zu zeichnen.I(λ)∼2πλ−−−√[cos(λ−π4)+c1sin(λ−π4)λ+c2cos(λ−π4)λ2+c3sin(λ−π4)λ3+…] c1=18
Als Ausgabe erhalten Sie einen schönen Sinus, der mit dem oben abgeleiteten übereinstimmt.
Wenn Sie die folgenden Koeffizienten finden möchten, müssen Sie bei Bedarf einen etwas komplexeren Code verwenden. Die Idee des folgenden Codes besteht darin, mehrere hoch liegende obere Grenzwerte zu verwenden und deren Ergebnisse zu "mitteln".
Das ergibt die folgende Antwort.c2=−9128,c3=−751024,c4=367532768,…
Erläuterung
Einfaches Beispiel
Zur Veranschaulichung werde ich ein einfacheres Beispiel für das Sinusintegral Lassen Sie mich vorstellen, dass ich am Wert interessiert bin , aber ich weiß es nicht.S(x)=∫x0sin(y)ydy. S(∞)=π2
Sie sehen, dass um seinen Grenzwert schwingt, ähnlich wie Teilsummen des Wechsels in Vorzeichenreihen mit dem oberen Grenzwert schwingen. Wenn Sie eine solche Summe schätzen möchten, sollten Sie gemäß der Beschleunigungsmethode der Euler-Reihe Oder in Bezug auf die Sinus-Integral-Funktion sollten Sie sie bis zum Punkt zwischen maximaler und minimaler Schwingung integrieren. Wie aus der Darstellung klar ersichtlich ist, sind solche Punkte ungefähr gegeben durch für große Argumentwerte. Allgemeiner ist ein solcher Punkt derjenige, an demtritt ein.S(x) SN=∑n=1N(−1)nn. S≈SN+12(−1)N+1N+1. S(x)≈∫πN+π20sinxxdx max|S′(x)|
Ihr Problem
Wenn Sie aus Konstantins und Jaroslawiens Kurs auf das Integral zurückkommen, können Sie sehen, dass es sich genauso verhält wie der Sinus - Integral als Funktion der Obergrenze. Das heißt, Sie müssen nur die Werte berechnen. mit . Unten ist die Darstellung mehrerer solcher Werte mit .Ix0(λ)=2∫x00cos(λcos(x))sinc(x)dx x0=πN+π2 λ=12π
Hier sehen Sie das Ergebnis einer anderen Beschleunigungsmethode. Ich ordne Teilsummen folgendermaßen neu an: und eine neue Sequenz die viel schneller konvergiert. Dieser Trick ist auch nützlich, wenn Sie Integrale mit hoher Präzision bewerten möchten.S′N=12(SN+SN+1) S′N
quelle
Oouras Methode für Fourier-Sinus-Integrale funktioniert hier, siehe:
Ooura, Takuya und Masatake Mori, Eine robuste Doppelexponentialformel für Integrale vom Fourier-Typ. Journal of Computational and Applied Mathematics 112.1-2 (1999): 229-241.
Ich habe eine Implementierung dieses Algorithmus geschrieben, aber nie die Arbeit investiert, um ihn schnell zu machen (z. B. durch Zwischenspeichern von Knoten / Gewichten), aber trotzdem erhalte ich konsistente Ergebnisse bei allem, was über die Float-Präzision hinausgeht:
Hier ist der Code:
Sie können den Unterschied zwischen der Quadratur und der Asymptotik nicht wirklich erkennen, da sie direkt übereinander liegen, außer als :λ→0
quelle