J'ai besoin de calculer l'intégrale suivante: Où est une matrice (cinétique d'une seule particule et énergie potentielle exprimée en base), est une matrice qui dépend de (une seule particule plusieurs- la fonction du corps vert) et l'intégrale du contour est un demi-cercle gauche. L'intégrande a des pôles sur l'axe réel négatif et son évaluation est coûteuse. Quelle est la façon la plus efficace de calculer une telle intégrale?
Voici mes recherches jusqu'à présent:
1) J'utilise l'intégration gaussienne, mon chemin d'intégration est un rectangle. J'ai fixé le côté gauche et droit (c'est-à-dire la largeur) et joué avec la hauteur (au-dessus et en dessous de l'axe réel) de telle sorte que pour l'ordre d'intégration donné, j'obtiens la plus grande précision. Par exemple pour l'ordre 20, si la hauteur est trop grande, la précision diminue (évidemment), mais si elle est trop petite, elle diminue également (ma théorie est qu'il faut de plus en plus de points autour des pôles à mesure que la hauteur augmente 0). Je me suis installé avec une hauteur optimale de 0,5 pour ma fonction.
2) Ensuite, j'ai défini le côté droit du rectangle à E0, généralement E0 = 0, mais cela pourrait être E0 = -0,2 ou quelque chose de similaire.
3) Je commence à déplacer le côté gauche du rectangle vers la gauche et pour chaque étape, je fais la convergence de l'ordre d'intégration pour m'assurer que mon intégrale est complètement convergée pour chaque rectangle. En augmentant la largeur, j'obtiens finalement une valeur convergente dans la limite du demi-cercle gauche infini.
Le calcul est vraiment lent et pas très précis pour les grandes largeurs. Une amélioration consiste à simplement partitionner la grande largeur en "éléments" et à utiliser l'intégration gaussienne sur chaque élément (comme dans FE).
Une autre option serait d'intégrer un petit cercle autour de chaque pôle et de le résumer. Problèmes:
a) Comment trouver numériquement les pôles de la fonction ? Il doit être robuste. La seule chose que je sais, c'est qu'ils sont sur l'axe réel négatif. Pour certains d'entre eux (mais pas tous), je connais également une assez bonne estimation initiale. Existe-t-il une méthode qui fonctionne pour toute fonction analytique ? Ou cela dépend-il de la forme réelle de ?f ( E ) f ( E )
b) Une fois que nous connaissons les pôles, quel schéma numérique est le meilleur pour intégrer le petit cercle autour de lui? Dois-je utiliser l'intégration gaussienne sur un cercle? Ou dois-je utiliser une distribution uniforme des points?
Une autre option pourrait être qu'une fois que je connais les pôles grâce à a), il pourrait y avoir un moyen semi-analytique d'obtenir les résidus sans avoir besoin de l'intégration complexe. Mais pour l'instant, je serais heureux d'optimiser simplement l'intégration des contours.