Il existe plusieurs familles de méthodes pour la quadrature numérique. Si j'ai une classe spécifique d'intégrandes, comment choisir la méthode idéale?
Quelles sont les questions pertinentes à poser à la fois sur l'intégrande (par exemple, est-elle fluide? A-t-elle des singularités?) Et sur le problème de calcul (par exemple, tolérance aux erreurs, budget de calcul)?
Comment les réponses à ces questions excluent-elles ou promeuvent-elles les différentes familles de méthodes? Pour plus de simplicité, considérons uniquement les intégrales simples ou de faible dimension.
Par exemple, l'article de Wikipedia sur QUADPACK déclare que la QAGS
routine assez générale " utilise une quadrature adaptative globale basée sur une quadrature de Gauss-Kronrod à 21 points dans chaque sous-intervalle, avec une accélération par l'algorithme epsilon de Peter Wynn "
Comment cette décision a-t-elle été prise? Comment peut-on prendre des décisions similaires lorsque l'on en sait plus?
la source
Réponses:
Tout d'abord, vous devez vous poser la question si vous avez besoin d'une routine de quadrature complète qui devrait prendre un intégrant comme une boîte noire. Si c'est le cas, vous ne pouvez qu'opter pour la quadrature adaptative où vous espérez que l'adaptabilité va attraper des points "difficiles" dans l'intégrande. Et c'est l'une des raisons pour lesquelles Piessens et al. a choisi une règle de Gauss-Kronrod (ce type de règle permet de calculer une approximation de l'intégrale et une estimation de l'erreur d'approximation en utilisant les mêmes évaluations de fonction) d'ordre modeste appliqué dans un schéma adaptatif (avec subdivision de l'intervalle avec le erreur la plus élevée) jusqu'à ce que les tolérances requises soient atteintes. L'algorithme Wynn-epsilon permet de fournir une accélération de convergence et aide généralement dans les cas où il y a des singularités de point final.
Mais si vous connaissez la «forme» ou le «type» de votre intégrande, vous pouvez adapter votre méthode à ce dont vous avez besoin afin que le coût de calcul soit limité pour la précision dont vous avez besoin. Donc, ce que vous devez regarder:
Integrand:
Lorsqu'il s'agit de singularités, on préfère généralement qu'elles soient au point final des intégrales (voir IMT, double exponentielle). Si ce n'est pas le cas, on peut recourir à l'intégration Clenshaw-Curtis où vous capturez les singularités dans la fonction de poids. On définit généralement des formes de singularités comme et établit des expressions pour les poids de la quadrature en fonction de et . c α|x−c|−α c α
Intervalle d'intégration: fini, semi-infini ou infini. En cas d'intervalles semi-infinis ou infinis, peuvent-ils être réduits à un intervalle fini par une transformation variable? Sinon, les polynômes de Laguerre ou Hermite peuvent être utilisés dans l'approche de quadrature gaussienne.
Je n'ai pas de référence pour un véritable organigramme pour la quadrature en général, mais le livre QUADPACK (pas les pages de manuel Netlib, mais le vrai livre) a un organigramme pour sélectionner la routine appropriée en fonction de l'intégrale que vous souhaitez évaluer. Le livre décrit également les choix d'algorithmes effectués par Piessens et al. pour les différentes routines.
Pour les intégrales de faible dimension, on opte généralement pour la quadrature unidimensionnelle imbriquée. Dans le cas particulier des intégrales bidimensionnelles (cubature), il existe des règles d'intégration pour différents cas de domaines d'intégration. R. Cools a rassemblé un grand nombre de règles dans son Encyclopedia of cubature formules et est le principal auteur du paquet Cubpack . Pour les intégrales de grande dimension, on a généralement recours aux méthodes de type Monte Carlo. Cependant, il faut généralement un très grand nombre d'évaluations d'intégrandes pour obtenir une précision raisonnable. Pour les intégrales de faible dimension, les méthodes d'approximation comme quadrature / cubature / quadrature imbriquée surpassent souvent ces méthodes stochastiques.
Références générales intéressantes:
la source