Ich muss das folgende Integral berechnen: Wobei eine Matrix ist (eine Teilchenkinetik und potentielle Energie ausgedrückt in einer Basis), ist eine Matrix, die von abhängt (ein Teilchen body Green's function) und das Konturintegral ist ein linker Halbkreis. Der Integrand hat Pole auf der negativen Realachse und ist teuer zu bewerten. Wie lässt sich ein solches Integral am effektivsten berechnen?
Hier ist meine bisherige Forschung:
1) Ich verwende die Gaußsche Integration, mein Integrationspfad ist ein Rechteck. Ich habe die linke und rechte Seite (dh die Breite) fixiert und mit der Höhe (über und unter der realen Achse) gespielt, sodass ich für die angegebene Integrationsreihenfolge die höchste Genauigkeit erhalte. Wenn zum Beispiel für Bestellung 20 die Höhe zu groß ist, sinkt die Genauigkeit (offensichtlich), aber wenn sie zu klein ist, sinkt sie auch (meine Theorie ist, dass sie mit zunehmender Höhe immer mehr Punkte um die Pole benötigt) 0). Ich habe mich mit der optimalen Körpergröße von 0,5 für meine Funktion niedergelassen.
2) Dann setze ich die rechte Seite des Rechtecks auf E0, typischerweise E0 = 0, aber es könnte E0 = -0,2 oder ähnliches sein.
3) Ich beginne, die linke Seite des Rechtecks nach links zu bewegen, und führe für jeden Schritt eine Konvergenz der Integrationsreihenfolge durch, um sicherzustellen, dass mein Integral für jedes Rechteck vollständig konvergiert. Durch Erhöhen der Breite erhalte ich schließlich einen konvergierten Wert in der Grenze des unendlichen linken Halbkreises.
Die Berechnung ist sehr langsam und auch für große Breiten nicht sehr genau. Eine Verbesserung besteht darin, die lange Breite einfach in "Elemente" zu unterteilen und die Gaußsche Integration für jedes Element zu verwenden (genau wie in FE).
Eine andere Möglichkeit wäre, einen kleinen Kreis um jeden Pol zu integrieren und ihn zusammenzufassen. Probleme:
a) Wie werden die Pole der Funktion numerisch ermittelt ? Es sollte robust sein. Ich weiß nur, dass sie auf der negativen Realachse liegen. Für einige von ihnen (aber nicht für alle) kenne ich auch eine ziemlich gute erste Vermutung. Gibt es eine Methode, die für jede analytische Funktion funktioniert ? Oder hängt es von der tatsächlichen Form von ?f ( E ) f ( E )
b) Wenn wir die Pole kennen, welches numerische Schema eignet sich am besten, um den kleinen Kreis um ihn herum zu integrieren? Soll ich die Gaußsche Integration für einen Kreis verwenden? Oder sollte ich eine gleichmäßige Verteilung der Punkte verwenden?
Eine andere Möglichkeit könnte sein, dass es, sobald ich die Pole dank a) kenne, eine semi-analytische Möglichkeit gibt, die Residuen zu erhalten, ohne dass die komplexe Integration erforderlich ist. Aber jetzt optimiere ich nur die Konturintegration.