Aller au contenu principal

Intégrales impropres et intégration numérique

Une intégrale impropre utilise une limite à l’infini ou à une singularité non bornée. Une fonction bornée avec un nombre fini de sauts peut avoir une intégrale de Riemann ordinaire : une discontinuité ne suffit pas à rendre l’intégrale impropre. Chaque intégrale tronquée doit exister, et chaque limite requise doit être finie pour avoir convergence. Voir le cours de Paul Dawkins.

Le critère des puissances à l’infini suppose a>0a>0. Près de zéro, le critère change : 01xpdx\int_0^1x^{-p}\,dx converge exactement pour p<1p<1. Pour p1p\ne1, intégrer en x1p/(1p)x^{1-p}/(1-p) puis prendre la limite à l’extrémité concernée ; pour p=1p=1, utiliser lnx\ln x. Ainsi,

1x2dx=limR(11/R)=1,01x1/2dx=limε0+(22ε)=2.\int_1^\infty x^{-2}\,dx=\lim_{R\to\infty}(1-1/R)=1, \qquad \int_0^1x^{-1/2}\,dx=\lim_{\varepsilon\to0^+}(2-2\sqrt\varepsilon)=2.

Mais 01x2dx\int_0^1x^{-2}\,dx diverge. Autre exemple : 01/(1+x2)1/x20\le1/(1+x^2)\le1/x^2 pour x1x\ge1, donc la première queue converge par comparaison. Les fonctions comparées doivent être intégrables sur les intervalles tronqués finis.

Ne pas annuler des infinis de part et d’autre d’une singularité. Pour 1/x1/x sur [1,1][-1,1], les intégrales gauche et droite divergent. Des coupures symétriques donnent zéro, mais c’est une valeur principale de Cauchy, non une intégrale impropre convergente.

Intégrales impropres

Les intégrales impropres sont des intégrales ayant soit des bornes infinies, soit des singularités non bornées. Elles permettent d'étendre le concept d'intégration au-delà des bornes traditionnelles. Voici comment elles sont définies et évaluées :

Bornes infinies

  • Intégrale de a à l'infini :

    af(x)dx=limtatf(x)dx\int_{a}^{\infty} f(x) \, dx = \lim_{{t \to \infty}} \int_{a}^{t} f(x) \, dx

  • Intégrale de moins l'infini à b :

    bf(x)dx=limttbf(x)dx\int_{-\infty}^{b} f(x) \, dx = \lim_{{t \to -\infty}} \int_{t}^{b} f(x) \, dx

  • Intégrale de moins l'infini à l'infini :

    f(x)dx=cf(x)dx+cf(x)dx(si les deux inteˊgrales convergent)\int_{-\infty}^{\infty} f(x) \, dx = \int_{-\infty}^{c} f(x) \, dx + \int_{c}^{\infty} f(x) \, dx \quad \text{(si les deux intégrales convergent)}

Intégrande discontinu

  • Discontinuité en a :

    abf(x)dx=limta+tbf(x)dx\int_{a}^{b} f(x) \, dx = \lim_{{t \to a^{+}}} \int_{t}^{b} f(x) \, dx

  • Discontinuité en b :

    abf(x)dx=limtbatf(x)dx\int_{a}^{b} f(x) \, dx = \lim_{{t \to b^{-}}} \int_{a}^{t} f(x) \, dx

  • Discontinuité dans l'intervalle (a < c < b) :

    abf(x)dx=acf(x)dx+cbf(x)dx(si les deux convergent)\int_{a}^{b} f(x) \, dx = \int_{a}^{c} f(x) \, dx + \int_{c}^{b} f(x) \, dx \quad \text{(si les deux convergent)}

Test de comparaison pour les intégrales impropres

Pour les fonctions non négatives sur [a,)[a,\infty) :

  • Si 0f(x)g(x)0 \leq f(x) \leq g(x) et ag(x)dx\int_a^\infty g(x)\,dx converge, alors af(x)dx\int_a^\infty f(x)\,dx converge également.
  • Si 0g(x)f(x)0 \leq g(x) \leq f(x) et ag(x)dx\int_a^\infty g(x)\,dx diverge, alors af(x)dx\int_a^\infty f(x)\,dx diverge également.

Fait utile

Pour p>0p > 0, l'intégrale a1xpdx\int_{a}^{\infty} \frac{1}{x^p} \, dx converge si p>1p > 1 et diverge pour p1p \leq 1.

Méthodes d'intégration numérique

Les méthodes d'intégration numérique sont utilisées pour approcher la valeur d'une intégrale définie lorsqu'il est difficile ou impossible de la calculer analytiquement. Les règles d'intégration numérique usuelles sont les suivantes :

Règle du point milieu

La règle du point milieu estime l'intégrale d'une fonction en sommant la valeur de la fonction au milieu de chaque intervalle, multipliée par la largeur des intervalles.

Pour nn sous-intervalles, l'approximation est :

abf(x)dxΔx[f(x1)+f(x2)++f(xn)]\int_{a}^{b} f(x) dx \approx \Delta x \left[ f\left(x_1^*\right) + f\left(x_2^*\right) + \ldots + f\left(x_n^*\right) \right]

Δx=ban\Delta x = \frac{b - a}{n} et xix_i^* est le milieu du ii-ème sous-intervalle.

Règle des trapèzes

La règle des trapèzes calcule l'intégrale en faisant la moyenne des valeurs de la fonction aux extrémités de chaque intervalle, estimant efficacement l'aire sous la courbe à l'aide de trapèzes.

