Quel est l'état de l'art du calcul intégral hautement oscillatoire?

23

Quel est l'état de l'art dans l'approximation d'intégrales hautement oscillatoires à la fois dans une dimension et dans des dimensions supérieures avec une précision arbitraire?

Quadrescence
la source
C'est mauvais .. pas de méthode générale pour l'instant .. Juste de nombreuses tentatives mais attendez-vous à ce qu'elles échouent de temps en temps ... Certains articles affirment qu'ils ont le jackpot, mais quand cela semble trop beau pour être vrai ... c'est le cas.
@Gigi: Bienvenue sur SciComp! Votre commentaire est un peu vague; pourriez-vous expliquer pourquoi vous pensez que l'état de l'art en matière d'approximation d'intégrales hautement oscillantes est mauvais?
Geoff Oxberry
Eh bien, il est vrai qu'il n'y a pas encore de "solution miracle" dans le calcul des intégrales hautement oscillantes, mais nous nous contentons de ce que nous avons, et nous sommes toujours reconnaissants si elles fonctionnent.
JM

Réponses:

19

Je ne connais pas très bien ce qui est fait pour les cubatures (intégration multidimensionnelle), je vais donc me limiter aux formules en quadrature.

Il existe un certain nombre de méthodes efficaces pour la quadrature des intégrales oscillantes. Il existe des méthodes adaptées aux intégrales oscillatoires finies et des méthodes aux intégrales oscillatoires infinies.

Pour les intégrales oscillatoires infinies, deux des méthodes les plus efficaces utilisées sont la méthode de Longman et la quadrature exponentielle double modifiée due à Ooura et Mori. (Mais voir aussi ces deux articles d'Arieh Iserles.)

La méthode de Longman repose sur la conversion de l'intégrale oscillatoire en une série alternative en divisant l'intervalle d'intégration, puis en additionnant la série alternative avec une méthode de transformation de séquence. Par exemple, lors de l'intégration d'une intégrale oscillatoire de la forme

0f(t)sintdt

on le convertit en somme alternée

k=0kπ(k+1)πf(t)sintdt

Les termes de cette somme alternée sont calculés avec une méthode de quadrature comme le schéma de Romberg ou la quadrature gaussienne. La méthode originale de Longman utilisait la transformation Euler , mais les implémentations modernes remplacent Euler par des méthodes d'accélération de convergence plus puissantes comme la transformation Shanks ou la transformation Levin .

La méthode de la double quadrature exponentielle , d'autre part, effectue un changement intelligent de variables, puis utilise la règle trapézoïdale pour évaluer numériquement l'intégrale transformée.

Pour les intégrales oscillatoires finies, Piessens (l'un des contributeurs de QUADPACK) et Branders, en deux articles , détaillent une modification de la quadrature de Clenshaw-Curtis (c'est-à-dire la construction d'une expansion polynomiale de Chebyshev de la partie non oscillatoire de l'intégrande). La méthode de Levin , d'autre part, utilise une méthode de collocation pour la quadrature. (On me dit qu'il existe maintenant une version plus pratique de l'ancienne veille, la méthode de Filon, mais je n'en ai aucune expérience.)


Ce sont les méthodes dont je me souviens spontanément; Je suis sûr que j'ai oublié d'autres bonnes méthodes pour les intégrales oscillantes. Je modifierai cette réponse plus tard si je m'en souviens.

JM
la source
11

sin(t)exp(it)J0(t)exp(ig(t))w(t)

Au début, les méthodes d'intégration oscillatoire se concentraient sur des oscillateurs spécifiques. Comme dit JM , les méthodes les plus importantes incluent la méthode de Filon et la méthode de Clenshaw-Curtis (ces deux sont étroitement liées) pour les intégrales à plage finie, et les méthodes basées sur l'extrapolation en série et la méthode à double exponentielle d'Ooura et Mori pour les intégrales à plage infinie.

Plus récemment, certaines méthodes générales ont été trouvées. Deux exemples:

  1. exp(ig(t))w(t)

  2. Méthode de Huybrechs et Vandewalle basée sur la poursuite analytique le long d'un chemin complexe où l'intégrande est non oscillatoire ( Huybrechs et Vandewalle 2006 ).

Aucune distinction n'est nécessaire entre les méthodes pour les intégrales à plage finie et infinie pour les méthodes plus générales, car une transformation de compactification peut être appliquée à une intégrale à plage infinie, conduisant à une intégrale oscillatoire à plage finie qui peut encore être traitée avec la méthode générale, bien qu'avec un oscillateur différent.

La méthode de Levin peut être étendue à plusieurs dimensions en itérant sur les dimensions et d'autres façons, mais pour autant que je sache, toutes les méthodes décrites jusqu'à présent ont des points d'échantillonnage qui sont un produit extérieur des points d'échantillonnage unidimensionnels ou d'une autre chose qui croît de façon exponentielle avec la dimension, donc il devient rapidement incontrôlable. Je ne connais pas de méthodes plus efficaces pour les dimensions élevées; si l'on pouvait trouver cet échantillon sur une grille clairsemée de grandes dimensions, il serait utile dans les applications.

La création de routines automatiques pour les méthodes plus générales peut être difficile dans la plupart des langages de programmation (C, Python, Fortran, etc.) dans lesquels vous vous attendez normalement à programmer votre intégrande en tant que fonction / routine et à la transmettre à la routine d'intégrateur, car plus les méthodes générales doivent connaître la structure de l'intégrande (quelles parties semblent oscillantes, quel type d'oscillateur, etc.) et ne peuvent pas le traiter comme une "boîte noire".

Andrew Moylan
la source
Le papier Huybrechs / Vandewalle est quelque chose que je n'ai pas déjà vu, donc +1 pour ça. Il semble être similaire à la recherche effectuée par Temme et d'autres pour évaluer les fonctions spéciales, sauf que les extensions asymptotiques ne sont pas impliquées dans Huybrechs / Vandewalle. De plus, je pense qu'une approche similaire a été faite pour le premier problème du défi à cent chiffres de Trefethen par quelques solveurs.
JM
2

Vous pouvez également consulter le travail de Marnix Van Daele et de ses co-auteurs. Voir par exemple ceci et cela .

GertVdE
la source