Ich möchte Folgendes numerisch integrieren:
wo
und a
, b
und β
sind Konstanten, die zur Vereinfachung alle auf 1
gesetzt werden können.
Weder Matlab, das dblquad
verwendet, noch Mathematica, das NIntegrate
verwendet, kann mit der Singularität umgehen, die durch den Nenner erzeugt wird. Da es sich um ein Doppelintegral handelt, kann ich nicht angeben, wo die Singularität in Mathematica liegt.
Ich bin mir sicher, dass es nicht unendlich ist, da dieses Integral in der Störungstheorie und ohne das
begründet ist
wurde vorher gefunden (nur nicht von mir, also weiß ich nicht, wie es gemacht wird).
Irgendwelche Ideen?
(1) Es wäre hilfreich, wenn Sie den expliziten Code angeben, den Sie verwenden. Auf diese Weise müssen andere (lesen: mich) nicht separat codieren.
(2) Wenn das Integral existiert, muss es Null sein. Dies liegt daran, dass Sie den Faktor n (y) -n (x) negieren, wenn Sie x und y austauschen, aber den Rest gleich halten. Die Symmetrie des Integrationsbereichs bedeutet jedoch, dass Sie nur Ihre Variablen umbenennen müssen. Daher muss sie gleich bleiben.
(3) Hier ist ein Code, der zeigt, dass er null ist, zumindest wenn wir den singulären Teil und ein kleines Band um ihn herum auf Null setzen.
%Vor%Wir fügen 1 zum Integranden hinzu, um Genauigkeitsprobleme mit Ergebnissen nahe Null zu vermeiden.
%Vor%Ich bekomme das Ergebnis unten.
%Vor%Dies ist ein guter Hinweis darauf, dass das unverfälschte Ergebnis Null ist.
(4) Das Ersetzen von cx für cos (x) und cy für cos (y) und das Entfernen von Fremdfaktoren für Zwecke der Konvergenzbewertung ergibt den folgenden Ausdruck.
%Vor%Eine Reihenentwicklung in cy, zentriert um cx, zeigt einen Pol der Ordnung 1. Es scheint also ein singuläres Integral zu sein.
Daniel Lichtblau
Zusätzlich zu Daniels Beobachtung, einen ungeraden Integranden über einen symmetrischen Bereich zu integrieren (so dass die Symmetrie anzeigt, dass das Ergebnis Null sein sollte), können Sie dies auch tun, um seine Konvergenz besser zu verstehen Stift und Papier sollten es leichter machen zu lesen, es dauerte viel länger zu schreiben als zu tun, es ist nicht so kompliziert):
Erstens, epsilon(x)-\epsilon(y)\propto\cos(y)-\cos(x)=2\sin(\xi_+)\sin(\xi_-)
, wo ich \xi_\pm=(x\pm y)/2
definiert habe (also habe ich die Achsen um pi / 4 gedreht). Die Integrationsregion ist dann \xi_+
zwischen \pi/\sqrt{2}
und -\pi/\sqrt{2}
und \xi_-
zwischen \pm(\pi/\sqrt{2}-\xi_-)
. Dann nimmt der Integrand die Form \frac{1}{\sin^2(\xi_-)\sin^2(\xi_+)}
mal Terme ohne Divergenzen an. Offensichtlich gibt es Pole zweiter Ordnung, und dies ist nicht konvergent wie dargestellt.
Vielleicht könntest du den Personen mailen, die eine Antwort mit dem cos-Begriff erhalten haben und fragen, was genau sie getan haben. Vielleicht gibt es ein physikalisches Regularisierungsverfahren. Oder hätten Sie mehr Informationen über den physikalischen Ursprung dieser Störung geben können (eine Art Störungstheorie zweiter Ordnung für irgendeine Art von bosonischem System?), Wäre das hier nicht außer Thema gewesen ...
Vielleicht fehlt mir hier etwas, aber der Integrand f [x, y] = Cos ^ 2 [(x + y) / 2] * (n [x] -n [y]) / (eps [x] -eps [y]) mit n [x] = 1 / (1 + Exp [Beta * eps [x]]) und eps [x] = 2 (ab * Cos [x]) ist tatsächlich eine symmetrische Funktion in x und y: f [x, -y] = f [- x, y] = f [x, y]. Daher ist sein Integral über eine beliebige Domäne [-u, u] x [-v, v] gleich Null. Hier scheint keine numerische Integration notwendig zu sein. Das Ergebnis ist nur Null.
Tags und Links wolfram-mathematica matlab numerical-integration