La formule est :

abf(x)dxΔx2[f(x0)+2f(x1)+2f(x2)++2f(xn1)+f(xn)]\int_{a}^{b} f(x) dx \approx \frac{\Delta x}{2} \left[ f(x_0) + 2f(x_1) + 2f(x_2) + \ldots + 2f(x_{n-1}) + f(x_n) \right]

Règle de Simpson

La règle de Simpson utilise un polynôme quadratique passant par trois points consécutifs pour chaque paire de sous-intervalles ; son ordre de convergence est supérieur pour les fonctions suffisamment régulières. Elle nécessite que le nombre de sous-intervalles nn soit pair.

L'approximation donnée par la règle de Simpson est :

abf(x)dxΔx3[f(x0)+4f(x1)+2f(x2)++4f(xn1)+f(xn)]\int_{a}^{b} f(x) dx \approx \frac{\Delta x}{3} \left[ f(x_0) + 4f(x_1) + 2f(x_2) + \ldots + 4f(x_{n-1}) + f(x_n) \right]

Utilisation pratique

Ces règles sont particulièrement utiles en informatique pour résoudre des problèmes qui nécessitent des solutions numériques, comme dans les simulations, les problèmes d'optimisation et les domaines où la fonction ne peut pas être intégrée symboliquement.

Implémentation

Voici des fonctions Python qui implémentent chacune de ces règles :

import numpy as np

def midpoint_rule(f, a, b, n):
if isinstance(n, bool) or not isinstance(n, int) or n <= 0:
raise ValueError("n must be a positive integer")
dx = (b - a) / n
x_mid = np.linspace(a + dx/2, b - dx/2, n)
return np.sum(f(x_mid)) * dx

def trapezoid_rule(f, a, b, n):
if isinstance(n, bool) or not isinstance(n, int) or n <= 0:
raise ValueError("n must be a positive integer")
dx = (b - a) / n
x = np.linspace(a, b, n + 1)
return dx/2 * np.sum(f(x[:-1]) + f(x[1:]))

def simpsons_rule(f, a, b, n):
if isinstance(n, bool) or not isinstance(n, int) or n <= 0:
raise ValueError("n must be a positive integer")
if n % 2 == 1:
raise ValueError("n must be even for Simpson's Rule")
dx = (b - a) / n
x = np.linspace(a, b, n + 1)
y = f(x)
return dx/3 * np.sum(y[0:-1:2] + 4*y[1::2] + y[2::2])

Notes :

  • f est la fonction intégrande.
  • a et b sont les bornes d'intégration.
  • n est le nombre de sous-intervalles.
  • dx est la largeur de chaque sous-intervalle.
  • Pour simpsons_rule, un nombre pair de sous-intervalles est nécessaire.

Bornes d’erreur et vérification reproductible

Pour a<ba<b, poser I=abf(x)dxI=\int_a^b f(x)\,dx. Les bornes d’erreur des règles composites sont

IMnK2(ba)324n2,ITnK2(ba)312n2,ISnK4(ba)5180n4.|I-M_n|\le\frac{K_2(b-a)^3}{24n^2},\qquad |I-T_n|\le\frac{K_2(b-a)^3}{12n^2},\qquad |I-S_n|\le\frac{K_4(b-a)^5}{180n^4}.

Les deux premières exigent une dérivée seconde continue, bornée en valeur absolue par K2K_2 ; Simpson exige une dérivée quatrième continue bornée par K4K_4 et un nn pair. Ces bornes concernent la discrétisation, non l’arrondi flottant. Diviser le pas par deux divise les bornes par 4 ou 16. Simpson est exact pour les polynômes cubiques en arithmétique exacte, mais n’est pas toujours plus précis pour une fonction peu régulière.

Pour f(x)=x2f(x)=x^2 sur [0,1][0,1] avec n=2n=2, on obtient M2=5/16M_2=5/16, T2=3/8T_2=3/8, S2=1/3S_2=1/3, tandis que I=1/3I=1/3. Les erreurs absolues sont 1/481/48, 1/241/24 et zéro, conformément aux bornes avec K2=2K_2=2, K4=0K_4=0. Pour garantir ici une erreur des trapèzes au plus égale à 10410^{-4}, choisir n1/(6104)=41n\ge\lceil\sqrt{1/(6\cdot10^{-4})}\rceil=41.

L’implémentation exige NumPy installé, des bornes finies et une fonction acceptant un tableau et renvoyant un tableau de même forme. Pour une constante, utiliser lambda x: np.ones_like(x), non lambda x: 1. Ce sont des routines pédagogiques à grille fixe, non des solveurs adaptatifs d’intégrales singulières.

f = lambda x: x**2
assert np.isclose(midpoint_rule(f, 0, 1, 2), 5/16)
assert np.isclose(trapezoid_rule(f, 0, 1, 2), 3/8)
assert np.isclose(simpsons_rule(f, 0, 1, 2), 1/3)

Comparer n,2n,4nn,2n,4n permet d’observer la convergence, mais leur accord ne certifie pas l’erreur : une grille peut manquer un pic étroit. Ne pas évaluer une extrémité singulière avec les trapèzes ou Simpson ; découper ou transformer d’abord l’intégrale. Tronquer un intervalle infini ajoute une erreur de queue distincte : remplacer 1x2dx\int_1^\infty x^{-2}\,dx par 1Rx2dx\int_1^R x^{-2}\,dx perd exactement 1/R1/R, quelle que soit la finesse de la grille.

Explorer les liensOuvrir le réseau