Vous êtes sur la page 1sur 78

Analyse Numérique Non Linéaire

2012–2013
Table des matières

1 Résolution numérique des équations non linéaires 1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 La méthode des dichotomies . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 La méthode de Regula-Falsi ou de la fausse position . . . . . . . . . . . . . 3
1.4 La méthode des approximations successives . . . . . . . . . . . . . . . . . . 8
1.5 La méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 La méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 Résolution d’un système non linéaire . . . . . . . . . . . . . . . . . . . . . 16
1.7.1 Méthode des approximations successives . . . . . . . . . . . . . . . 16
1.7.2 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Interpolation polynômiale 21
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Interpolation polynômiale : forme de Lagrange . . . . . . . . . . . . . . . . 21
2.3 Forme de Newton : différences divisées . . . . . . . . . . . . . . . . . . . . 24
2.4 Interpolation en des points équidistants : différences finies . . . . . . . . . . 29
2.5 Interpolation d’Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6 Erreur d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Intégration numérique 37
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Formules de Newton-Cotes fermées . . . . . . . . . . . . . . . . . . . . . . 40
3.2.1 Formules simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.2 Etude de l’erreur dans les formules de Newton-Cotes . . . . . . . . 44
3.3 Formules de Newton-Cotes composées . . . . . . . . . . . . . . . . . . . . . 49
3.4 Formules de quadrature de Gauss . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1 Polynômes orthogonaux . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Résolution numérique des équations différentielles ordinaires 61


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.1 Principe des méthodes (ou schémas) numériques . . . . . . . . . . . 63
4.1.2 La méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Etude générale des méthodes à un pas . . . . . . . . . . . . . . . . . . . . 65

i
TABLE DES MATIÈRES

4.3 Exemples de schémas à un pas . . . . . . . . . . . . . . . . . . . . . . . . . 73


4.3.1 Méthodes du développement à un pas . . . . . . . . . . . . . . . . . 73
4.3.2 Méthodes de Runge et Kutta (RK) . . . . . . . . . . . . . . . . . . 74

ii
Chapitre 1

Résolution numérique des équations


non linéaires

1.1 Introduction
La recherche des zéros d’une fonction donnée f réelle ou complexe est un problème
classique qui a attiré l’attention des mathématiciens depuis plusieurs siècles. En général,
il n’existe pas de formules donnant la valeur exacte de ces zéros, ou bien ces formules sont
trop compliquées.
On a alors recours à des méthodes numériques d’approximation des solutions. Ces
méthodes sont nombreuses et variées et sont généralement itératives : partant d’une
estimation initiale x0 , on construit une suite numérique x1 , x2 , . . . , xn , . . ., où xi est calculé
à partir de xi−1 , qui converge vers une solution α de l’équation f (x) = 0.
Dans ce chapitre, nous étudierons quelques unes de ces méthodes. Nous tacherons,
pour chaque méthode, de :
1. Décrire l’algorithme de construction de la suite (xn ) ;
2. Chercher sous quelles conditions, la suite(xn ) converge vers un zéro α de f , ainsi
que la rapidité de cette convergence.
En liaison avec cette notion de rapidité de la convergence, on donne la définition suivante :

Définition 1.1.1 On dira qu’une méthode itérative est d’ordre au moins p, pour la
recherche d’un zéro α de f , si la suite (xn ) converge vers α et si

|xn+1 − α| = O(|xn − α|p ),

|xn+1 − α|
i.e., reste borné pour n assez grand.
|xn − α|p
|xn+1 − α|
Si lim p = β > 0, on dit que la méthode est d’ordre exactement p. (Dans le cas
n→∞ |xn − α|
où p = 1, β doit être strictement inférieure à 1).

1
Chapitre 1. Résolution numérique des équations non linéaires

1.2 La méthode des dichotomies


Cette méthode dérive du théorème des valeurs intermédiaires :

Théorème 1.2.1 Soit f une fonction définie et continue sur un segment [a, b] de R. Si
f (a) · f (b) < 0, alors il existe α ∈ [a, b] tel que f (α) = 0.

Démonstration: (Dichotomies successives)


(a0 + b0 )
Posons a0 = a, b0 = b et x0 = (x0 est le milieu du segment [a0 , b0 ]).
2
On a nécessairement l’une des trois conditions suivantes :
– f (x0 ) = 0 et alors α = x0 est la solution cherchée ;
– f (a0 ) · f (x0 ) < 0 et on posera alors [a1 , b1 ] = [a0 , x0 ] ;
– f (b0 ) · f (x0 ) < 0 et on posera alors [a1 , b1 ] = [x0 , b0 ].
En réitérant le même raisonnement pour [a1 , b1 ], . . ., etc, on aura :
(an + bn )
– ou bien il existe n ∈ N tel que f (xn ) = 0, avec xn = et alors α = xn est
2
la solution cherchée ;
– ou bien on construit une suite de segments emboités [an , bn ] et une suite (xn ) telle
que pour tout n ∈ N :

[a0 , b0 ] ⊃ [a1 , b1 ] ⊃ [a2 , b2 ] ⊃ · · · ⊃ [an , bn ] ⊃ [an+1 , bn+1 ] ⊃ · · ·

et
(an + bn )
xn = .
2
Pour tout n ∈ N, les suites (an ) et (bn ) vérifient :

(b0 − a0 )
bn − an = ,
2n
et
f (an ) · f (bn ) < 0. (1.1)
Il existe donc α tel que

{α} = ∩n=∞
n=1 [an , bn ] ⊂]a, b[.

On a alors :
lim an = lim bn = lim xn = α.
n→+∞ n→+∞ n→+∞

D’après (1.1) et puisque la fonction f est continue, on aura

lim f (an ) · f (bn ) = lim f (an ) · lim f (bn ) = f (α)2 ≤ 0.


n→+∞ n→+∞ n→+∞

Donc f (α) = 0.

2
1.3 La méthode de Regula-Falsi ou de la fausse position

Remarque 1.2.1 L’intervalle initial [a0 , b0 ], avec la condition f (a0 ) · f (b0 ) < 0, contient
un nombre impair de solutions de l’équation f (x) = 0. Ce nombre diminue d’une itération
à une autre jusqu’à 1.

L’algorithme de cette méthode s’écrit :

Algorithme 1.1
On choisit deux réels a0 et b0 tels que f (a0 ) · f (b0 ) < 0, un réel  > 0 assez petit et
un nombre maximum d’itérations N max.
Pour n = 0, . . . , N max faire :

(a + bn )
 xn = n

 2 ( (
an+1 = an an+1 = xn

 Si f (an ) · f (xn ) < 0 alors

sinon
 bn+1 = xn bn+1 = bn
Si f (xn ) = 0 ou |xn − an | ≤  on s’arrête.

Dans cet algorithme :


– f désigne une fonction numérique donnée, définie et continue sur le segment [a0 , b0 ],
–  désigne l’erreur absolue tolérée sur la valeur approchée de la solution xn de
l’équation f (x) = 0.

Remarque 1.2.2 D’après la démonstration du Théorème 1.2.1, la méthode des dicho-


tomies est toujours convergente. Mais cette convergence est en général assez lente. En
effet, pour être sûr d’obtenir une approximation d’une solution α avec une erreur absolue
inférieure à , le nombre d’itérations nécessaires n vérifie :

b0 − a0
(n + 1) log 2 ≥ log ,

puisque
bn − an 1
|xn − α| ≤ = n (b0 − a0 ).
2 2
−5
En particulier, si b0 − a0 = 1 et  = 10 on a n = 5.

1.3 La méthode de Regula-Falsi ou de la fausse posi-


tion
Cette méthode ne diffère de la précédente que par le choix de xn à chaque itération.
Au lieu de prendre le milieu du segment [an , bn ], on choisit l’abscisse du point d’intersection
avec l’axe des abscisses, de la corde joignant les deux points de la courbe de f d’abscisses

3
Chapitre 1. Résolution numérique des équations non linéaires

respectives an et bn . Sachant que l’équation de la droite qui passe par les deux points
(an , f (an )) et (bn , f (bn )) est

(x − an )(f (bn ) − f (an ))


y − f (an ) = ,
bn − an
En prenant y = 0 et x = xn on obtient :
an f (bn ) − bn f (an )
xn = . (1.2)
f (bn ) − f (an )
Alors on a :
(xn − an ) f (an )
= , (1.3)
bn − an f (an ) − f (bn )
ou encore
(xn − an )(f (bn ) − f (an ))
f (an ) + = 0. (1.4)
b n − an
On montre que xn ∈]an , bn [. En effet, comme

f (an ) · f (bn ) < 0, (1.5)

on peut avoir f (an ) < 0 et donc f (bn ) > 0 ou bien f (an ) > 0 et f (bn ) < 0.
Choisissons par exemple le cas où f (an ) < 0 et donc f (bn ) > 0. D’où f (an ) et
f (an )
f (an ) − f (bn ) sont de même signe et donc ≥ 0 et par suite, puisqe
f (an ) − f (bn )
bn − an ≥ 0, de (1.3) on tire que xn ≥ an . De même f (an ) ≤ f (an ) − f (bn ) et donc
f (an ) xn− an
0≤ ≤ 1 et de (1.3) on tire que 0 ≤ ≤ 1 et donc xn ≤ bn .
f (an ) − f (bn ) bn − an
L’algorithme de la méthode de Regula-Falsi s’écrit alors :

Algorithme 1.2
On choisit deux réels a0 et b0 tels que f (a0 ) · f (b0 ) < 0, un réel  > 0 assez petit et
un nombre maximum d’itérations N max.

Pour n = 0, . . . , N max faire :
 xn = an f (bn ) − bn f (an )


 f (bn ) − f (an ) ( (
 an+1 = an an+1 = xn
 Si f (an ) · f (xn ) < 0 alors sinon

 bn+1 = xn bn+1 = bn
Si f (xn ) = 0 ou |xn − an | ≤  on s’arrête.

Remarque 1.3.1 Dans le but d’étudier la convergence de la méthode, remarquons d’abord


que, d’après la construction des suites (an ), (bn ) et (xn ), on a :

4
1.3 La méthode de Regula-Falsi ou de la fausse position

1. La suite (an ) est croissante et majorée par b0 et la suite (bn ) est décroissante minorée
par a0 et pour tout n ∈ N on a :
a0 ≤ · · · ≤ an ≤ xn ≤ bn ≤ · · · ≤ b0 .
Les suites (an ) et (bn ) sont donc convergentes. Posons A = lim an et B = lim bn .
n→+∞ n→+∞
2. Il existe :
– ou bien une sous-suite de la suite (xn ) et une sous-suite de la suite (an ) qui
coincident.
– ou bien une sous-suite de la suite (xn ) et une sous-suite de la suite (bn ) qui
coincident.
Puisque ∀n ∈ N, xn = an+1 ou bien xn = bn+1 . Ceci entraine que, dans le cas où la
suite (xn ) converge vers L, on a nécessairement L = A ou L = B.
Théorème 1.3.1 Soit f : [a0 , b0 ] −→ R une fonction définie et continue telle que
f (a0 ) · f (b0 ) < 0 et supposons que f admet un zéro unique α dans [a0 , b0 ] (i.e., f (α) = 0).
Alors la suite (xn ) définie dans l’algorithme 1.2 converge vers α.
Démonstration: D’après la remarque 1.2.2, les suites (an ) et (bn ) sont convergentes et
convergent respectivement vers A et B. D’après (1.5) et la continuité de f , on obtient :
f (A) · f (B) ≤ 0. (1.6)
Deux cas peuvent se présenter :
f (A) = f (B) : D’après (1.6) f (A)2 = f (B)2 ≤ 0 et donc f (A) = f (B) = 0. Donc les réels
A, B sont des zéros de la fonction f , et comme par hypothèse la fonction f admet une
seule racine α dans [a0 , b0 ], alors A = B = α. Les suites (an ) et (bn ) sont donc adjacentes
et puisque elles encadrent la suite (xn ) celle-ci converge vers la même limite α.
f (A) 6= f (B) : D’après (1.2) la suite (xn ) converge vers une limite L qui vérifie puisque f
est continue,
Af (B) − Bf (A)
L= . (1.7)
f (B) − f (A)
Or, compte tenu de la remarque 1.2.2, la limite L est égale à B ou à B. Et de l’égalité
(1.7) on tire :
– Si L = A (alors L 6= B) on obtient :
Lf (B) − bf (L)
L= ,
f (B) − f (L)
d’où : −Lf (L) = −bf (L) et comme L 6= b alors f (L) = 0. Donc L est un zéro de
la fonction f et par suite L = α.
– Si L = B (alors L 6= A) on obtient :
af (L) − Lf (a)
L= ,
f (L) − f (a)
d’où Lf (L) = Af (L) et comme L 6= A ; ceci entraine f (L) = 0. Donc L est un zéro
de la fonction f et par suite L = α.

5
Chapitre 1. Résolution numérique des équations non linéaires

Théorème 1.3.2 (Ordre de la méthode de Regula-Falsi)


Soit f : [a0 , b0 ] −→ R une fonction définie et continue telle que f (a0 ) · f (b0 ) < 0 et
supposons que f admet un zéro unique α dans [a0 , b0 ] (i.e., f (α) = 0). Si f est deux fois
00 00
dérivables sur [a0 , b0 ] et est telle que f ≥ 0 (ou bien f ≤ 0) sur ]a0 , b0 [, alors il existe
c ∈ R telle que
|xn+1 − α|
lim = c.
n→+∞ |xn − α|

La méthode de Regula-Falsi est à convergence linéaire (d’ordre 1) dans ce cas.

Pour la démonstration du théorème on aura besoin du :

Lemme 1.3.1 Soit f : [a, b] → R une fonction définie et continue sur [a, b], deux fois
dérivables sur ]a, b[ et soit c ∈ ]a, b[. Alors il existe un réel σ ∈ ]a, b[ tel que :
00
f (σ)
(b − a)(f (c) − f (a)) − (c − a)(f (b) − f (a)) = (c − a)(c − b)(b − a) .
2
Démonstration du lemme 1.3.1 : Soit h une fonction définie sur [a, b] par :

h(x) = (b − a)(f (x) − f (a)) − (x − a)(f (b) − f (a)) − M (x − a)(x − b)(b − a),

où M est un réel choisi tel que h(c) = 0, ce qui donne

(b − a)(f (c) − f (a)) − (c − a)(f (b) − f (a))


M= .
(c − a)(c − b)(b − a)

On a alors : h(a) = h(b) = h(c) = 0 et h est deux fois dérivable sur ]a, b[.
D’après le lemme de Rolle :
– Il existe λ1 ∈]a, c[ tel que h(c) − h(a) = h0 (λ1 )(c − a), d’où h0 (λ1 ) = 0 ;
– Il existe λ2 ∈]c, b[ tel que h(b) − h(c) = h0 (λ2 )(b − c), d’où h0 (λ2 ) = 0 ;
00 00
– Il existe σ ∈]λ1 , λ2 [ tel que h0 (λ2 ) − h0 (λ1 ) = h (σ)(λ2 − λ1 ) d’où h (σ) = 0.
00 00 00
Comme h (x) = (b − a)(f (x) − 2M ) on tire que f (σ) = 2M et donc
00
f (σ)
(b − a)(f (c) − f (a)) − (c − a)(f (b) − f (a)) = (c − a)(c − b)(b − a) .
2

Démonstration du théorème 1.3.2 : Supposons, pour fixer les idées que f (a0 ) < 0 <
00
f (b0 ) et que f ≥ 0 sur ]a0 , b0 [. Comme xn ∈]an , bn [ on peut appliquer le lemme 1.3.1 en
prenant c = xn , a = an et b = bn . Il existe alors σn ∈]an , bn [ tel que :
00
f (σn )
(bn − an )(f (xn ) − f (an )) − (xn − an )(f (bn ) − f (an )) = (xn − an )(xn − bn )(bn − an ) .
2

6
1.3 La méthode de Regula-Falsi ou de la fausse position

Or d’après (1.4) on a

(xn − an )(f (bn ) − f (an ))


f (an ) + = 0,
b n − an

donc on obtient :
00
f (σn )
f (xn ) = (xn − an )(xn − bn ) .
2

On conclut donc que pour tout n dans N, f (xn ) ≤ 0 et comme f (b0 ) > 0 l’algorithme 1.2
nous donne pour passer de l’itération n à l’itération n+1 : bn+1 = bn et par suite bn+1 = b0
et an+1 = xn et
an+1 f (b0 ) − b0 f (an+1 )
xn+1 = .
f (b0 ) − f (an+1 )

D’où, en remplaçant an+1 par xn , on obtient xn+1 = g(xn ) où g est une fonction définie
par
xf (b0 ) − b0 f (x)
g(x) = .
f (b0 ) − f (x)

On constate que la fonction g est une fonction continue et deux fois dérivables sur ]a0 , b0 [
et par passage à la limite dans l’équation xn+1 = g(xn ) on aura α = g(α) où α est le zéro
de f .
En écrivant xn+1 − α = g(xn ) − g(α) et en appliquant le théorème des accroissements finis
à la fonction g, il existe cn ∈ ]xn , α[ ou ]α, xn [ tel que :

xn+1 − α = g(xn ) − g(α) = (xn − α)g 0 (cn ),

|xn+1 − α|
d’où = |g 0 (cn )| et par passage à la limite, puisque g 0 est continue, on a :
|xn − α|

0

|xn+1 − α| 0
f (α)
lim = |g (α)| = 1 + (α − b) .
n→+∞ |xn − α| f (b)

Notons que la fonction f et sa dérivée seconde sont de signes opposés à l’intérieur de


]a0 , b0 [ et donc l’une des deux suites (an ), (bn ) de l’algorithme 1.2 est constante, et on
obtient :

7
Chapitre 1. Résolution numérique des équations non linéaires

Algorithme 1.3
On choisit deux réels a0 et b0 tels que f (a0 ) · f (b0 ) < 0, un réel  > 0 assez petit et
un nombre maximum d’itérations N max.

x0 = a0 , c0 = b0
c0 f (x0 ) − x0 f (c0 )
x1 =
f (x0 ) − f (c0 )
( (
c 0 = b0 c0 = a0
Si f (x1 ) · f (c0 ) < 0 alors sinon
x0 = a0 x 0 = b0

Pour n = 1, . . . , N max faire :
 xn+1 = c0 f (xn ) − xn f (c0 )

 f (xn ) − f (c0 )
Si f (xn+1 ) = 0 ou |xn+1 − xn | ≤  on s’arrête.

1.4 La méthode des approximations successives


Cette méthode consiste à faire d’abord des opérations algébriques sur l’équation
générale f (x) = 0 pour l’écrire sous la forme x = g(x) où g est une fonction à déterminer.
Par exemple, si f (x) = x3 + x − 1, on peut choisir :

1 1
g(x) = 1 − x3 , g(x) = , g(x) = (1 − x) 3 ,
1 + x2

ou plus généralement :
f (x)
g(x) = x + ,
h2 (x)
où h2 est une fonction qui ne s’annule pas.
La recherche d’une solution de l’équation f (x) = 0 équivaut alors à la recherche d’un
point fixe de g, i.e., α tel que g(α) = α.
La méthode des approximations successives consiste à construire, en partant d’une
estimation initiale x0 de la solution α, la suite (xn ) définie par

xn+1 = g(xn ).

On voit alors que si g est continue et lorsque cette suite est bien définie et convergente,
sa limite est un point fixe de g.

8
1.4 La méthode des approximations successives

L’algorithme de la méthode des approximations successives est le suivant :

Algorithme 1.4
On choisit un réel x0 , un réel  > 0 assez petit et un nombre maximum d’itérations
N max.

Pour n = 0, . . . , N max faire :
 xn+1 = g(xn )
Si |xn+1 − xn | ≤  on s’arrête.

Cet algorithme prévoit un nombre d’itérations à ne pas dépasser (N max), fixé à priori
à l’avance, car, comme nous allons le voir, la convergence de la suite n’est pas toujours
assurée.
Théorème 1.4.1 Soit g : [a, b] → [a, b] telle que g([a, b]) ⊂ [a, b] et g est une fonction
contractante, i.e., il existe λ ∈ [0, 1[ tel que : |g(x) − g(y)| ≤ λ |x − y|, ∀x, y ∈ [a, b].
Alors, pour tout choix de x0 ∈ [a, b], la suite (xn ) définie par : xn+1 = g(xn ) converge vers
l’unique point fixe α de g.
Démonstration:
1. Existence du point fixe : Posons h(x) = g(x)−x, alors h est une fonction continue
sur [a, b] et h(a) · h(b) ≤ 0 et d’après le théorème 1.2.1 il existe α ∈ [a, b] tel que
h(α) = 0 et donc g(α) = α.
2. Unicité du point fixe : Supposons qu’il existe deux points fixes différents α et
β de g, alors g(α) = α et g(β) = β. De plus, |α − β| = |g(α) − g(β)| ≤ λ |α − β|.
Comme λ ∈ [0, 1[ alors on a une contradiction d’où α = β.
3. Convergence de la suite (xn ) : Pour étudier la convergence de la suite on va
utiliser le critère de Cauchy. Puisque g est contractante on a :
|xn − xn−1 | = |g(xn−1 ) − g(xn−2 )| ≤ λ |xn−1 − xn−2 | ≤ · · · ≤ λn−1 |x1 − x0 | .
D’où pour tout n et m entiers (m ≥ n) :
1 − λm−n
|xm − xn | ≤ (λm−1 + λm−2 + · · · + λn ) |x1 − x0 | = λn |x1 − x0 | . (1.8)
1−λ
Puisque λ ∈ [0, 1[, on obtient lim |xm − xn | = 0.
n,m→+∞
On conclut que la suite (xn ) est de Cauchy dans [a, b] donc elle est convergente. Soit
L sa limite. En passant à la limite dans xn+1 = g(xn ) et puisque g est continue, L
vérifie g(L) = L, on obtient donc L = α. De plus, si on fixe n et on fait tendre m
vers l’infini dans (1.8) on obtient :
1
|xn − α| ≤ λn |x1 − x0 | .
1−λ
On constate que la convergence est d’autant plus rapide que λ est proche de zéro.

9
Chapitre 1. Résolution numérique des équations non linéaires

Corollaire 1.4.1 Le résultat du théorème 1.4.1 reste valable si l’on remplace l’hypothèse
“g contractante” par : g de classe C 1 sur [a, b] et |g 0 (x)| < 1, ∀x ∈ [a, b].
Démonstration: Puisque g est de classe C 1 , la fonction g 0 est continue sur [a, b] et de
même pour la fonction |g 0 | et donc atteint son maximum sur [a, b]. Soit λ = max |g 0 (x)|.
x∈[a,b]
D’après l’hypothèse on a λ < 1.
Appliquons le théorème des accroissements finis à la fonction g en deux points x, y de
[a, b] :
g(x) − g(y) = g 0 (ζ)(x − y),
où ζ ∈]x, y[. D’où
|g(x) − g(y)| ≤ |g 0 (ζ)| |x − y| < λ |x − y| .
Donc la fonction g est contractante et on peut appliquer le théorème 1.4.1.
Corollaire 1.4.2 Soit g une fonction numérique admettant un point fixe α. Supposons
que g est continuement dérivable au point α. Alors :
1. Si |g 0 (α)| < 1, la méthode des approximations successives est localement conver-
gente, i.e., il existe un voisinage V de α tel que, pour tout choix x0 ∈ V , la suite
(xn ) définie par xn+1 = g(xn ) converge vers α.
2. Si |g 0 (α)| > 1, il existe alors un voisinage V de α tel que pour tout x0 ∈ V , la
suite (xn ) définie par xn+1 = g(xn ) est divergente.
Démonstration:
1. La fonction g 0 est continue au point α, il existe alors un voisinage de α, V =
[α − , α + ] avec  > 0 tel que |g 0 (x)| < 1, ∀x ∈ V et g(V ) ⊂ V , on peut donc
appliquer le corollaire 1.4.1.
2. Si |g 0 (α)| > 1 et puisque g 0 est continue au point α, il existe alors un voisinage V
de α et un réel r > 1 tel que |g 0 (x)| > r, ∀x ∈ V . Par conséquent, g est strictement
monotone sur V .
Supposons que la suite (xn ) converge vers α il existe alors un entier N tel que
∀n ≥ N xn ∈ V et par suite |g 0 (xn )| > r. Appliquons maintenant le théorème des
accroissements finis, pour tout n ≥ N on a :
|xn+1 − α| = |g(xn ) − g(α)|
≥ |g 0 (ξn )| |xn − α| ≥ r |xn − α| ≥ · · · ≥ rn−N |xN − α| .
Si on passe à la limite on obtient :
lim |xn+1 − α| = +∞,
n→+∞

ce qui est absurde, donc la méthode est donc divergente (sauf si accidentellement
xN = α).
|g 0 (x)| > 1

10
1.5 La méthode de Newton

Remarque 1.4.1 Le cas |g 0 (x)| = 1 est le plus délicat à traiter car on ne peut conclure.
On peut avoir convergence comme le cas de la fonction g(x) = sin x qui admet 0 comme
point fixe, ou divergence comme le cas de la fonction g(x) = sinh x qui admet aussi 0
comme point fixe.

Théorème 1.4.2 Soit g une fonction numérique admettant un point fixe α. Supposons
qu’il existe p ∈ N∗ tel que g soit de classe C p au voisinage de α et que g (p) (α) 6= 0,
g (k) (α) = 0 ∀k ∈ N∗ et k ≤ p − 1 (g (k) désigne la dérivée d’ordre k de g). Alors si la
méthode des approximations successives pour la recherche du point fixe α converge, elle
est d’ordre p. En particulier, si g 0 (α) 6= 0, la convergence est d’ordre 1.

Démonstration: Soit xn+1 et xn deux éléments de la suite (xn ) et appliquons la formule


de Taylor à la fonction g aux points xn+1 et α sachant que xn+1 = g(xn ) et α = g(α) on
obtient :
p
X g (k) (α)
xn+1 − α = g(xn ) − α = (xn − α)k + (xn − α)p ε(xn − α),
k=1
k!

avec lim ε(xn − α) = 0. D’où


n→+∞

(p)
|xn+1 − α| g (α)
lim = .
n→+∞ |(xn − α)p | p!

Ce qui prouve que |xn+1 − α| = o(|xn+1 − α|p ) et donc la méthode des approximations
successives est d’ordre exactement p.

1.5 La méthode de Newton


Soit f une fonction de classe C 2 dans un voisinage d’une racine simple α de l’équation
f (x) = 0. La méthode de Newton consiste à construire, à partir de x0 , une suite (xn ) tel
que xn+1 est l’intersection de la tangente à la courbe au point (xn , f (xn )) et l’axe des x,
i.e.,
f (xn )
xn+1 = xn − 0 .
f (xn )

L’algorithme de la méthode de Newton est le suivant :

11
Chapitre 1. Résolution numérique des équations non linéaires

Algorithme 1.5
On choisit un réel x0 , deux réels , η > 0 assez petits et un nombre maximum
d’itérations N max.

Pour n = 0, . . . , N max faire :
 xn+1 = xn − f (xn )

 f 0 (xn )
Si |xn+1 − xn | ≤  et/ou |f (xn )| ≤ η on s’arrête.

Remarque 1.5.1 Remarquons que la méthode de Newton peut être considérée comme
f (x)
une méthode des approximations successives, si l’on choisit g(x) = x − 0 .
f (x)
Théorème 1.5.1 Soit f une fonction de classe C 2 dans un voisinage V d’une racine
simple α de l’équation f (x) = 0. La méthode de Newton est localement convergente et est
à convergence au moins quadratique (d’ordre 2).
Démonstration: On a xn+1 = g(xn ) avec
f (x)
g(x) = x − ,
f 0 (x)
dont la dérivée est 00
0 f (x)f (x)
g (x) = ,
(f 0 (x))2
et donc g 0 (α) = 0 car f (α) = 0.
En appliquant le corollaire 1.4.2, il existe un voisinage U ⊂ V de α tel que ∀x0 ∈ U ,
la suite définie par xn+1 = g(xn ) est convergente vers α.
Si on applique la formule de Taylor aux points xn et α, il existe un ζn compris entre
xn et α tel que
00
0 2f (ζn )
f (xn ) − f (α) = (xn − α)f (xn ) + (xn − α) .
2
D’où 00
f (xn ) 2 f (ζn )
α = xn − + (x n − α) ,
f 0 (xn ) 2f 0 (xn )
ou encore 00
f (ζn )2
α − xn+1 = (xn − α) .
2f 0 (xn )
Donc 00
|α − xn+1 | f (α)
lim = 0 ,
n→+∞ |α − x |2 2f (α)
n
et la méthode de Newton est d’ordre 2.

12
1.6 La méthode de la sécante

1.6 La méthode de la sécante


Cette méthode peut être considérée comme une variante de la méthode de Regula
Falsi si on remplaçe les points an et bn par les points xn et xn−1 . Elle peut être
considérée aussi comme une variante de la méthode de Newton si on approche f 0 (xn )
f (xn ) − f (xn−1 )
par .
xn − xn−1
Partant de x0 et x1 , on définit la suite (xn ) par :
xn−1 f (xn ) − xn f (xn−1 )
xn+1 = . (1.9)
f (xn ) − f (xn−1 )
Remarqons que xn+1 est l’abscisse du point d’intersection, avec l’axe des abscisses,
de la droite joignant les points de la courbe de f , d’abscisses respectives xn et xn−1 .
L’algorithme de la méthode de la sécante est le suivant :

Algorithme 1.6
On choisit un réel x0 , deux réels , η > 0 assez petits et un nombre maximum
d’itérations N max.

Pour n = 0, . . . , N max faire :
 xn+1 = xn−1 f (xn ) − xn f (xn−1 )

 f (xn ) − f (xn−1 )
Si |xn+1 − xn | ≤  et/ou |f (xn )| ≤ η on s’arrête.

Lemme 1.6.1 Soit (xn ) la suite définie par (1.9) et supposons que f est de classe C 2 au
voisinage d’un zéro α de f . Alors ∀n ∈ N∗ , il existe un réel cn compris entre xn−1 et xn
et un réel dn élément du plus petit intervalle In contenant xn , xn−1 et α tel que :
00
1 f (dn )
xn+1 − α = 2
(xn − α)(xn−1 − α) 0 . (1.10)
2f (cn )
Démonstration: On a :
xn−1 f (xn ) − xn f (xn−1 )
xn+1 − α = −α
f (xn ) − f (xn−1 )
xn − xn−1
= (xn − α) − f (xn )
f (xn ) − f(xn−1 )

g(xn , α) ,
= (xn − α) 1 −
g(xn ,xn−1 ) 
h(xn , xn−1 , α)
= (xn − α)(xn−1 − α) 1 − ,
g(xn , xn−1 )
où on a posé
f (x) − f (y)
g(x, y) =
x−y

13
Chapitre 1. Résolution numérique des équations non linéaires

et
(z − x)(f (x) − f (y)) − (x − y)(f (z) − f (x))
h(x, y, z) = .
(x − y)(z − x)(y − z)
D’après la formule des accroissements finis, il existe cn compris entre xn et xn−1 tel que

f (xn ) − f (xn−1 )
g(xn , xn−1 ) = = f 0 (cn ).
xn − xn−1
D’après le lemme 1.3.1, il existe dn ∈ In tel que :
00
f (dn )
h(xn, xn−1 , α) = .
2
D’où 00
f (dn )
xn+1 − α = (xn − α)(xn−1 − α) 0 .
2f (cn )

Théorème 1.6.1 Supposons que f est de classe C 2 au voisinage d’une racine simple de
l’équation f (x) = 0, i.e., f (α) = 0, f 0 (α) 6= 0. On suppose de plus que f 00 (α) 6= 0. Alors
la méthode de la sécante est localement convergente, i.e., il existe un voisinage V de α,
tel que pour tout x0 et x1 dans V , la√suite (xn ) définie par (1.9) converge vers α. De plus,
1+ 5
l’ordre de convergence est p = .
2
Démonstration: Puisque f 0 (α) 6= 0, il existe un voisinage de α où f 0 ne s’annule pas, il
existe donc , 0 <  < 1 et V1 = {x : |x − α| ≤ } tel que ∀x ∈ V1 on a f 0 (x) 6= 0.
Comme f est de classe C 2 on peut définir :

00
c1 = inf |f 0 (x)| et c2 = sup f (x) .
x∈V1 x∈V1

c2
+ 1 et V = x, |x − α| ≤ c ⊂ V1 . Choisissons x0 , x1 dans V . On a alors :

On pose c =
c1
∀n ∈ N, xn ∈ V.

Ceci se démontre par récurrence. En effet, x0 , x1 ∈ V . Supposons alors que xn ∈ V et


xn−1 ∈ V pour n ∈ N∗ . D’après (1.10), il existe cn , dn ∈ V tels que :
00
f (dn )
xn+1 − α = (xn − α)(xn−1 − α) 0 .
2f (cn )

D’où
00
f (dn )
|xn+1 − α| ≤ |xn − α| |xn−1 − α| 2f 0 (cn ) ≤ c |xn − α| |xn−1 − α|
 2  (1.11)
≤c = ≤
cc c c

14
1.6 La méthode de la sécante

et donc xn+1 ∈ V .
Démontrons maintenant que la suite (zn ) définie par zn = c |xn − α| est convergente

vers zéro. Posons λ = max(z0 , z1 ) où z0 = c |x0 − α| et z1 = c |x1 − α| et p = 1+2 5 est la
racine positive de l’équation x2 − x − 1 = 0.
0 1
Alors z0 ≤ λp et z1 ≤ λp (facile à vérifier) et λ <  < 1 et
n
∀n ∈ N, zn ≤ λp . (1.12)
n n−1
Ceci se démontre par récurence. En effet, supposons que zn ≤ λp et zn−1 ≤ λp . On
a zn+1 = c |xn+1 − α| ≤ c2 |xn − α| |xn−1 − α| d’après (1.11). D’où
n n−1 n +pn−1
zn+1 ≤ zn zn−1 ≤ λp λp = λp , (1.13)
n−1 n+1
et donc zn+1 ≤ λp (p+1) . Comme p2 = p + 1 on a zn+1 ≤ λp . On en déduit, puisque
λ < 1, que la suite (zn ) est convergente vers zéro et par suite la suite (xn ) converge vers
α.
zn+1
D’après (1.13) on a : ∀n ∈ N, zn+1 ≤ zn zn−1 . D’où p ≤ zn1−p zn−1 et d’après (1.12)
zn
on obtient :
zn+1 pn 1−p pn−1 n n+1 n−1 n−1 2
p ≤ (λ ) λ = λp −p +p = λp (p+1−p ) ≤ λ0 = 1,
zn

car p2 − p − 1 = 0. D’où
|xn+1 − α| p−1
p ≤ c ,
|xn − α|

et donc la méthode est au moins d’ordre p = 1+2 5 .
Démontrons maintenant que l’ordre de convergence est exactement p. Posons yn =
xn−1 f (xn ) − xn f (xn−1 )
xn − α. De l’expression xn+1 − α = − α on tire :
f (xn ) − f (xn−1 )

yn−1 f (xn ) − yn f (xn−1 )


yn+1 = . (1.14)
f (xn ) − f (xn−1 )

La formule de Taylor-Lagrange nous donne au voisinage de α :

(xn− α)2 00
f (xn ) = (xn − α)f 0 (α) + f (α) + (xn − α)2 ζ(xn − α),
2

où ζ(xn − α) → 0 quand xn − α → 0.


En écrivant cette formule aux points xn et xn−1 et en utilisant (1.14) on obtient :
00
f (α)
yn+1 ∼ yn yn−1 quand n → +∞. (1.15)
2f 0 (α)

15
Chapitre 1. Résolution numérique des équations non linéaires

D’autre part, la méthode de la sécante est dite d’ordre p s’il existe une constante C tel
|yn+1 | p p
que p ∼ C quand n → +∞ d’où |yn+1 | ∼ C |yn | , |yn | ∼ C |yn−1 | et par suite
|yn |
2
|yn+1 | ∼ C p+1 |yn−1 |p et en utilisant (1.15) on obtient :
00
p p2 p
f (α)
C |yn−1 | ∼ |yn−1 | |yn−1 | 0 ,
2f (α)
et donc
f (α) −1
00
p p2 −p−1
C |yn−1 | 2f 0 (α) ∼ 1.


2 1+ 5
Comme limn→∞ yn−1 = 0, donc p − p − 1 = 0 et par conséquent p = .
2

1.7 Résolution d’un système non linéaire


On considère le système :


 f1 (x1 , x2 , . . . , xn ) = 0,
 f2 (x1 , x2 , . . . , xn ) = 0,

.. (1.16)


 .
 f (x , x , . . . , x ) = 0,
n 1 2 n

où les fonctions fi sont des fonctions définies sur un ouvert de Rn à valeurs dans R et de
classe C 2 dans un voisinage V d’une racine α = (α1 , α2 , . . . , αn ), du système (1.16), i.e.,
fi (α) = 0 pour i = 1 jusqu’à n.

1.7.1 Méthode des approximations successives


Posons X = (x1 , x2 , . . . , xn ) et F = (f1 , f2 , . . . , fn ), alors le système peut s’écrire sous
la forme :
F (X) = 0. (1.17)
Supposons qu’on puisse faire des opérations algébriques sur la fonction F pour l’écrire
sous la forme F (X) = X − G(X) avec G = (g1 , g2 , . . . , gn ), où les gi sont des fonctions
définies sur un ouvert de Rn . Le système (1.16) s’écrit alors
X = G(X). (1.18)
Si α est solution de (1.16), alors α est solution de (1.17) et α est un point fixe de la
fonction G.
Pour chercher la solution de (1.16) on se ramène à la recherche du point fixe de la
fonction G. Pour cela, on construit la suite de vecteurs (Xk ) par :
(
X0 donné,
Xk+1 = G(Xk ), k ≥ 0.

16
1.7 Résolution d’un système non linéaire

Les conditions de la convergence de la suite (Xk )k sont données dans :

Théorème 1.7.1 Soit U un fermé borné de Rn et G une fonction définie sur U telle
que :
1. G(U ) ⊂ U , i.e., ∀X ∈ U G(X) ∈ U ;
2. Il existe une constante K vérifiant 0 ≤ K < 1 telle que

∀X ∈ U, ∀Y ∈ U, kG(X) − G(Y )k ≤ K kX − Y k ,

où k.k est la norme euclidienne dans Rn .


Alors la suite (Xk )k définie par
(
X0 ∈ U,
Xk+1 = G(Xk ), k ≥ 0,

converge vers, α ∈ U , le point fixe de G (i.e., α vérifie G(α) = α).

Démonstration: La démonstration est analogue à celle que l’on a faite dans le cas d’une
équation.
L’algorithme des approximations successive pour résoudre le système (1.18) est :

Algorithme 1.7
On choisit un vecteur X0 , un réel  > 0 assez petit et un nombre maximum d’itérations
N max.

Pour k = 0, . . . , N max faire :
 Xk+1 = G(Xk )
Si kXk+1 − Xk k ≤  on s’arrête.

Théorème 1.7.2 Soit U un fermé borné de Rn et G une fonction définie sur U de classe
C 1 (i.e., toutes les fonctions partielles gi sont de classe C 1 ) telle que :
n
X
0
max |gj,x i
(X)|2 < 1,
X∈U
i,j=1

0 ∂gj
où gj,x (X) = (X). Alors la suite définie par :
i
∂xi

X0 ∈ U,
Xn+1 = G(Xn ),

converge vers α ∈ U (α vérifie G(α) = α).

17
Chapitre 1. Résolution numérique des équations non linéaires

Démonstration: Remarquons que, puisque les fonctions Ppartielles gi sont de classe C 1 ,


n 0
les dérivées partielles d’ordre 1 sont continues et le max i,j=1 |gj,xi (X)|2 existe.
X∈U
n
X
0
Soit K = max |gj,x i
(X)|2 ce maximum. Soient X et Y deux éléments de U .
X∈U
i,j=1
D’après le théorème des accroissements finis appliqué à la fonction G aux points X et Y ,
il existe ξ ∈ U tel que G(X) − G(Y ) = G0 (ξ)(X − Y ) où G0 (ξ) est la dérivée de G au point
ξ, c’est donc une application linéaire de Rn dans Rn représentée par la matrice suivante :
 0 0 0

g1,x1 (ξ) g1,x 2
(ξ) · · · g1,xn (ξ)
 g 0 (ξ) g 0 (ξ) · · · g 0 (ξ) 
 2,x1 2,x2 2,xn
DG =  .. ..  ,

.. ..
 . . . . 
0 0 0
gn,x1
(ξ) gn,x2
(ξ) · · · gn,xn
(ξ)
et on a n
X
0
gi (X) − gi (Y ) = gj,x i
(ξ)(xj − yj ).
j=1

Donc
n n n
!2
X X X
kG(X) − G(Y )k2 = (gi (X) − gi (Y ))2 = 0
gj,x i
(ξ)(xj− yj )
i=1 i=1 j=1

et en développant :
n
!2 n n
X X X
0 02 0 0
(gj,x i
(ξ)(xj− yj ) = gj,x i
(ξ)(xj− yj )2 + gk,x i
(ξ)(xk − yk )gl,x i
(ξ)(xl− yl ).
j=1 j=1 l,k=1
l6=k

En remarquant que, étant donnés 4 réels a, b, c et d, on a


2abcd ≤ a2 b2 + c2 d2 ,
d’où
n
!2 n n
X X X
0 02 02 02
(gj,x i
(ξ)(xj− yj ) ≤ gj,x i
(ξ)(xj− yj )2 + (gk,x i
(ξ)(xk− yk )2 + gl,x i
(ξ)(xl− yl )2 )
j=1 j=1 l,k=1
l6=k
n
! n
! n
X X X
02 2 02
≤ gj,x i
(ξ) (xi− yi ) = gj,x i
(ξ) kX − Y k .
j=1 i=1 j=1

On tire donc que


n n
!
X X
02
kG(X) − G(Y )k ≤ gj,x i
(ξ) kX − Y k
i=1 j=1
Xn
02
≤ gj,x i
(ξ) kX − Y k ≤ K kX − Y k .
j,i=1

18
1.7 Résolution d’un système non linéaire

n
00
X
avec K = max gj,xi (X).
x∈U
j,i=1
Comme par hypothèse K < 1 et U est un fermé borné, les hypothèses du théorème
sont vérifiées et l’algorithme défini par Xk+1 = G(Xk ) converge.

1.7.2 Méthode de Newton


C’est une méthode qui consiste à linéariser le système (1.16) et à remplacer la
résolution du système non linéaire par une suite de systèmes linéaires qu’on résout
successivement (généralement par une méthode directe).
On considère maintenant le système (1.16) ou encore l’équation (1.17) où les fonctions
fi sont de classe C 2 dans un voisinage U de la racine α = (α1 , α2 , . . . , αn ) de l’équation
(1.17). Si on écrit la formule de Taylor au point X d’un voisinage de α et en négligeant
le terme d’ordre 2 on obtient :
F (α) − F (X) = F 0 (X)(α − X).
D’où
F (X) + F 0 (X)(α − X) = 0,
où F 0 (X) est une application linéaire dont la matrice qu’on appelle la matrice jacobienne
est :  0 
0 0
f1,x1 (X) f1,x 2
(X) · · · f1,x n
(X)
 f 0 (X) f 0 (X) · · · f 0 (X)
 2,x 2,x2 2,xn
F 0 (X) =  1.. .

.. .. ..
 . . . . 
0 0 0
fn,x1
(X) fn,x2
(X) · · · fn,xn
(x)
Si on construit une suite itérative (X k ) approximant α on obtient une meilleure définition
de la suite par :
F (X k ) + F 0 (X k )(X k+1 − X k ) = 0.
On obtient X k+1 en résolvant le système linéaire
F 0 (X k )(X k+1 − X k ) = F (X k ).
Ce système aura une solution si F 0 (X k ) est inversible.

Algorithme 1.8
On choisit un vecteur X0 , un réel  > 0 assez petit et un nombre maximum d’itérations
N max.

Pour k = 0, . . . , N max faire :
 Résoudre pour X k+1 le système linéaire suivant par l’une des méthodes connues
 F 0 (X k )(X k+1 − X k ) = F (X k )

 k+1
 X − X k
Si ≤  on s’arrête.
kX k k

19
Chapitre 1. Résolution numérique des équations non linéaires

Remarque 1.7.1

– La méthode de Newton est très efficace.


– La convergence est quadratique au voisinage de la solution (après un certain
nombres d’itérations)
– L’inconvenient majeur de la méthode est d’avoir à calculer à chaque itération la
∂fi
matrice jacobienne (n2 fonctions à évaluer) et les fonctions fi .
∂xj

Pour surmonter ce problème plusieurs variantes de la méthode de Newton existent :


1. Méthode de Newton à jacobienne par différences finies : c’est une méthode qui
∂fi k
consiste à approcher à chaque itération k les dérivées partielles (X ) par :
∂xj

∂fi k fi (X1k , . . . , Xjk + h, . . . , Xnk ) − fi (X1k , . . . , Xjk , . . . , Xnk )


(X ) ' ,
∂xj h

où h est un réel fixé suffisamment petit.


2. Méthode de Newton simplifiée : c’est une méthode qui consiste à conserver la matrice
jacobienne constante pendant un certain nombre d’itérations.
3. Méthodes de Newton à itération linéaire : ce sont les méthodes où on résout le
système linéaire
F 0 (X k )(X k+1 − X k ) = F (X k )
par une méthode itérative (Jacobi, Gaus -Seidel, relaxation, . . . ) mais en faisant un
nombre limité r d’itérations (r = 1, 2, 3, . . . ) on obtient deux itérations l’une dans
l’autre. On obtient ainsi des méthodes dites Newton-Itérations linéaires à r (r = 1,
2, ou 3) pas :
4. Newton-Gauss-Seidel à r pas.
5. Newton-Relaxation à r pas.

20
Chapitre 2

Interpolation polynômiale

2.1 Introduction
Soit f une fonction dont on connait les valeurs yi = f (xi ) en un nombre fini de
points xi , i = 0, 1, . . . , n. L’interpolation consiste à déterminer une fonction P (x), dans
un ensemble donné de fonctions, telle que le graphe de la fonction y = P (x) passe par les
points données (xi , yi ), i = 0, 1, . . . , n.
Dans ce chapitre, nous nous limiterons au cas où P est une fonction polynômiale.
Les applications de la théorie de l’interpolation sont multiples. Dans ce cours, nous
insisterons sur les aspects qui fourniront les outils mathématiques essentiels pour le
développement des méthodes des chapitres suivants (intégration numérique et résolution
numérique des équations différentielles). Nous donnerons aussi différentes formes du
polynôme d’interpolation adaptées à l’interpolation dans les tables de données et nous
analyserons l’erreur d’interpolation correspondante.

2.2 Interpolation polynômiale : forme de Lagrange


Soient x0 , x1 , . . . , xn , (n + 1) nombres distincts deux à deux. Soient y0 = f (x0 ), y1 =
f (x1 ), . . . , yn = f (xn ), les valeurs d’une fonction f en ces points.
Problème :
– Existe-t-il un polynôme P tel que P (xi ) = yi , i = 0, 1, . . . , n.
– Si oui, quel est son degré ? Est-il unique ? Quelle est l’expression de P (x) en fonction
des données (xi ) et (yi ) ?
Un polynôme P (x) = a0 + a1 x + · · · + am xm est entièrement déterminé par la
connaissance des (m + 1) coefficients a0 , a1 ,. . . , am . Les équations P (xi ) = yi , i =
0, 1, . . . , n imposent (n + 1) conditions sur P (x). Il est donc raisonnable de considérer
le cas m = n et de chercher P dans Pn où Pn est l’espace vectoriel des polynômes de degré
inférieur ou égal à n.

Théorème 2.2.1 Il existe un polynôme unique P ∈ Pn tel que Pn (xi ) = yi , ∀i ∈

21
Chapitre 2. Interpolation polynômiale

{0, 1, . . . , n}. De plus,


n
X
Pn (x) = yk Lk (x),
k=0

où n
Y x − xi
Lk (x) = .
i=0
xk − xi
i6=k

Démonstration:
Unicité : Supposons qu’il existe deux polynômes Pn ∈ Pn et Qn ∈ Pn tels que

Pn (xi ) = yi , et Qn (xi ) = yi , i = 0, 1, . . . , n.

Posons Rn = Pn − Qn . On a Rn ∈ Pn , Rn (xi ) = 0, pour i = 0, 1, . . . , n. Le polynôme


Rn dont le degré est au plus n, a donc n + 1 zéros distincts deux à deux. Il est donc
identiquement nul Rn ≡ 0 et donc Pn ≡ Qn .
Existence :
1ère démonstration : Posons Pn (x) = a0 + a1 x + . . . + an xn , où les coefficients ai (i =
0, . . . , n) sont à déterminer. En écrivant les n + 1 équations P (xi ) = yi , i = 0, 1, . . . , n, on
obtient un système linéaire de n + 1 équations à n + 1 inconnues :


 a0 + a1 x0 + . . . + an xn0 = y0
a0 + a1 x1 + . . . + an xn1 = y1

,


a0 + a1 xn + . . . + an xnn = yn

qui s’écrit sous forme matricielle M A = Y en posant :


     
a0 y0 1 x0 · · · xn0
 a1   y1  1 x1 · · · xn 
1
A =  ..  , Y =  ..  et M =  .. .. ..  .
    
..
. . . . . .
an yn 1 xn . . . xnn

LaY
matrice M est appelée matrice de Vandermonde. Son déterminant donné par det M =
(xi − xj ) est non nul car les xi sont distincts. Donc M est inversible et par
0≤i<j≤n
conséquent le systèm M A = Y admet une unique solution. D’où l’existence d’un
polynôme Pn unique. Seulement cette démonstration ne nous permet pas la construction
du polynôme Pn .
2ème démonstration : Considèrons le polynôme :
n
Y x − xi
Lk (x) = , k = 0, 1, . . . , n,
i=0
x k − x i
i6=k

22
2.2 Interpolation polynômiale : forme de Lagrange

et posons
n
X
Pn (x) = yk Lk (x).
k=0

On a Lk ∈ Pn pour k = 0, 1, . . . , n (deg Lk = n). De plus


(
1 si j = k,
Lk (xj ) =
0 sinon.

D’où Pn ∈ Pn , et Pn (xi ) = yi , i = 0, 1, . . . , n.
Exemples
1. Interpolation linéaire (n = 1) : Soient x0 et x1 deux réels donnés distincts
x0 6= x1 et f une fonction définie dans un voisinage contenant ces deux réels. Alors
le polynôme d’interpolation de f relatif aux points x0 et x1 est :

x − x1 x − x0 (x − x0 )f (x1 ) − (x − x1 )f (x0 )
P1 (x) = f (x0 ) + f (x1 ) = ,
x0 − x1 x1 − x0 (x1 − x0 )
ou encore
f (x1 ) − f (x0 ) x1 f (x0 ) − x0 f (x1 )
P1 (x) = x+ .
x0 − x1 x1 − x0
2. Interpolation quadratique (n = 2) : Soient x0 , x1 et x2 trois réels donnés
distincts (x0 6= x1 , x1 6= x2 et x0 6= x2 ) et soit f une fonction définie dans un
voisinage contenant ces trois réels. Alors le polynôme d’interpolation de f relatif
aux points x0 , x1 et xn est :

(x − x1 )(x − x2 ) (x − x0 )(x − x2 )
P2 (x) = f (x0 ) + f (x1 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
+ f (x2 ) ,
(x2 − x1 )(x2 − x0 )
ou encore
f (x1 ) − f (x0 )
P2 (x) = f (x0 ) + (x − x0 )
(x1 − x0 )
 
1 f (x2 ) − f (x1 ) f (x1 ) − f (x0 )
+ − (x − x0 )(x − x1 ).
x2 − x0 (x2 − x1 ) (x1 − x0 )

n
X
Définition 2.2.1 L’expression Pn = yk Lk (x) s’appelle la forme de Lagrange du
k=0
polynôme d’interpolation de la fonction f relatif aux points x0 , x1 , . . . , xn . Les polynômes
Lk sont les polynômes de base de Lagrange associés aux points x0 , x1 , . . . , xn .

23
Chapitre 2. Interpolation polynômiale

2.3 Forme de Newton : différences divisées


Avec les mêmes hypothèses et notations que le paragraphe 2.2, notons Pk le polynôme
d’interpolation de Lagrange de la fonction f relatif aux points x0 , x1 , . . . , xk .
Considérons le polynôme :

Qk (x) = Pk (x) − Pk−1 (x), k ∈ {1, . . . , n}.

Alors Qk est un polynôme de degré k et Qk (xi ) = Pk (xi ) − Pk−1 (xi ) = 0 pour


i ∈ {0, . . . , k − 1}, donc Qk peut s’écrire sous la forme :
k−1
Y
Qk (x) = αk (x − x0 )(x − x1 ) · · · (x − xk−1 ) = αk (x − xi ),
i=0

où αk est une constante.


Comme les polynômes Qk et Pk sont de même degré k et Pk−1 est de degré k − 1,
alors le coefficient ak de xk dans Pk est le même que le coefficient αk de xk dans Qk , i.e.,
ak = αk .
k−1
Y
Q Q
Posons k = (x − xi ). Alors Pk (x) = ak k +Pk−1 (x).
i=0

Définition 2.3.1 Le coefficient αk (ak = αk ) s’appelle différence divisée de f d’ordre k


aux points x0 , x1 , . . . , xk et l’on note ak = f [x0 , x1 , . . . , xk ].

Lemme 2.3.1 La différence divisée de f d’ordre k aux points x0 , x1 , . . . , xk est donnée


par la formule
k
X f (xi )
f [x0 , x1 , . . . , xk ] = k
.
i=0
Y
(xi − xj )
j=0
j6=i

Démonstration : En utilisant les polynômes de Lagrange Li , le polynôme d’interpolation


de Lagrange Pk de la fonction f relatif aux points x0 , x1 , . . . , xk s’écrit :
k
X
Pk (x) = f (xi )Li (x),
i=0

ou encore
k k k k
X Y (x − xj ) X f (xi ) Y
Pk (x) = f (xi ) = (x − xj ).
i=0 j=0
(x i − x j ) i=0
k
Y j=0
j6=i (xi − xj ) j6=i
j=0
j6=i

24
2.3 Forme de Newton : différences divisées

On tire donc le coefficient ak de xk dans Pk :


k
X f (xi )
ak = k
.
i=0
Y
(xi − xj )
j=0
j6=i

Y k
Y
Remarque 2.3.1 En posant (x) = (x − xj ), pour i = 0, 1, . . . , k on a :
k+1
j=0

Y0 k
Y
(xi ) = (xi − xj ),
k+1
j=0
j6=i

Y0 Y
où désigne la dérivée de .
k+1 k+1
Le coefficient ak s’écrit donc :
k
X f (xi )
ak = f [x0 , x1 , . . . , xk ] = Y0 .
i=0 (xi )
k+1

En particulier, pour k = n, on obtient :


n
X f (xi )
an = f [x0 , x1 , . . . , xn ] = Y0 .
i=0 (xi )
n+1

Remarque 2.3.2 Comme conséquence immédiate de la remarque 2.3.1, on peut démontrer


facilement que la différence divisée est indépendante de l’ordre des xi , i.e.,

ak = f [x0 , x1 , . . . , xk ] = f [xσ(0) , xσ(1) , . . . , xσ(k) ]

pour toute permutation σ de {0, 1, . . . , k}.

Proposition 2.3.1 Les différences divisées se calculent d’une manière récursive par les
formules suivantes :
1. Différences divisées d’ordre 0 :

f [xi ] = f (xi ), ∀i ∈ {0, 1, . . . , n}.

2. Différences divisées d’ordre k :


f [x1 , . . . , xk ] − f [x0 , x1 , . . . , xk−1 ]
f [x0 , x1 , . . . , xk ] = , ∀k ∈ {1, . . . , n}.
xk − x0

25
Chapitre 2. Interpolation polynômiale

Exemple Etant donné trois réels distincts x0 , x1 et x2 .


1. Différences divisées d’ordre 1 :

f [x1 ] − f [x0 ] f (x1 ) − f (x0 )


f [x0 , x1 ] = = ,
x1 − x0 x1 − x0

et
f [x2 ] − f [x1 ] f (x2 ) − f (x1 )
f [x1 , x2 ] = = .
x2 − x1 x2 − x1
2. Différences divisées d’ordre 2 :

f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1, x2 ] = .
x2 − x0

Démonstration de la proposition 2.3.1 :


1. Evident.
2. D’après la remarque 2.3.1 on a

k k
X f (xi ) X f (xi )
f [x0 , x1 , . . . , xk ] = k
= Y0 ,
i=1
Y i=1 (xi )
(xi − xj ) k+1
j=0
j6=i

d’où
k
X f (xi )
f [x1 , . . . , xk ] = k
.
i=1
Y
(xi − xj )
j=1
j6=i

En multipliant le terme de la somme en haut et en bas par (xi − x0 ) on obtient :

k k
X (xi − x0 )f (xi ) X (xi − x0 )f (xi )
f [x1 , . . . , xk ] = k
= Y0 .
i=0
Y i=0 (xi )
(xi − xj ) k+1
j=0
j6=i

De la même manière mais en multipliant par (xi − xk ) on a

k k
X (xi − xk )f (xi ) X (xi − xk )f (xi )
f [x0 , . . . , xk−1 ] = k
= Y0 .
i=0
Y i=0 (x i )
(xi − xj ) k+1
j=0
j6=i

26
2.3 Forme de Newton : différences divisées

D’où
k
X (xk − xi + xi − x0 )f (xi )
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ] = Y0
i=0 (xi )
k+1
k
X f (xi )
= (xk − x0 ) Y0 = (xk − x0 )f [x0 , . . . , xk ],
i=0 (xi )
k+1

et donc
f [x1 , . . . , xk ] − f [x0 , x1 , . . . , xk−1 ]
f [x0 , x1 , . . . , xk ] = .
xk − x0

Remarque 2.3.3 Comme généralisation immédiate de la formule précédente, pour tout


i ∈ {0, 1, . . . , n − 1} et k ∈ {0, 1, . . . , n − i} on a :

f [xi+1 , . . . , xi+k ] − f [xi , xi+1 , . . . , xi+k−1 ]


f [xi , xi+1 , . . . , xi+k ] = .
xi+k − xi

Cette formule nous permet donc de calculer les différences divisées d’ordre k à partir
des différences divisées d’ordre k − 1. On peut donc dresser le tableau suivant :

points ordre 0 ordre 1 ordre 2 ordre 3 ordre 4


xi f [xi ] f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ] ...
x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ] f [x1 , x2 , x3 , x4 ]
x3 f [x3 ] f [x2 , x3 , x4 ] ...
f [x3 , x4 ] f [x2 , x3 , x4 , x5 ]
x4 f [x4 ] f [x3 , x4 , x5 ] ... ...

On peut également écrire un algorithme qui permet de calculer ces différences


divisées. Posons Di,k = f [xi , xi+1 , . . . , xi+k ] et Di,0 = f (xi ) pour i ∈ {0, 1, . . . , n} et
k ∈ {0, 1, . . . , n − i}. D’après la remarque 2.3.3 on a

Di+1,k−1 − Di,k−1
Di,k = ,
xi+k − xi

d’où l’algorithme suivant :

27
Chapitre 2. Interpolation polynômiale

Algorithme 2.1

Etant donnés x0 , x1 , . . . , xn , n+1 points distincts et y0 , y1 , . . . , yn les valeurs respectives


de la fonction f aux points x0 , x1 , . . . , xn .

Pour i = 0, . . . , n faire :
 Di,0 = yi

 Fin de la boucle sur i

 Pour k = 0, . . . , n faire :

 Pour i = 0, . . . , n faire :

 Di+1,k−1 − Di,k−1
 Di,k =

 xi+k − xi
 Fin de la boucle sur i
Fin de la boucle sur k

Proposition 2.3.2 (Forme de Newton du polynôme d’interpolation)


Soit f une fonction définie sur [a, b] et x0 , x1, . . . , xn , n + 1 points de [a, b] où on connait
les valeurs de la fonctions f . Alors le polynôme d’interpolation de Lagrange s’écrit :
n
X Y
Pn (x) = f (x0 ) + f [x0 , x1 , . . . , xk ] (x),
k
k=1

Y k−1
Y
où (x) = (x − xj ). Cette écriture s’appelle la forme de Newton du polynôme
k
j=0
d’interpolation.
Démonstration : Ecrivons le polynôme Pn (x) sous la forme :
Pn (x) = P0 (x) + P1 (x) − P0 (x) + . . . + Pn (x) − Pn−1 (x)
Xn
= P0 (x) + Pk (x) − Pk−1 (x),
k=1

où Pk (x) est le polynôme d’interpolation de la Lagrange aux points x0 , x1 , . . . , xk .


On a déjà vu que
k−1
Y Y
Pk (x) − Pk−1 (x) = ak Qk (x) = ak (x − xj ) = f [x0 , x1 , . . . , xk ] (x).
k
j=0

Et comme P0 (x) = f (x0 ), on obtient :


n
X Y
Pn (x) = f (x0 ) + f [x0 , x1 , . . . , xk ] (x).
k
k=1

28
2.4 Interpolation en des points équidistants : différences finies

Remarque 2.3.4 La forme de Newton du polynôme d’interpolation Pn donne un moyen


commode pour le calcul de la valeur Pn (x) en tout point donné x. En effet supposons
connues les différences divisées f [x0 , . . . , xk ] = D0,k = ak , pour k = 0, . . . , n. On peut
écrire :
Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 ) · · · (x − xn−1 )
= a0 + (x − x0 )[an (x − x1 ) · · · (x − xn−1 ) + an−1 (x − x1 ) · · · (x − xn−2 ) + · · · + a1 ]
= a0 + (x − x0 )[a1 + (x − x1 ) [· · · [an−3 + (x − xn−3 ) [an−2 + (x − xn−2 ) [an−1 + an (x − xn−1 )]]]

On peut écrire donc l’algorithme suivant pour le calcul de Pn (x) pour un x donné.

Algorithme 2.2

On se donne x,x0 , . . . , xn , a0 , . . . , an

t0 = an
 Pour k = 1, . . . , n faire :

 tk = an−k + (x − xn−k )tk−1

 Fin de la boucle sur k
tn = la valeur de Pn (x)

2.4 Interpolation en des points équidistants : différences


finies
Soient x0 , . . . , xn , n + 1 points équidistants tels que xi = x0 + ih où h est un réel
non nul. Soit f une fonction telle qu’on connait ses valeurs aux points x0 , . . . , xn . Posons
fi = f (xi ) pour i = 0, . . . , n.
On définit l’opérateur des différences finies progressives par :

∇f (x) = f (x + h) − f (x),

et notons :
∇fi = fi+1 − fi .
Plus généralement, définissons l’opérateur des différences finies progressives d’ordre k ≥ 0
par : et
∇0 fi = fi ,
et
∇k fi = ∇k−1 fi+1 − ∇k−1 fi .

29
Chapitre 2. Interpolation polynômiale

Les différentes différences finies ∇k fi peuvent être calculées par l’algorithme 2.3
suivant :

Algorithme 2.3

Supposons qu’on connait les xi et les fi , i = 0, . . . , n



Pour i = 0, . . . , n faire :
 ∇0 fi = fi

 Fin de la boucle sur i

 Pour k = 1, . . . , n faire :

 Pour i = 0, . . . , n − k faire :


 ∇k fi = ∇k−1 fi+1 − ∇k−1 fi
 Fin de la boucle sur i
Fin de la boucle sur k

Lemme 2.4.1 Pour tout i ∈ {0, . . . , n} on a


∇k fi = f [xi , . . . , xi+k ]hk k! ∀k ∈ {0, . . . , n − i}.
Démonstration : On va faire la démonstration par récurrence sur l’ordre k. Pour k = 0,
on a ∇0 fi = fi = f (xi ) = f [xi ] = f [xi ] h0 0!. Supposons que la relation soit vraie jusqu’à
l’ordre k. On a donc
∇k fi = f [xi , . . . , xi+k ] hk k! et ∇k fi+1 = f [xi+1 , . . . , xi+1+k ] hk k!.
D’où :
∇k+1 fi = ∇k fi+1 − ∇k fi
= f [xi , . . . , xi+k ] hk k! − f [xi+1 , . . . , xi+1+k ] hk k!
= hk k! (f [xi , . . . , xi+k ] − f [xi+1 , . . . , xi+1+k ] ) (D’après le lemme 2.3.1)
.
= hk k! (xi+1+k − xi )f [xi , . . . , xi+1+k ]
= hk k! (k + 1)h f [xi , . . . , xi+1+k ] (car xi+1+k − xi = (k + 1)h)
k+1
=h (k + 1)!f [xi , . . . , xi+1+k ]

∇k f0
Remarque 2.4.1 On a f [x0 , x1 , . . . , xk ] = . Le polynôme d’interpolation
hk k!
n
X Y
Pn (x) = f (x0 ) + f [x0 , x1, . . . , xk ] (x)
k
k=1

peut s’écrire alors :


n
X ∇k f0 Y
Pn (x) = f (x0 ) + (x).
k=1
hk k! k

30
2.4 Interpolation en des points équidistants : différences finies

Proposition 2.4.1 Le polynôme d’interpolation Pn (x) peut s’écrire :


n  
X
k t
Pn (x) = ∇ f0 ,
k=0
k
 
x − x0 t t(t − 1)(t − 2) . . . (t − k + 1)
où t = et = est le coefficient du binôme
h k k!
généralisé avec la convention 0t = 1.


Démonstration : On sait que :


n
X ∇k f0 Y
Pn (x) = f (x0 ) + (x).
k=1
hk k! k

Or x = x0 + ht, xj = x0 + hj, d’où x − xj = h(t − j) et alors


Y k−1
Y k−1
Y
(x) = (x − xj ) = h(t − j) = hk t(t − 1)(t − 2) · · · (t − k + 1).
k
j=0 j=0

En notant que f (x0 ) = (t0 ) ∇0 f0 , on obtient


n
X ∇k f0
Pn (x) = f (x0 ) + t(t − 1)(t − 2) · · · (t − k + 1),
k=1
k!

et par suite
n 
X t k
Pn (x) = ∇ f0 .
k=0
k

Etant donné un nombre x, on peut calculer la valeur Pn (x) du polynôme d’interpo-


lation au point x par un algorithme analogue à l’algorithme 2.2 :

Algorithme 2.4

Supposons qu’on connait x, x0 , n, h, ∇1 f0 , . . . , ∇n f0


x − x0

 t= h
 q = ∇n f
 0 0
 Pour k = 1, . . . , n faire :

 q = ∇n−k f + t − n + k q

k 0 k−1

 n−k+1
 Fin de la boucle sur k
qn la valeur de Pn (x)

31
Chapitre 2. Interpolation polynômiale

Remarque 2.4.2 On peut définir les différences finies régressives par ∆k f (x) = f (x) −
f (x − h) et ∆k f (x) = ∆k−1 f (x) − ∆k−1 f (x − h).
On peut montrer que
Xn
∆k fn −t+k−1

Pn (x) = k ,
k=0
xn −x
où t = h
.

2.5 Interpolation d’Hermite


Soient x0 , . . . , xn , n + 1 nombres distincts et α0 , . . . , αn , n + 1 entiers naturels donnés.
On suppose connues les valeurs f (l) (xi ) = yi,l pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi } où
f (l) désigne la dérivée lème d’une fonction f .
Problème :
1. Existe-t-il un polynôme P tel que :

P (l) (xi ) = yi,l , ∀i ∈ {0, 1, . . . , n} et ∀l ∈ {0, . . . , αi }?

2. Si oui quel est son degré ? Est-il unique ?


Si on écrit P (x) = a0 + a1 x + · · · + am xm , on aura (m + 1) inconnues (a0 , a1 , . . . , am ).
Pour chaque i fixé, on a αi + 1 équations linéaires :

P (l) (xi ) = yi,l , l ∈ {0, . . . , alphai }.


n
X n
X
Au total, on a donc (αi + 1) = n + 1 + αi équations. Il est donc raisonnable de
i=0 i=0
n
X
considérer le cas où P ∈ Pm avec m = n + αi .
i=0

Théorème 2.5.1 Etant donnés (n+1) points distincts x0 , . . . , xn et n+1 entiers naturels
n
X
α0 , . . . , αn et soit m = n + αi . Soit f une fonction admettant des dérivées d’ordre αi
i=0
aux points xi qu’on notera yi,l = f (l) (xi ). Alors il existe un polynôme Pm ∈ Pm unique
tel que
Pm(l) (xi ) = yi,l pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . αi }.
Ce polynôme s’appelle polynôme d’interpolation d’Hermite de la fonction f relativement
aux points x0 , . . . , xn et aux entiers α0 , . . . , αn .

Démonstration : Posons Pm (x) = a0 + a1 x + · · · + am xm , alors trouver le polynôme


Pm équivaut à déterminer les (m + 1) coefficients a0 , a1 , . . . , am . Comme on a (m + 1)
(l)
équations linéaires Pm (xi ) = yi,l on obtient alors un système linéaire de (m + 1) équations

32
2.5 Interpolation d’Hermite

à (m + 1) inconnus. Pour démontrer l’existence de la solution, il suffit donc de démontrer


l’unicité.
Supposons qu’il existe deux polynômes d’interpolation d’Hermite Pm (x) et Qm (x)
(l)
de degré ≤ m tels que : Pm (xi ) = yi,l pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi } et
(l)
Qm (xi ) = yi,l pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi }. Posons alors Rm = Pm − Qm , alors
(l)
le degré de Rm ≤ m et Rm (xi ) = 0 pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi }.
D’où xi est un zéro d’ordre αi + 1 (au moins ) du polynôme Rm pour i ∈ {0, 1, . . . , n}
Yn
et donc il existe un polynôme S(x) tel que Rm (x) = S(x) (x−xi )1+αi . D’où si S(x) 6= 0,
i=0
n
X
deg(Rm ) = deg(S) + (n + 1 ) + αi = m + 1 + deg(S) et comme deg(Rm ) ≤ m alors S
i=0
est nécessairement nul. D’où Rm ≡ 0 et donc Pm = Qm .
Remarque 2.5.1 La détermination du polynôme Pm d’Hermite exige uniquement la
connaissance des valeurs de la fonction f et de ses dérivées d’ordre αi aux points
x 0 , x1 , . . . , x n .
Le problème général d’interpolation revient à la résolution du problème suivant :
(
Trouver Pm ∈ Pm vérifiant :
(l)
Pm (xi ) = bi,l pour i ∈ {0, 1, . . . , n}, l ∈ {0, . . . , αi },
où les bi,l sont des constantes données. On sait que ce problème admet une solution unique
dans Pm .
Détermination explicite du polynôme d’Hermite
Pour déterminer le polynôme d’interpolation d’Hermite de la fonction f relativement
aux points x0 , . . . , xn et aux entiers α0 , . . . , αn , il suffit de construire une base particulière
de Pm , et d’expliciter Pm dans cette base.
Construction de la base : Pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi } soit le polynôme
Pi,l solution du problème suivant :

Trouver Pm ∈ Pm vérifiant
 ( :
(r) bj,r = 1 si (j, r) = (i, l)
Pm (xj ) = bj,r avec

bj,r = 0 si (j, r) 6= (i, l)
Alors les polynômes Pi,l forment une base de Pm . En effet, on a (m + 1) polynômes Pi,l
et ces polynômes forment une famille libre. Il suffit de considèrer l’équation suivante :
X
βi,l Pi,l (x) = 0,
i,l

et de l’écrire, ainsi que les dérivées d’ordre k ≤ αi , pour chaque xi et d’en déduire que
βi,l = 0. Alors, tout polynôme P (x) de Pm s’écrit d’une manière unique sous la forme :
n αi
!
X X
P (x) = βi,l Pi,l (x) .
i=0 l=0

33
Chapitre 2. Interpolation polynômiale

En particulier, Pm (x) le polynôme d’interpolation d’Hermite de la fonction f :


n αi
!
X X
Pm (x) = f (l) (xi )Pi,l (x) .
i=0 l=0

Déterminons alors les polynômes Pi,l (x). Posons


n  αj +1
Y x − xj
qi (x) = .
j=0
xi − xj
j6=i

On construit Pi,l de la manière suivante :

(x − xi )αi
Pi,αi (x) = qi (x),
αi !
αi
(x − xi )l X
l
 (j−l)
Pi,l (x) = qi (x) − j qi (xi )Pi,j (x), l = αi − 1, αi − 2, . . . 1, 0.
l! j=l+1

Il est très facile de vérifier que les Pi,l sont solutions du problème posé au départ.

Remarque 2.5.2 Si αi = 0, pour i ∈ {0, 1 . . . , n}, on se ramène au cas de l’interpolation


de Lagrange.

2.6 Erreur d’interpolation


Sous les hypothèses du paragraphe précédent, soit Pm le polynôme d’interpolation
(l)
d’Hermite relativement aux points x0 , . . . , xn et aux entiers α0 , . . . , αn tel que Pm (xi ) =
f (l) (xi ) = yi,l , ∀i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi } et soit un t nombre donné. On veut
approcher la valeur de la fonction f au point t par la valeur du polynôme Pm en ce point
et estimer l’erreur d’interpolation E(t) = f (t) − Pm (t) commise.
Supposons que la fonction f ∈ C m+1 (It ) où It est le plus petit intervalle contenant
X n
x0 , . . . , xn , t et m = n + αi . On a le théorème suivant :
i=0

Théorème 2.6.1 Il existe ξt ∈ It tel que

f (m+1) (ξt )
E(t) = f (t) − Pm (t) = φm+1 (t),
(m + 1)!
avec
n
Y
φm+1 (t) = (t − xi )1+αi .
i=0

34
2.6 Erreur d’interpolation

Démonstration : Si t ∈ {x0 , . . . , xn } alors E(t) = φm+1 (t) = 0 et ξt est quelconque.


Si t 6∈ {x0 , . . . , xn }, on considére alors la fonction

E(t)
F (x) = E(x) − φm+1 (x).
φm+1 (t)

On a F est une fonction de classe C m+1 qui vérifie F (t) = 0 et donc t est zéro de la
fonction F . De plus, F (l) (xi ) = 0 pour i ∈ {0, 1, . . . , n} et l ∈ {0, . . . , αi } donc xi est un
zéro d’ordre 1 + αi de F .
D’après le lemme de Rolle, entre deux zéros distincts de F , il y a un zéro de F 0 . D’où
0
F admet n+1 zéros dans It autres que x0 , . . . , xn et t. De plus pour tout i ∈ {0, 1, . . . , n},
Xn
xi est un zéro d’ordre αi de F 0 (si αi 6= 0). En conclusion, F 0 admet n + 1 + αi = m + 1
i=0
zéros (égaux ou distincts) dans It .
00
En réitérant le raisonnement, F admet m zéros (égaux ou distincts) dans It et de
proche en proche F (m+1) admet un zéro dans It . Soit ξt ce zéro. On a donc F (m+1) (ξt ) = 0,
c’est-à-dire
E(t) (m+1)
E (m+1) (ξt ) − φ (ξt ) = 0.
φm+1 (t) m+1
Or
E (m+1) (ξt ) = f (m+1) (ξt ) − Pm(m+1) (ξt ) = f (m+1) (ξt ) (car deg(Pm ) ≤ m)
(m+1)
et deg(φm+1 ) = m + 1 d’où φm+1 = (m + 1)!.
E(t) (m+1) E(t)
Enfin E (m+1) (ξt ) − φm+1 (ξt ) = 0 s’écrit : f (m+1) (ξt ) − (m + 1)! = 0.
φm+1 (t) φm+1 (t)
D’où
f (m+1) (ξt )φm+1 (t)
E(t) = .
(m + 1)!

Corollaire 2.6.1 Soit Pn le polynôme d’interpolation de Lagrange d’une fonction f


relativement aux points x0 , . . . , xn . Soit t un réel donné. Supposons que f ∈ C (n+1) (It ) où
It est le plus petit segment contenant x0 , . . . , xn et t. Alors il existe ξt ∈ It tel que

f (n+1) (ξt ) Y
f (t) − Pn (t) = (t),
(n + 1)! n+1

Y n
Y
avec (t) = (t − xi ).
n+1
i=0

Démonstration : C’est un cas particulier du théorème précédent avec αi = 0 pour


i = 0, 1, . . . , n.

35
Chapitre 2. Interpolation polynômiale

36
Chapitre 3

Intégration numérique

3.1 Introduction
On cherche à calculer l’intégrale :
Z b
I= f (x)w(x)dx, (3.1)
a

avec w(x) et f (x) deux fonctions définies sur [a, b] telles que w(x) > 0 sur ]a, b[ et f (x)w(x)
est intégrable sur [a, b]. Hormis quelques cas simples, où une primitive de f w peut être
trouvée (et il faut inclure dans ce cas le calcul par changement de variables où l’intégration
par parties), on ne sait pas calculer cette intégrale.
En outre, il arrive fréquemment qu’on ne connaisse la fonction que par ses valeurs
en certains points. Il est alors hors de question de calculer exactement l’intégrale I.
L’intégration numérique est une idée “naturelle”. L’intégrale de Riemann en fournit l’idée
première.
On considère une subdivision uniforme : a = x0 < x1 < · · · < xn = b de l’intervalle
[a, b], (xi = a + i b−a
n
, i ∈ {0, 1, . . . , n}) et on remplace I par :

b n n
b−aX
Z X
I= f (x)w(x)dx ≈ (xi − xi−1 )f (αi )w(αi ) = f (αi )w(αi ) = Sn ,
a i=1
n i=1

Z b
avec αi ∈ [xi−1 , xi ]. Dans ce cas on a lim Sn = I = f (x)w(x)dx.
n→+∞ a
La procédure de l’intégration numérique est donc de chercher à remplacer l’intégrale
Z b
f (x)w(x)dx par une somme finie :
a

Z b n
X
f (x)w(x)dx = λi f (αi ) + En (f ), (3.2)
a i=1

37
Chapitre 3. Intégration numérique

n
X
où En (f ) désigne le terme de l’erreur commise en remplaçant I par λi f (αi ). De telles
i=1
formules sont appelées formules de quadrature. Les points xi sont appelés noeuds de la
formule de quadrature et les coefficients λi sont appelés poids de la formule de quadrature.
L’idée de base dans la recherche des noeuds xi et des poids λi est de remplacer la
fonction f par un polynôme d’interpolation. Dans ce cas, deux formules seront présentées :
– Les formules de Newton-Cotes.
– Les formules de quadrature de Gauss.

Remarque 3.1.1 Lorsque les poids λi sont indépendants de la fonction f (c’est le cas
n
X
pour les formules de type interpolation), les applications : f → λi f (αi ) et f → En (f )
i=1
sont linéaires.

Remarque 3.1.2 En remarquant que


Z b
b−a 1
 
b−a
Z
b+a
g(x)dx = g t+ dt,
a 2 −1 2 2
on peut toujours ramener l’intégration sur [a, b] à une intégration sur [−1, +1] qu’on peut
prendre comme intervalle de référence.

Définition 3.1.1 On dira que la formule de quadrature (3.2) est de degré k si En (P ) = 0


pour tout P dans Pk et s’il existe P ∈ Pk+1 tel que En (P ) 6= 0, où Pj est l’ensemble des
polynômes de degré inférieur ou égale à j.
Autrement dit, en tenant compte de la remarque 3.1.1, la formule de quadrature (3.2)
est de degré k si pour toute base (P0 , P1 , . . . , Pk , Pk+1 ) de Pk+1 avec deg(Pi ) = i, on a :
En (Pi ) = 0 ∀ i ∈ {0, . . . , k} et En (Pk+1 ) 6= 0.

Exemple 3.1 : (Formule du rectangle à gauche)


Dans la formule (3.2) on prend αi = xi−1 et w(x) = 1. On obtient alors la formule
suivante : Z b n
b−aX
f (x)dx = f (xi−1 ) + En (f )
a n i=1
n−1  
b−aX b−a
= f a+i + En (f ).
n i=0 n
Détermination du terme d’erreur En (f ) : Supposons que f est de classe C 1
sur [a, b]. D’après la formule des accroissements finis, pour tout x ∈ [xi , xi+1 ], il existe
ξi ∈ [xi , xi+1 ] tel que :
f (x) = f (xi ) + (x − xi )f 0 (ξi ).
D’où Z xi+1 Z xi+1
f (x)dx = (xi+1 − xi )f (xi ) + (x − xi )f 0 (ξi )dx.
xi xi

38
3.1 Introduction

Or, puisque f 0 est continue et x − xi ≥ 0 sur [xi, xi+1 ], d’après le théorème de la moyenne
appliqué à f 0 , il existe un élément ηi ∈ [xi , xi+1 ] tel que :
Z xi+1 Z xi+1
0 0 (xi+1 − xi )2 0
(x − xi )f (ξi )dx = f (ηi ) (x − xi )dx = f (ηi ).
xi xi 2

On a alors :
Z b n−1 Z
X xi+1
f (x)dx = f (x)dx
a i=0 xi
n−1 n−1
X X (xi+1 − xi )2
= (xi+1 − xi )f (xi ) + f 0 (ηi )
i=0 i=0
2
n−1 n−1
b−a X (b − a)2 X 0
= f (xi ) + f (ηi ).
n i=0
2n2 i=0

D’après le théorème de la moyenne, il existe η ∈ [a, b] tel que :


n−1
1X 0
f (ηi ) = f 0 (η).
n i=0

On obtient enfin :
Z b n−1 
(b − a)2 0

b−aX b−a
f (x)dx = f a+i + f (η), avec η ∈ [a, b].
a n i=0 n 2n

Exemple 3.2 : (Formule du rectangle à droite)


Dans la formule (3.2) on prend αi = xi et w(x) = 1. On obtient de la même manière
que précédemment la formule suivante :
Z b n
(b − a)2 0
 
b−aX b−a
f (x)dx = f a+i + f (η), avec η ∈ [a, b].
a n i=1 n 2n

Exemple 3.3 : (Formule du point milieu)


xi + xi−1
On prend dans la formule (3.2) αi = et w(x) = 1. On obtient la formule
2
suivante :
Z b n−1  
b−aX xi + xi+1
f (x)dx = f + En (f ).
a 2 i=0 2
Détermination de l’erreur En (f ) : Supposons que f est de classe C 2 sur [a, b].
D’après la formule de Taylor, pour tout x ∈ [xi , xi+1 ], il existe ξi ∈ [xi , xi+1 ] tel que :
xi + xi+1 x + xi+1 0 xi + xi+1 1 x + xi+1 2 00
f (x) = f ( ) + (x − i )f ( ) + (x − i ) f (ξi ).
2 2 2 2 2

39
Chapitre 3. Intégration numérique

En procédant comme dans l’exemple 3.1 et en remarquant que :


Z xi+1
x + xi+1
(x − i )dx = 0,
xi 2

on aboutit à la formule :
b n−1
(b − a)3 00
 
b−aX b−a
Z
f (x)dx = f a + (2i + 1) + f (η), avec η ∈ [a, b].
a n i=0 2n 24n2

3.2 Formules de Newton-Cotes fermées


3.2.1 Formules simples
Ce sont des formules de type interpolation en des points équidistants. Compe tenu de
la remarque 3.1.2, considérons l’intervalle de référence [−1, +1]. Il s’agit alors de construire
des formules du type :
Z 1 p
X
g(t)dt = 2 λi,p g(ti ) + Ep+1 (g), (3.3)
−1 i=0

avec p un entier naturel donné. Posons


p
X
Ip (g) = 2 λi,p g(ti ).
i=0

Les formules de Newton-Cotes fermées consistent à choisir :


1. Les noeuds ti équidistants avec t0 = −1 et tp = 1 donc ti = −1+ p2 i pour i = 0, . . . , p.
Z 1
2. Les poids λi,p tels que Ip (g) = Pp (t)dt où Pp est le polynôme d’interpolation de
−1
la Lagrange de g relatif aux points t0 , t1 , . . . , tp .

Lemme 3.2.1 Les coefficients λi,p (p fixé, et i = 0, 1, . . . , p) sont donnés par la formule
suivante :
1 1
Z
λi,p = Li (t)dt,
2 −1
où Li (t) sont les polynômes de Lagrange de base relative aux points t0 , t1 , . . . , tp .
Ou encore
Z p
1 pYt−j
λi,p = dt, pour i ∈ {0, 1, . . . , p}.
p 0 j=0 i − j
j6=i

40
3.2 Formules de Newton-Cotes fermées

Démonstration : Soient L0 , L1 , . . . , Lp les polynômes de base de Lagrange associés


aux points t0 , t1 , . . . , tp . Le polynôme Pp (t) d’interpolation de la fonction g aux points
t0 , t1 , . . . , tp s’écrit alors :
p
X
Pp (t) = g(ti )Li (t).
i=0

On a p
X
Ip (g) = 2 λi,p g(ti ),
i=0
et p
Z 1 X Z 1
Pp (t)dt = g(ti ) Li (t)dt.
−1 i=0 −1

D’où p
1 1
t − tj
Z Z
1 1 Y
λi,p = Li (t)dt = ( )dt pour i ∈ {0, 1, . . . , p}.
2 −1 2 −1 j=0 ti − tj
j6=i

Soit le changement de variable t = −1 + p2 s, alors :

p p
s−j
Z
1 Y
λi,p = ( )ds pour i ∈ {0, 1, . . . , p}.
p 0 j=0
i − j
j6=i

Lemme 3.2.2 Les coefficients λi,p (p fixé, et i = 0, 1, . . . , p) vérifient :

λp−i,p = λi,p pour i ∈ {0, 1, . . . , p}.

Démonstration : D’après le lemme 3.2.1 on a


p p  
s−j
Z
1 Y
λp−i,p = ds pour i ∈ {0, 1, . . . , p}.
p 0 j=0
p − i − j
j6=p−i

Si on calcule cette intégrale en faisant le changement de variables t = p − s, on obtient :


p p Z p 
1 pY t−j
  
p−t−j
Z
1 Y
λp−i,p = dt = dt = λi,p .
p 0 j=0
p − i − j p 0 j=0
i − j
j6=p−i j6=i

Lemme 3.2.3 Si la fonction g est une fonction impaire sur [−1, 1], alors l’erreur de la
formule d’intégration (3.3) est nulle : Ep+1 (g) = 0.

41
Chapitre 3. Intégration numérique

Démonstration
Z 1 : Puisque la fonction g est une fonction impaire sur [−1, 1], on a g(0) = 0
et g(t)dt = 0. Comme
−1

Z 1 p
X
g(t)dt = 2 λi,p g(ti ) + Ep+1 (g),
−1 i=0

on tire que
p
X
Ep+1 (g) = −2 λi,p g(ti ).
i=0

D’autre part on a :
X X
p

 λ i,p g(ti ) + λi,p g(ti ) si p est impair
X 
i<p/2 i>p/2
λi,p g(ti ) = X X
i=0


 λ i,p g(ti ) + λ p g(t p ) +
2
,p 2
λi,p g(ti ) si p est pair
i<p/2 i>p/2

Comme t p2 = 0, g(0) = 0, et tp−i = −ti donc g(tp−i ) = −g(ti ) et λp−i,p = λi,p . On obtient
alors
p
X X X
λi,p g(ti ) = λi,p g(ti ) + λp−i,p g(tp−i )
i=0 i<p/2 i>p/2
X X
= λi,p g(ti ) − λi,p g(ti ) = 0.
i<p/2 i>p/2

On conclut donc que Ep+1 (g) = 0.

Proposition 3.2.1 Si p est impair, alors la formule (3.3) est de degré ≥ p.


Si p est pair, alors la formule (3.3) est de degré ≥ p + 1.

Démonstration : On a pour i ≤ p
Z 1
Li (t)dt = 2λi,p .
−1

Or, par construction, les polynômes Li vérifient :


(
1 si i = j
Li (tj ) =
6 j
0 si i =

donc p
X
λj,p Li (tj ) = λi,p .
j=0

42
3.2 Formules de Newton-Cotes fermées

Si on applique la formule (3.3) aux polynômes de base de Lagrange Li , on obtient :


Z 1 p
X
Li (t)dt = 2 λj,p Li (tj ) + Ep+1 (Li ).
−1 j=0

On tire donc que Ep+1 (Li ) = 0.


Comme les polynômes de Lagrange L0 , L1 , . . . , Lp forment une base de l’espace
vectoriel Pp , alors pour tout P ∈ Pp on a Ep+1 (P ) = 0. Donc la formule est de degré
≥ p. Si, de plus, p est un entier pair alors la fonction g(t) = tp+1 est une fonction impaire
et donc Ep+1 (tp+1 ) = 0, d’après le lemme 3.2.3.
Proposition 3.2.2 Soit (
p si p est impair,
N=
p + 1 si p est pair.
On a
p
(
X 0 pour k ≤ N, k impair,
λj,p tkj = 1
j=0 k+1
pour k ≤ N, kpair.
Pp
En particulier, i=0 λj,p = 1.
Démonstration : D’après la proposition 3.2.1, on a ∀k ≤ N , Ep+1 (tk ) = 0. Ce qui
donne :
p Z 1 (
X 0 si k ≤ N, k impair,
2 λj,p tkj = tk dt = 2
i=0 −1 k+1
si k ≤ N, k pair.

Exemple 3.4 (Formule du trapèze)


Si on considère le cas p = 1, w(t) = 1, t0 = −1, t1 = 1, λ0,1 = λ1,1 = 21 , on obtient la
formule suivante : Z 1
g(t)dt = g(−1) + g(1) + E2 (g).
−1
Détermination de l’erreur E2 (g) :
Supposons que g est de classe C 2 sur [−1, 1] et soit P1 le polynôme d’interpolation
de Lagrange de g aux points −1, +1, alors on a
00
g (ηt )
g(t) − P1 (t) = (t − 1)(t + 1), avec ηt ∈ [−1, 1].
2
D’où 00
R1 R1
E2 (g) = −1
(g(t) − P1 (t))dt = −1
(g (ηt )
2
(t − 1)(t + 1))dt.
00
Puisque le polynôme (t2 − 1) garde un signe constant sur [−1, 1] et g est une fonction
continue sur [−1, 1], on peut donc appliquer le théorème de la moyenne pour conclure
qu’il existe η ∈ [−1, 1] tel que
00 R1 00
E2 (g) = g 2(η) −1 (t2 − 1)dt = − 32 g (η).

43
Chapitre 3. Intégration numérique

D’après la remarque 3.1.2, on aura pour tout f de classe C 2 sur [a, b] on a :


Z b
b−a (b − a)3 00
f (x)dx = (f (a) + f (b)) − f (η), η ∈ [−1, 1].
a 2 12

3.2.2 Etude de l’erreur dans les formules de Newton-Cotes


Théorème 3.2.1
1. Si p est pair et si f est de classe C p+2 ([a, b]), alors il existe η ∈ [a, b] tel que :
Z b p p
b−a b − a p+3 f (p+2) (η) p 2 Y
X Z
f (x)dx = (b − a) λi,p f (a + i )−( ) t (t − j)dt.
a i=0
p p (p + 2)! 0 j=1

2. Si p est impair et si f est de classe C p+1 ([a, b]), alors il existe η ∈ [a, b] tel que :
Z b p Z p
X b−a b − a p+2 f (p+1) (η) p Y
f (x)dx = (b − a) λi,p f (a + i )−( ) (t − j)dt.
a i=0
p p (p + 1)! 0 j=0

Démonstration : Nous donnons la démonstration dans le cas où p est pair. Le cas où p
est impair est à traiter en exercice.
Soient g ∈ C p+2 ([−1, 1]), x ∈ [−1, 1] et P le polynôme d’interpolation de Lagrange
aux points tj = −1 + p2 j, j = 0, 1, . . . , p.
Soient les fonctions h et α définies par :

g(x) − P (x)
si x 6∈ {t0 , . . . , tp }

 Q
(x)

h(x) = g 0 (t ) − P 0 (t ) (3.4)
k k

 Q0 si x = tk , k = 0, . . . , p
(tk )

et
g (x) − P 0 (x) − h(x) 0 (x)
 0 Q

 Q si x 6∈ {t0 , . . . , tp }
(x)

α(x) = Q0 00 00 Q00
 (tk )[g (tk ) − P (tk )] − (tk )[g 0 (tk ) − P (tk )]

 Q0 si x = tk , k = 0, . . . , p
2( (tk ))2
où p
Y Y
(t) = (t − j).
j=0

On vérifie facilement que limx→tk h(x) = h(tk ) et limx→tk α(x) = α(tk ). En effet,
g(x) − P (x) (t − tk ) g(x) − P (x) (t − tk )
lim h(x) = lim Q = lim Q
x→tk x→tk (x) (t − tk ) x→tk (t − tk ) (x)
0 0
g (tk ) − P (tk )
= Q0 = h(tk ).
(tk )
De la même manière, on obtient la deuxième égalité. On conclut donc que les fonctions h
et α sont continues sur [−1, 1].

44
3.2 Formules de Newton-Cotes fermées

Lemme 3.2.4 La fonction h définie par (3.4) est de classe C 1 sur [−1, 1]. De plus,
(p+2)
∀x ∈ [−1, 1], h0 (x) = α(x) et il existe ξ = ξ(x) ∈ [−1, 1] tel que h0 (x) = g (p+2)!(ξ) .

Démonstration : D’après sa définition, on voit que la fonction h est dérivable en tout


point x tel que x 6∈ {t0 , t1 , . . . , tp } et on a :
Y
g(x) − P (x) = (x)h(x).

D’où Y0 Y
g 0 (x) − P 0 (x) = (x)h(x) + (x)h0 (x),
et donc Y0 Y
g 0 (x) − P 0 (x) − (x)h(x) = (x)h0 (x).
D’après la définition de la fonction α, on obtient α(x) = h0 (x). Et comme α est continue,
on conclut donc que la fonction h est de classe C 1 sur [−1, 1] et α(x) = h0 (x) pour tout
x ∈ [−1, 1].
Pour tout x ∈ [−1, 1] posons
Y Y
Qx (t) = P (t) + h(x) (t) + (t − x)α(x) (t).

On peut vérifer facilement qu’on a : Q


a) Le polynôme Qx est un polynôme de degré (p + 2), car est est un polynôme de
degré (p + 1) et donc Qx ∈ Pp+2 .
b) Qx (ti ) = g(ti ) pour i = 0, 1, . . . , p,
c) Qx (x) = g(x) et Q0x (x) = g 0 (x) pour tout x,
00 00
d) Qx (x) = g (x) pour x ∈ {t0 , t1 , . . . , tp }.
Posons φ(t) = g(t) − Qx (t). Alors on a :

φ(ti ) = 0 ∀i ∈ {0, . . . , p},


φ(x) = φ0 (x) = 0, ∀x,
00
φ (x) = 0 ∀x ∈ {t0 , t1 , . . . , tp }.
00
En appliquant le théorème de Rolle successivement à φ, φ0 , φ , . . . , φ(p) , on aboutit
à l’existence de ξ = ξ(x) ∈ [−1, 1] tel que φ(p+1) (ξ) = 0.
Or
Q(p+2)
x (t) = (p + 2)!α(x),
car P (p+2) (t) = (p+2) (t) = 0 et ((t − x) (t))(p+2) = (p + 2)!. Donc φ(p+1) (ξ) = 0, d’où
Q Q

0 g (p+2) (ξ)
α (x) = .
(p + 2)!

45
Chapitre 3. Intégration numérique

Lemme 3.2.5 Si p est un entier pair, p = 2m, et (t) = m−1


Q Q
j=0 (t − tj ) alors la fonction
définie par : Z xY
u(x) = (t)dt ∀x ∈ [−1, 1],
−1

vérifie
u(x) ≥ 0 ∀x ∈ [−1, 1],
u(1) = u(−1) = 0.

Démonstration : On a :
Y 2m
Y m−1
Y
(t) = (t − tj ) = t (t2 − t2j ),
j=0 j=0
Q
car t2m−j = −tj et donc (t) est une Q fonction impaire et alors u(1) = u(−1) Q = 0.
Soit k ∈ {0, 1, . . . , p}. On a (t) ≥ 0 pour t ∈ [t2k , t2k+1 ] et (t) ≤ 0 pour
t ∈ [t2k+1 , t2k+2 ]. La fonction u est donc croissante sur [t2k , t2k+1 ] et elle est décroissante
sur [t2k+1 , t2k+2 ].
Pour tout k tel que 2k + 2 ≤ m, on a :
Z t2k+2 Y Z t2k+1 Y Z t2k+2 Y
(t)dt = (t)dt + (t)dt
t2k t2k t2k+1
Z t2k+1 2m
Y Z 2m
t2k+2 Y
= (t − tj )dt + (t − tj )dt.
t2k j=0 t2k+1 j=0

2
En posons s = t − 2m
on obtient
Z t2k+2 Y Z 2m
t2k+1 Y Z t2k+1 2m−1
Y
(t)dt = (t − tj )dt + (s − tj )ds
t2k t2k j=0 t2k j=−1
Z t2k+1 2k
Y 2m−1
Y
= (t − t2m + t − t−1 ) (t − tj ) (t − tj )dt.
t2k j=0 j=2k+1

2
Comme tj = −1 + 2m
j on a :
Z t2k+2 Z t2k+1 2k 2m−1
Y 1 Y Y
(t)dt = 2(t + ) (t − tj ) (t − tj )dt
t2k t2k 2m j=0 j=2k+1

Or, pour t ∈ [t2k , t2k+1 ], on a :


1 1 2 1
(t + ) ≤ (t2k+1 + ) = −1 + (2k + 1) +
2m 2m 2m 2m
1 −1
= −1 + (4k + 2 + 1) ≤ ≤ 0 (car 2k + 2 ≤ m)
2m 2

46
3.2 Formules de Newton-Cotes fermées

2k
Y 2m−1
Y
De plus, (t − tj ) ≥ 0 (produit de 2k + 1 facteurs positifs) et (t − tj ) ≤ 0 (produit
j=0 j=2k+1
de 2m − 2k − 1 facteurs négatifs).
Z t2k+2 Y
Donc (t)dt ≥ 0 pour tout k tel que 2k + 2 ≤ m.
t2k
Pour tout k tel que m < 2k + 2 ≤ 2m, on a :
Z t2k+2 Y
u(t2k+2 ) = (t)dt
−1
Zt2m−2k−2 Y Z t2k+2 Y
= (t)dt + (t)dt
−1 t2m−2k−2
Z t2k+2 Y
= u(t2m−2k−2 ) + (t)dt car t2m−2k−2 = −t2k+2
t−2k−2
Y
= u(t2m−2k−2 ) car est impaire.

D’où u(t2k+2 ) ≥ 0 d’après 3/ et puisque 2m − 2k − 2 ≤ m.


En conclusion, on a u(t2k+2 ) ≥ 0 pour tout k ∈ {0, . . . , m − 1}. Et comme la fonction
u est donc croissante sur [t2k , t2k+1 ] et décroissante sur [t2k+1 , t2k+2 ] (d’après 1/ et 2/ ),
on a alors u(x) ≥ 0 pour tout x ∈ [−1, 1].
Démonstration du théorème 3.1 : On a :
Z 1 p
X
Ep+1 (g) = g(t)dt − 2 λi,p g(ti )
−1 i=0
Z 1 Z 1 Y
= (g(t) − P (t))dt = h(t) (t)dt
−1 −1

Par intégration par parties, on obtient :


Z 1 Z 1
0
Ep+1 (g) = [h(t)u(t)]+1
−1 − h (t)u(t)dt = − h0 (t)u(t)dt
−1 −1

D’où d’après le lemme 3.2.4,


1
g (p+2) (ξt )
Z
Ep+1 (g) = − u(t)dt.
−1 (p + 2)!

Comme la fonction u est de signe constant et g (p+2) est continue sur [−1, 1], on en déduit,
en appliquant le théorème des valeurs intermédiaires, l’existence d’un réel θ ∈ [−1, 1] tel
que :
g (p+2) (θ) 1
Z
Ep+1 (g) = − u(t)dt
(p + 2)! −1

47
Chapitre 3. Intégration numérique

Or, par une intégration par parties, on obtient :


Z 1 Z 1 Y
u(t)dt = [(t + − 1)u(t)]+1
(t + 1) −1 (t)dt
−1 −1
Z 1 p
Y
=− (t + 1) (t − tj )dt
−1 j=0
Z 1 p
2
Y j
=− (t + 1) (t + 1 − )dt (changement de variable s = t + 1)
−1 j=1
m
Z p
2
2
Y j
=− s (s − )ds (changement de variable t = ms)
0 j=1
m
 p+3 Z p Y p
1
=− t2 (t − j)dt
m 0 j=1

D’où :
1 p p+3 p p
g (p+2) (θ)
Z  Z
X 1 2
Y
g(t)dt = 2 λi,p g(ti ) + t (t − j)dt.
−1 i=0
m (p + 2)! 0 j=1

En utilisant la remarque 3.1.2, on obtient :

b p p p
b−a b − a p+3 f (p+2) (η)
Z X Z Y
2
f (x)dx = (b − a) λi,p f (a + i )−( ) t (t − j)dt,
a i=0
p p (p + 2)! 0 j=1

avec η ∈ [a, b].


Exemple 3.5 (Formule de Simpson)
Z 2
4
Pour p = 2, on a λ0,2 = λ2,2 = 1
6
, λ1,2 = 2
3
et t2 (t − 1)(t − 2)dt = − . Donc
0 15

b
(b − a)5 (4
 
b−a
Z
a+b
f (x)dx = f (a) + 4f ( ) + f (b) − f (η), avec η ∈ [a, b].
a 6 2 2880

Exemple 3.6 (Formule de Boole)


7
Pour p = 4, on a λ0,4 = λ4,4 = 90 , λ1,4 = λ3,4 = 16
45
2
, λ2,4 = 15 .
b−a
L’application du théorème 3.2.1 donne en posant h = 4 :

b
b−a
Z
f (x)dx = [7f (a) + 32f (a + h) + 12f (a + 2h) + 32f (a + 3h) + 7f (b)] + E(f ),
a 90
 7
8 b−a
avec E(f ) = − f (6) (η) et η ∈ [a, b].
945 4

48
3.3 Formules de Newton-Cotes composées

3.3 Formules de Newton-Cotes composées


D’après l’expression du terme d’erreur dans les formules de Newton-Cotes, on
constate que ces formules sont d’autant plus précises que la longeur de l’intervalle
d’intégration b − a est petit. C’est pour cela que ces formules sont en général utilisées
d’une manière “composée”. Plus précisément : on subdivise l’intervalle [a, b] en n sous-
b−a
intervalles de même longueur : a = α0 < · · · < αn = b avec αi = a+i , i = 0, 1, . . . , n),
h
puis on écrit :
Z b Xn−1 Z αi+1
f (x)dx = f (x)dx.
a i=0 αi

On applique alors la formule de quadrature sur [αi , αi+1 ], on obtient le :


Z p 
1 pY t−j

∗ b−a
Théorème 3.3.1 Soient p, n ∈ N . En posant h = n et λi,p = dt on
p 0 j=0 i − j
j6=i
a:
p−1
Z b " n−1
# n−1
!
X X X h
f (x)dx = h λ0 f (a) + f (b) + 2 f (a + ih) + λj f (a + ih + j ) +Ep+1,n (f )
a i=1 j=1 i=0
p
avec :
1. Si p est pair et la fonction f est de classe C p+2 sur [a, b] alors
p+3  p+2 (p+2) p
(η) p 2 Y

b−a
Z
1 f
Ep+1,n (f ) = t (t − j)dt avec η ∈ [a, b].
p n (p + 2)! 0 j=1

2. Si p est impair et la fonction f est de classe C p+1 sur [a, b] alors


p+2  p+1 (p+1) Z p
(η) p Y

b−a 1 f
Ep+1,n (f ) = (t − j)dt avec η ∈ [a, b].
p n (p + 1)! 0 j=1

Démonstration : On a d’après le théorème 3.2.1 :


Z b n−1 Z αi+1
X
f (x)dx = f (x)dx
a i=0 αi
p
n−1
!
X X αi+1 − αi
= (αi+1 − αi ) λj f (αi + j ) + Ei (f ) ,
i=0 j=0
p
avec
1. Si p est pair et la fonction f est de classe C p+2 sur [a, b]
p+3 (p+2) p
(ηi ) p 2 Y

αi+1 − αi
Z
f
Ei (f ) = t (t − j)dt avec ηi ∈ [αi , αi+1 ].
p (p + 2)! 0 j=1

49
Chapitre 3. Intégration numérique

2. Si p est impair et la fonction f est de classe C p+1 sur [a, b]


p+2 p p
f (p+1) (ηi )

αi+1 − αi
Z Y
Ei (f ) = (t − j)dt avec ηi ∈ [αi , αi+1 ].
p (p + 1)! 0 j=0

αi+1 −αi
Or p
= hp . D’où :

p
n−1
!
X X αi+1 − αi
(αi+1 − αi ) λj f (αi + j )
i=0 j=0
p
p−1
n−1 n−1 X
!
X X h
=h ((λ0 f (αi ) + λp f (αi+1 )) + λj f (αi + j )
i=0 i=0 j=1
p
p−1
n−1 n−1
!
X X X h
= h (λ0 [f (a) + f (b)] + 2λ0 f (a + ih) + λj f (αi + j ) .
i=1 j=1 i=0
p

D’après le théorème des valeurs intermédiaires, on a

n−1
1 X (k)
f (ηi ) = f (k) (η) avec η ∈ [a, b],
n j=1

où k = p + 1 si p est impair et k = p + 2 si p est pair.


En utilisant ces trois égalités dans la formule donnée au début de la démonstration, on
obtient la formule du théorème.

Exemple 3.7 : (Formule du trapèze composée)


Pour p = 1 et n ∈ N∗ on a :
" n−1
#
b
b−a (b − a)3 00
Z X
f a + i b−a

f (x)dx = f (a) + f (b) + 2 n
− 2
f (η), η ∈ [a, b].
a 2n i=1
12n

Exemple 3.8 : (Formule de Simpson composée)


Pour p = 2 et n ∈ N∗ on a :
" n−1 n−1
#
b
b−a b−a
Z X X
b−a
f (a + (i + 21 )

f (x)dx = f (a) + f (b) + 2 f a+i n +4
a 6n i=1 i=0
n
 5
1 b−a 00
− 4
f (η), η ∈ [a, b].
90n 2

Exemple 3.9 : (Formule de Boole composée)

50
3.4 Formules de quadrature de Gauss

Pour p = 4 et n ∈ N∗ on a :
Z b " n−1 n−1
h X X
f (x)dx = 7(f (a) + f (b)) + 14 f (a + ih) + 12 f (a + (i + 21 )h)
a 90 i=1 i=0
n−1
#
X
f (a + (i + 14 )h)) + f (a + (i + 34 )h)

+32
i=0
 7
8 b−a
− f (6) (η), η ∈ [a, b].
945n6 4

3.4 Formules de quadrature de Gauss


Soit la formule de quadrature :
Z b p
X
f (x)w(x)dx = λi f (αi ) + Ep+1 (f ). (3.5)
a i=0

Le principe de la méthode de quadrature de Gauss consiste à choisir les poids λi ainsi que
les noeuds xi de sorte que la formule (3.5) soit de degré le plus élevé possible.
Exemple 3.10 :
Cas où p = 1, w(x) = 1 et [a, b] = [−1, 1].
Cherchons λ0 , λ1 , x0 , x1 tels que la formule :
Z b
f (x)w(x)dx = λ0 f (x0 ) + λ1 f (x1 ) + E2 (f ),
a

soit de degré le plus élevé possible, c’est à dire tels que : E2 (f ) = 0 pour f (x) = xk avec
k = 0, 1, . . . , m, et m le plus élevé possible. On aura donc :
Z 1
1dx = λ0 + λ1 = 2,
Z 1 −1

xdx = λ0 x0 + λ1 x1 = 0,
Z −1
1
2
x2 dx = λ0 x20 + λ1 x21 = ,
Z−11 3
x3 dx = λ0 x30 + λ1 x31 = 0,
−1
..
.
Les quatres premières équations √forment un système non linéaire qui admet comme
solution λ0 = λ1 = 1, x0 = −x1 = 33 .
On obtient donc la formule :
Z 1 √ √
3 3
f (x)dx = f (− ) + f( ) + E2 (f ),
−1 3 3
où E2 (f ) est un polynôme de degré 3.

51
Chapitre 3. Intégration numérique

3.4.1 Polynômes orthogonaux


Soit w : [a, b] → R telle que :
i) w soit continue sur ]a, b[ et w(x) > 0, ∀x ∈]a, b[,
ii) x → xk w(x) soit intégrable sur [a, b], ∀k ∈ N.
On définit sur P (l’espace vectoriel des polynômes à coefficients réels) le produit scalaire :
Z 1
(P, Q)w = w(x)P (x)Q(x)dx.
−1

Théorème 3.4.1 Il existe une suite (Qn )n∈N unique de polynômes telle que :
1. deg(Qn ) = n et Qn est monique (i.e., le coefficient de xn est 1 dans Qn ),
2. Pour tout P dans Pn−1 (le sous espace vectoriel de P des polynômes de degré
≤ n − 1) on a :
(P, Qn )w = 0,
et la suite (Qn ) est définie par :

(1, x)w
Q0 (x) = 1, Q1 (x) = x − ,
(1, 1)w
et
Qn (x) = (x − αn )Qn−1 (x) − βn Qn−2 (x),
(xQn−1 , Qn−1 )w γn−1
avec αn = , βn = et γk = (Qk , Qk )w
γn−1 γn−2

Démonstration : Existence : En utilisant le procédé d’orthogonalisation de Gram-


Schmidt sur la base canonique 1, x, x2 , . . ., on obtient :
(1, x)w
Q0 (x) = 1, Q1 (x) = x − ,
(1, 1)w
et
n−1
n
X (xn , Qi )w
Qn (x) = x − ai,n Qi (x) avec ai,n = .
i=0
γi
Les polynômes Q0 , Q1 , . . . , Qn forment une base de l’espace vectoriel Pn .Ils sont orthogo-
naux entre eux par construction et ils vérifient les conditions 1. et 2. Il est clair que 1. et
2. entrainent l’unicité de Qn .
Calcul des coefficients : On a que, pour tout k ∈ N∗ , les polynômes Q0 , Q1 , . . . , Qk
forment une base de l’espace vectoriel Pk et que tous les polynômes Qk sont moniques.
Alors, pour tout ∈ N∗ , Qk − xQk−1 ∈ Pk−1 et il s’écrit d’une façon unique sous la forme
Pkk−1
Qk − xQk−1 = i=0 µi Qi . Comme les Qi sont orthogonaux on a :
k−1
X k−1
X
Qk − xQk−1 , Qk )w = ( µi Qi , Qk )w = µi (Qi , Qk )w = 0.
i=0 i=0

52
3.4 Formules de quadrature de Gauss

D’où (Qk , Qk )w = (xQk−1 , Qk )w pour tout k ∈ N∗ , et (Qk − xQk−1 , Qj )w = 0 pour tout


j < k − 1 et pour tout k ∈ N∗ . Pn−1
Soit n ∈ N∗ . Alors on a Qn − xQn−1 = i=0 µi Qi et on peut calculer le produit
scalaire suivant :
n−1
!
X
(Qn − xQn−1 , Qn−1 )w = µi Qi , Qn−1 = µn−1 (Qn−1 , Qn−1 )w .
i=0 w

D’autre part

(Qn − xQn−1 , Qn−1 )w = (Qn , Qn−1 )w − (xQn−1 , Qn−1 )w = −(xQn−1 , Qn−1 )w .

D’où
−(xQn−1 , Qn−1 )w
µn−1 = .
(Qn−1 , Qn−1 )w
De même on a
n−1
!
X
(Qn − xQn−1 , Qn−2 )w = µi Qi , Qn−2 = µn−2 (Qn−2 , Qn−2 )w ,
i=0 w

et par ailleurs,

(Qn − xQn−1 , Qn−2 )w = (Qn , Qn−2 )w − (xQn−1 , Qn−2 )w = −(xQn−1 , Qn−2 )w .

D’où
−(xQn−1 , Qn−2 )w (Qn−1 , xQn−2 )w
µn−2 = =− .
(Qn−2 , Qn−2 )w (Qn−2 , Qn−2 )w
On a (Qn − xQn−1 , Qj )w = 0 pour tout j < n − 2. On obtient donc Qn − xQn−1 =
µn−1 Qn−1 + µn−2 Qn−2 . D’où

Qn = (x − µn−1 )Qn−1 + µn−2 Qn−2 ,

avec
(xQn−1 , Qn−1 )w
µn−1 = ,
(Qn−1 , Qn−1 )w
et
(Qn−1 , xQn−2 )w
µn−2 = − .
(Qn−2 , Qn−2 )w
En posant αn = µn−1 et βn = −µn−2 , on obtient les formules du théorème.

Définition 3.4.1
Les polynômes (Qn )n∈N définis au théorème 3.4.1, s’appellent les polynômes orthogonaux
sur [a, b] relativement à la fonction poids w.

53
Chapitre 3. Intégration numérique

Exemples 3.11 :
On a les deux exemples classiques suivants :
1. Polynômes de Legendre : Pour [a, b] = [−1, 1] et w(x) = 1, on a :

Q0 (x) = 1,
Q1 (x) = x,
1
Q2 (x) = x2 − ,
3
2 3
Q3 (x) = x(x − ),
5
4 6 2 3
Q4 (x) = x − x + ,
7 35
..
.

Ces polynômes sont appelés les polynômes de Legendre.


1
2. Polynômes de Tchebytchev : Pour [a, b] = [−1, 1] et w(x) = √ , on a :
1 − x2

Q0 (x) = 1,
1
Qn (x) = cos(n arccos(x)), n ∈ N∗ .
2n−1
Ces polynômes sont appelés les polynômes de Tchebytchev et sont en général notés
1
Tn (x) = cos(n arccos(x)) n ∈ N∗ .
2n−1
Théorème 3.4.2 Soit (Qn )n∈N la suite des polynômes orthogonaux sur [a, b] relativement
à la fonction poids w. Alors les racines de Qn sont réelles, distinctes et appartiennent à
]a, b[ pour n ∈ N∗ .

Démonstration : Soient α1 , α1 , . . . , αm , les racines distinctes de Qn appartenant à ]a, b[.


On a bien m ≤ n. Montrons alors que m = n. Raisonnons par l’absurde et supposons que
m<n
Posons (x) = m
Q Q Q
(x − αi ) alors le polynôme (x) ∈ Pn−1 , car m < n donc
i=0R
Q b Q Q
( (x), Qn (x))w = 0. D’où a Q w(x) (x)Qn (x)dx = 0. Comme w(x) (x)Qn (x) garde un
signe constant sur ]a, b[ alors (x)Qn (x) ≡ 0 ce qui est absurde car deg(Qn ) = n ≥ 1.

Théorème 3.4.3 Pour tout n ∈ N, il existe une formule de quadrature unique,


Z b n
X
f (x)w(x)dx = λi f (xi ) + En+1 (f ),
a i=0

de degré ≥ 2n + 1. De plus :
1. Les noeuds xi sont les racines de Qn+1 (le (n + 1)ième polynôme orthogonal sur
]a, b[ relativement à w).

54
3.4 Formules de quadrature de Gauss

Rb
2. λi = a
Li (x)w(x)dx où
n
Y x − xj
Li (x) = ( ), pour i ∈ {0, 1, . . . , n}.
j=0
xi − xj
j6=i

3. Si f est de classe C 2n+2 sur [a, b] alors il existe η ∈ [a, b] tel que :
b
f (2n+2) (η)
Z
En+1 (f ) = [Qn+1 (x)]2 w(x)dx.
(2n + 2)! a

Démonstration : Unicité : Posons


Y n
Y
(x) = (x − xj ),
j=0

Q
et soit P ∈ Pn . Puisque (x)P (x) ∈ P2n+1 on a
Z bY
(x)P (x)w(x)dx = 0.
a

est nécessairement le (n + 1)ième polynôme orthogonal sur ]a, b[ relativement à w.


Q
Donc
Ses racines x0 , x1 , . . . , xn sont donc définies d’une manière unique. De plus, en écrivant que
la formule est exacte pour tout Li (x) (les polynômes de base de Lagrange) appartenant à
Pn , on obtient :
Z b
λi = Li (x)w(x)dx.
a

Ce qui implique l’unicité des coefficients λi .


Existence : Soit Qn+1 le (n + 1)ième polynôme orthogonal sur ]a, b[ relativement à w.
On sait que ses racines sont distinctes et appartiennent à ]a, b[. Notons x0 , x1 , . . . , xn ces
racines alors
n
Y
Qn+1 (x) = (x − xj ).
j=0

Posons Z b
λi = Li (x)w(x)dx.
a

Considérons (L0 , . . . , Ln ), la base de l’espace Pn formé par les polynômes de Lagrange,


alors tout polynôme P de Pn s’écrit d’une manière unique sous la forme P (x) =
P n
i=0 αi Li (x) où les αi sont des constantes réelles.
Or puisque (
1 si i = j,
Li (xj ) =
0 si i 6= j,

55
Chapitre 3. Intégration numérique

on a
n
X
P (x) = P (xi )Li (x).
i=0

D’où
Z b n
Z bX n
X Z b
P (x)w(x)dx = P (xi )Li (x)w(x)dx = P (xi ) Li (x)w(x)dx,
a a i=0 i=0 a

et donc Z b n
X
P (x)w(x)dx = λi P (xi ).
a i=0

La formule est donc exacte pour tout polynôme P appartenant à Pn .


Soit maintenant le polynôme S ∈ P2n+1 , la division Euclidienne du polynôme S par
le polynôme Qn+1 donne l’existence de deux polynômes P et R dans Pn tels que :

S(x) = P (x)Qn+1 (x) + R(x),

d’où, on a donc :
Z b Z b Z b
S(x)w(x)dx = P (x)Qn+1 (x)w(x)dx + R(x)w(x)dx
a a a
Z b n
X n
X
= R(x)w(x)dx = λi R(xi ) = λi S(xi ).
a i=0 i=0

Car la formule est exacte sur Pn et Qn+1 (xi ) = 0.


La formule est donc exacte pour tout S dans P2n+1 .
Pour S = L2i qui est un polynôme de P2n la formule est aussi exacte et on obtient :
Z b
λi = L2i (x)w(x)dx,
a

et donc λi > 0, i = 0, 1, . . . , n.
Etude de l’erreur : Soit H(x) le polynôme d’interpolation d’Hermite relativement aux
points x0 , x1 , . . . , xn tel que H(xi ) = f (xi ) et H 0 (xi ) = f 0 (xi ) pour i = 0, 1, . . . , n. On a :
Z b n
X n
X
H(x)w(x)dx = λi H(xi ) = λi f (xi ).
a i=0 i=0

Or, si f est de classe C 2n+2 sur [a, b], on sait qu’il existe ξ dans [a, b] tel que :
n
f (2n+2) (ξ) Y
f (x) − H(x) = (x − xj )2 .
(2n + 2)! j=0

56
3.4 Formules de quadrature de Gauss

D’où Z b n
X
En+1 (f ) = f (x)w(x)dx − λi f (xi )
a i=0
Z b
= (f (x) − H(x))w(x)dx
Za b
f (2n+2) (ξx ) 2
= Q (x)w(x)dx.
a (2n + 2)! n+1
Comme la fonction Q2n+1 (x) garde un signe constant et que f (2n+2) est continue sur [a, b],
on aura :
b
f (2n+2) (η)
Z
En+1 (f ) = Q2n+1 (x)w(x)dx,
(2n + 2)! a

avec η ∈ [a, b].

Remarque 3.4.1 En fait, la formule du théorème 3.4.3 est de degré exactement égal à
2n + 1. En effet, pour f (x) = x2n+2 , on a f (2n+2) (η) = (2n + 2)! et donc
Z b
En+1 (f ) = Q2n+1 (x)w(x)dx.
a

Remarque 3.4.2 Dans la formule de quadrature de Gauss à (n+1) points (théorème 3.4.3),
les coefficients λi peuvent s’exprimer sous la forme :
γn γn+1
λi = 0
=− 0
,
Qn+1 (xi )Qn (xi ) Qn+1 (xi )Qn+2 (xi )
Rb
avec γk = a
Q2n+1 (x)w(x)dx.

Démonstration : Les racines polynômes Qn+1 sont x0 , x1 , . . . , xn . Il s’écrit alors


n
Y
Qn+1 (x) = (x − xj ).
j=0

On sait aussi que le polynôme d’interpolation de Lagrange est :


n
Y x − xj
Li (x) = ( ).
j=0
xi − xj
j6=i

Il est facile de voir que


1 Qn+1 (x)
Li (x) = ,
Q0n+1 (xi ) x − xi

57
Chapitre 3. Intégration numérique

et le coefficient λi est donné par :


Z b Z b
1 Qn+1 (x)
λi = Li (x)w(x)dx = w(x)dx.
a Qn+1 (xi ) a x − xi
Qn+1 (x)
Calculons alors x−xi
. D’après la relation de récurrence qui lie les polynômes (Qk ), on
a:
γk
Qk+1 (x) = (x − αk+1 )Qk (x) − Qk−1 (x),
γk−1
d’où :
γk
Qk+1 (xi ) = (xi − αk+1 )Qk (xi ) − Qk−1 (xi ).
γk−1
En multipliant la première équation par Qk (xi ) et la deuxième par Qk (x), puis en
retranchant la première de la deuxième, on aura après division par γk :

Qk+1 (x)Qk (xi ) − Qk (x)Qk+1 (xi ) Qk (x)Qk (xi ) Qk (x)Qk−1 (xi ) − Qk−1 (x)Qk (xi )
= (x−xi ) + .
γk γk γk−1

Ce qui entraine que :


n n
X Qk (x)Qk (xi ) X Qk+1 (x)Qk (xi ) − Qk (x)Qk+1 (xi )
(x − xi ) =
k=1
γk k=1
γk
n
X Qk (x)Qk−1 (xi ) − Qk−1 (x)Qk (xi )

k=1
γk−1
Qn+1 (x)Qn (xi ) Q1 (x)Q0 (xi ) − Q0 (x)Q1 (xi )
= −
γn γ0
Qn+1 (x)Qn (xi ) (x − xi )
= − .
γn γ0

D’où !
n
Qn+1 (x) γn X Qk (x)Qk (xi ) 1
= + .
x − xi Qn (xi ) k=1
γk γ0
et
Z b
1 Qn+1 (x)
λi = w(x)dx
Q0n+1 (xi ) a x − xi
Z b X n
!
γn Qk (x)Qk (xi ) 1
= + w(x)dx
Qn (xi )Q0n+1 (xi ) a k=1
γk γ0
( n )
X Qk (xi ) Z b Z b
γn 1
= Qk (x)w(x)dx + w(x)dx
Qn (xi )Q0n+1 (xi ) k=1
γk a a γ0

58
3.4 Formules de quadrature de Gauss

Or Q0 (x) = 1, donc
Z b Z b
Qk (x)w(x)dx = Qk (x)Q0 (x)w(x)dx = 0, pour k ≥ 1,
a a

et Z b
Q0 (x)Q0 (x)w(x)dx = γ0 .
a
On obtient donc :
γn
λi = .
Qn (xi )Q0n+1 (xi )
D’après la relation de récurrence, on a
γn+1
Qn+2 (x) = (x − αn+2 )Qn+1 (x) − Qn (x)
γn
d’où
γn+1
Qn+2 (xi ) = − Qn (xi ),
γn
D’où
γn γn+1
=− ,
Qn (xi ) Qn+2 (xi )
et donc
−γn+1
λi = .
Qn+2 (xi )Q0n+1 (xi )

Corollaire 3.4.1 (Formule de Gauss-Tchebytchev à (n + 1) points)


Soit f une fonction définie sur [−1, 1] telle que √f1−x
(x)
2 soit intégrable. Alors, pour tout n
dans N :
Z 1 n
f (x) π X 2i + 1 π f (2n+2) (η)
√ dx = f (cos π) + , avec η ∈ [−1, 1].
−1 1 − x2 n + 1 i=0 2(n + 1) 2 4n (2n + 2)!

Démonstration : On a :
1
Qn+1 (x) = Tn+1 (x) = cos((n + 1) arccos(x)), n ∈ N∗ ,
2n
et
2i + 1
xi = cos π, pour i = 0, 1, . . . , n.
2(n + 1)
2i+1
Donc, en posant σi = 2(n+1)
π

n + 1 sin(n + 1)σi 1
Q0n+1 (xi ) = − n
et Qn+2 (xi ) = n+1 sin(n + 1)σi − sin σi ,
2 sin σi 2

59
Chapitre 3. Intégration numérique

et
1 π
cos2 ((n + 1) arccos(x))
Z Z
1 1 π 1
γn+1 = ( n )2 √ dx = n cos2 ((n + 1)s) ds = .
2 −1 1−x 2 4 0 2 4n

D’où
γn+1 π
λi = − 0
= , pour i = 0, . . . , n.
Qn+1 (xi )Qn+2 (xi ) n+1

60
Chapitre 4

Résolution numérique des équations


différentielles ordinaires

4.1 Introduction
Les équations différentielles constituent l’outil le plus fréquemment utilisé dans la
modélisation des problèmes des sciences physiques et ceux de l’ingénieur.
Dans ce chapitre, nous présenterons quelques méthodes (ou schémas) numériques
pour la résolution des équations différentielles avec des conditions initiales.
Le problème auquel on s’intéresse, consiste à trouver y : x → y(x) définie sur [a, b]
vérifiant :
(
y 0 (x) = f (x, y), x ∈ [a, b], (Equation différentielle)
(4.1)
y(a) = y0 , (Condition initiale)

où f : [a, b] × R → R. Ce problème s’appele problème de Cauchy.

Théorème 4.1.1 (Existence et unicité)


On suppose que
i) f est continue sur D = [a, b] × R ;
ii) ∃L > 0; ∀x ∈ [a, b], ∀(y1 , y2 ) ∈ R2 , |f (x, y1 ) − f (x, y2 )| ≤ L |y1 − y2 |.
Alors le problème (4.1) admet une solution unique sur [a, b].

Remarque 4.1.1
1) La condition ii) est appelée condition de Lipschitz par rapport à la deuxième
variable.
∂f
2) Si (x, y) → est continue et bornée sur D = [a, b] × R, alors la condition ii)
∂y
∂f
est vérifiée (il suffit de prendre L = max (x, y) et d’appliquer la formule des
(x,y)∈D ∂y
accroissements finis à la fonction y → f (x, y)).

61
Chapitre 4. Résolution numérique des équations différentielles ordinaires

Exemple 4.1
Le problème
y 0 (x) = −y + 1 ,

x ∈ [e, 5],
x ln(x) ln(x)
y(e) = e,

−y 1
admet une solution unique, puisque la fonction f : (x, y) → + , vérifie
x ln(x) ln(x)

y1 − y2 1
|f (x, y1 ) − f (x, y2 )| =
≤ |y1 − y2 | .
x ln(x) e

Remarque 4.1.2 Les résultats obtenus pour (4.1) peuvent être généralisés, modulo
quelques “adaptations”, aux systèmes différentiels et aux équations différentielles d’ordre
supérieur.
1) Les systèmes différentiels du premier ordre : On cherche y : [a, b] → Rn solution
de (
y 0 (x) = f (x, y), x ∈ [a, b],
y(a) = y0 ,
où
f : [a, b] × Rn → Rn
(x, y) 7→ f (x, y)
avec    
y1 f1 (x, y1 , . . . , yn )
 y2  f1 (x, y1 , . . . , yn )
y =  ..  et f (x, y) =  .
   
..
.  . 
yn f1 (x, y1 , . . . , yn )
L’équation y 0 (x) = f (x, y) s’écrit :


 y10 (x) = f1 (x, y1 , . . . , yn ),

 y 0 (x) = f2 (x, y1 , . . . , yn ),

2
..


 .
 y 0 (x) = f (x, y , . . . , y ).

n n 1 n

2) Les équations différentielles d’ordre supérieur à 1 :


Il suffit de se ramener au cas des systèmes d’ordre 1. Prenons un exemple :
 00
0
y (x) = h(x, y, y ), x ∈ [a, b],

y(a) = y0 ,

 0
y (a) = y00 ,

62
4.1 Introduction

En posant u1 = y et u2 = y 0 on obtient :
 0

 u1 = u2 ,
u0 = h(x, u , u ),

2 1 2


 u1 (a) = y0 ,
u2 (a) = y00 .

Le cas général est :


(
y (m) (x) = h(x, y, y 0 , . . . , y (m−1) ), x ∈ [a, b],
(m−1)
y(a) = y0 , y 0 (a) = y00 , . . . , y (m−1) (a) = y0 .

Si on pose u1 = y et u2 = y 0 , . . . , um = y (m−1) on obtient alors :


 0

 u1 = u2 ,
u0 = u ,

2 3
0


 um = f (x, u1 , u2 , . . . , um ),
(m−1)
u1 (a) = y0 , u2 (a) = y00 , . . . , um (a) = y0

.
Notations : Dans toute la suite, Y (x) désigne la solution exacte du problème (4.1).
Hypothèse : Dans toute la suite, on supposera que f vérifie les conditions i) et ii) du
théorème 4.1.1.

4.1.1 Principe des méthodes (ou schémas) numériques


On s’intéresse à la détermination d’une approximation de la solution Y du problème
(4.1). Pour cela, on procéde à une discrétisation du problème :
on considère une subdivision a = x0 < x1 < · · · < xn = b de l’intervalle [a, b], et on
cherche une valeur approchée yn de y(xn ) pour n = 0, 1, . . . , N .
On étudiera dans ce chapitre deux types de méthodes :
1) Les méthodes à un pas : Le calcul de yn ne fait intervenir que les valeurs de xn−1
et de yn−1 (en plus des données du problème).
2) Les méthodes à plusieurs pas : le calcul de yn fait intervenir les valeurs de xn−1 ,
. . . , xn−k et de yn−1 , . . . , yn−k .
Pour la commodité de l’exposé, on imposera dans toute la suite aux points xn d’être
équidistants (en pratique, dans les codes sur les équations différentielles, ce ne sera pas le
b−a
cas). On définit le pas de l’approximation h = , alors xn = a + nh, n = 0, 1, . . . , N .
N

4.1.2 La méthode d’Euler


On cherche une approximation de y solution de
 0
y (x) = f (x, y), x ∈ [a, b],
y(a) = y0 .

63
Chapitre 4. Résolution numérique des équations différentielles ordinaires

b−a
Soit x0 = a < x1 < · · · < xN = b avec xn = a + nh pour 0 ≤ n ≤ N , h = .
N
Le schéma d’Euler est donné par :

y 0 = Y0 ,
(4.2)
yn+1 = yn + hf (xn , yn ), n = 0, 1, . . . , N.

Ce schéma peut être interprété de trois manières différentes :

1) Interprétation graphique
Si on considère la courbe (C) de la fonction Y (x) et la tangente (T ) à la courbe au
point d’abscisse xn , on approche (C) sur [xn , xn+1 ] par (T ). De l’équation de la tangente
(T ) à la courbe au point d’abscisse xn on a
T (xn+1 ) − T (xn )
= Y 0 (xn ) = f (xn , Y (xn )).
h
D’où
Y (xn+1 ) − Y (xn ) ' T (xn+1 ) − T (xn ) = hY 0 (xn ) = hf (xn , Y (xn )).
Donc yn+1 ' Y (xn+1 ) et yn ' Y (xn ), vérifient

yn+1 = yn + hf (xn , yn ).

2) Utilisation de la formule des accroissements finies


Dans l’intervalle [xn , xn+1 ], on a

Y (xn+1 ) − Y (xn ) = hY 0 (cn ) = hf (cn , Y (cn )), òu xn < cn < xn+1 .

En fait, on ne connait pas la valeur de cn . La méthode d’Euler consiste à faire l’approxi-


mation suivante : remplacer cn par xn et Y (cn ) par yn . On obtient alors

yn+1 = yn + hf (xn , yn ).

3) Utilisation d’une formule d’intégration numérique


En intégrant y 0 (x) = f (x, y) sur [xn , xn+1 ], on obtient
Z xn+1 Z xn+1
0
Y (x)dx = f (x, Y (x))dx.
xn xn

En utilisant la formule d’intégration du rectangle à gauche, on obtient :

Y (xn+1 ) − Y (xn ) = hf (xn , Y (xn )) + erreur.

D’où
yn+1 = yn + hf (xn , yn ).

64
4.2 Etude générale des méthodes à un pas

4.2 Etude générale des méthodes à un pas


Dans les méthodes à un pas, le calcul de yn+1 se fait à partir de xn , yn et h. Nous
écrivons ceci sous la forme :
(
y 0 = Y0 ,
(4.3)
yn+1 = yn + hΦ(xn , yn , h) n = 0, 1, . . . , N,

où Φ est une fonction continue sur [a, b] × R × [0, h∗ ], avec h∗ > 0 donné. Donc choisir une
méthode c’est choisir la fonction Φ.
Par exemple, si Φ(x, y, h) = f (x, y), alors il s’agit de la méthode d’Euler.
Nous allons étudier les conditions qu’il faut imposer à P hi et le lien entre Φ et f
pour que la méthode soit jugée “bonne”. Dans ce paragraphe, nous ferons d’abord une
théorie générale des méthodes à un pas en vue de l’étude de l’erreur de discrétisation
en = Y (xn ) − yn . Ceci nous amène à introduire les notions de consistance, de stabilité,
d’ordre et de convergence.
L’erreur dans une méthode est due à deux causes :
- l’erreur de discrétisation due au procédé de calcul : par exemple, dans la méthode
d’Euler, on a approché la courbe par sa tangente,
- les erreurs d’arrondi dues aux pertes de chiffres dans les opérations arithmétiques
effectuées par l’ordinateur.
On doit donc exiger que la méthode soit tels que :
- L’erreur de discrétisation diminue lorsque h diminue et à la limite y doit tendre
vers Y (x) quand h tend vers zéro : c’est la convergence.
- L’erreur de discrétisation peut être évaluée en fonction de h, ceci nous permettra
d’obtenir l’ordre de la méthode.
- La répercussion des erreurs globales sur les calculs ultérieurs soit contôler : c’est la
stabilité.
- Que la méthode approche l’équation différentielle : c’est la consistance.

Définition 4.2.1 (Consistance)


La méthode yn+1 = yn + hΦ(xn , yn , h) est dite consistante avec l’équation différentielle
(4.1) : y 0 (x) = f (x, y) si

Y (xn+1 ) − Y (xn )
lim max − Φ(x n , Y (x n ), h) = 0,
h→0 0≤n≤N −1 h

pour toute solution Y (x) de l’équation différentielle (4.1).

Y (xn+1 ) − Y (xn )
Remarque 4.2.1 La quantité n+1 = −Φ(xn , Y (xn ), h) représente dans
h
ième
un certain sens l’erreur que l’on fait au n pas, en remplaçant l’équation différentielle
(4.1) par le schéma (4.3).

65
Chapitre 4. Résolution numérique des équations différentielles ordinaires

Définition 4.2.2 (Stabilité)


Soient (yn , 0 ≤ n ≤ N ) et (zn , 0 ≤ n ≤ N ) les solutions des systèmes :
(
yn+1 = yn + hΦ(xn , yn , h),
y0 fixé,

et
(
zn+1 = zn + h(Φ(xn , yn , h) + ξn ),
z0 fixé,

où ξn est quelconque.


La méthode est dite stable s’il existe une constante C indépendante de h, telle que

max |yn − zn | ≤ C max |ξn | .


0≤n≤N 0≤n≤N

Remarque 4.2.2 Cette notion de stabilité implique qu’une petite perturbation sur
les données n’entraine qu’une petite perturbation sur la solution (approchée) et ceci
indépendemment de h, ce qui, du fait de l’existence des erreurs d’arrondi, est absolument
nécessaire pour le traitement numérique du problème. Un schéma “instable” ne présente
aucun intérêt pratique. Notons que la notion de stabilité précédente est intrinséque au
schéma de résolution numérique.

Définition 4.2.3 (Convergence)


La méthode (4.3) est dite convergente si :

lim max |Y (xn ) − yn | = 0.


h→0 0≤n≤N −1

Remarque 4.2.3 Cette notion de convergence indique que l’erreur de discrétisation


en = Y (xn ) − yn tend vers zéro lorsque h tend vers zéro.

En fait, les trois notions précédentes : consistance, stabilité et convergence, ne sont


pas indépendantes. Nous allons le voir au théorème suivant.

Théorème 4.2.1 Si la méthode à 1 pas donnée par (4.3) : yn+1 = yn + hΦ(xn , yn , h) est
consistante et stable, alors elle est convergente.

Y (xn+1 ) − Y (xn )
Démonstration : Posons ξn = − Φ(xn , Y (xn ), h) avec ξ0 = 0. Alors on
h
a
Y (xn+1 ) = Y (xn ) + h(Φ(xn , Y (xn ), h) + ξn+1 ),

66
4.2 Etude générale des méthodes à un pas

et
Y (x0 ) = Y0 = y0 + ξ0 .
Puisque la méthode (4.3) est consistante alors on a

lim max |ξn | = 0. (4.4)


h→0 0≤n≤N

Par ailleurs, d’après la stabilité de la méthode , en remplacant zn par Y (xn )), on sait qu’il
existe C > 0 indépendant de h telle que

max |yn − Y (xn )| ≤ C max |ξn | . (4.5)


0≤n≤N 0≤n≤N

En faisant tendre h → 0 dans (4.5), on obtient grâce à (4.4) :

lim max |yn − Y (xn )| = 0, (4.6)


h→0 0≤n≤N

ce qui prouve que la méthode (4.3) est convergente et achève la démonstration.

Théorème 4.2.2 (Condition nécessaire de consistance)


La méthode (4.3) est consistante si et seulement si on a

∀x ∈ [a, b], ∀y ∈ R, Φ(x, y, 0) = f (x, y).

Démonstration : Posons
Y (xn+1 ) − Y (xn )
n+1 = − Φ(xn , Y (xn ), h).
h
Utilisant la formule des accroissements finis, on obtient :

∃cn ∈ [a, b], n+1 = f (cn , Y (cn )) − Φ(xn , Y (xn ), h).

Posons
αn = f (cn , Y (cn )) − Φ(cn , Y (cn ), 0),
et
βn = Φ(cn , Y (cn ), 0) − Φ(xn , Y (xn ), h).
On a alors :
n+1 = αn + βn .
Remarquons que

|βn | ≤ max |Φ(x, Y (x), h) − Φ(x0 , Y (x0 ), 0)| = β(h),


0≤n≤N

et que, d’après la continuité uniforme de la fonction (x, h) → Φ(x, Y (x), h) sur le compact
[a, b] × [0, h∗ ], lim |β(h)| = 0. Par suite, on a :
h→0

lim max |βn | = 0. (4.7)


h→0 0≤n≤N

67
Chapitre 4. Résolution numérique des équations différentielles ordinaires

1) Condition suffisante : supposons que Φ(x, y, 0) = f (x, y). Alors on a αn = 0 et donc


n = βn . Il s’en suit, d’après (4.7), que lim max |n+1 | = 0. Ainsi, la méthode (4.3) est
h→0 0≤n≤N
consistante.
2) Condition nécessaire : supposons que la méthode (4.3) est consistante, i.e.,

lim max |n+1 | = 0.


h→0 0≤n≤N

Par suite, d’après (4.7) et puisque |αn | ≤ |n+1 | + |βn | on a :

lim max |αn | = 0. (4.8)


h→0 0≤n≤N

Par ailleurs, la fonction t → |f (t, Y (t)) − Φ(t, Y (t), 0)| est continue et donc intégrable au
sens de Riemann sur [a, b], d’où l’on obtient :
N −1
X b−a
lim h |αn | = lim |f (cn , Y (cn )) − Φ(cn , Y (cn ), 0)|
h→0 h→0 N
n=0 Z b
= |f (x, Y (x)) − Φ(x, Y (x), 0)| dx.
a

Or
N −1 N −1
X b − aX
h |αn | = |αn | ≤ (b − a) max |αn | .
n=0
N n=0 0≤n≤N

Il s’en suit, grâce à (4.8), que


Z b
|f (x, Y (x)) − Φ(x, Y (x), 0)| dx = 0.
a

D’où f (x, Y (x)) = Φ(x, Y (x), 0), ∀x ∈ [a, b] et pour toute solution Y (x) de (4.1). Soit
maintenant (x∗ , y ∗ ) ∈ [a, b] × R. D’après le théorème 4.1.1, il existe une solution unique
Y (x) de l’équation différentielle :
(
y 0 (x) = f (x, y), x ∈ [x∗ , b],
y(x∗ ) = y ∗ .

On a alors f (x∗ , y ∗ ) = Φ(x∗ , y ∗ , 0). Ainsi, on a pout tout (x, y) ∈ [a, b] × R, f (x, y) =
Φ(x, y, 0). Ce qui achève la démonstration.

Théorème 4.2.3 (Condition suffisante de stabilité)


Si la fonction Φ vérifie une condition de Lipschitz par rapport à la deuxième variable, i.e.,
il existe M > 0 tels que ∀x ∈ [a, b], ∀y, y ∈ R, ∀h ∈ [0, h∗ ] on a

|Φ(x, y, h) − Φ(x, y, h)| ≤ M |y − y| .

Donc la méthode (4.3) est stable.

68
4.2 Etude générale des méthodes à un pas

Démonstration : Soient yn , 0 ≤ n ≤ N, et zn , 0 ≤ n ≤ N , vérifiant respectivement

yn+1 = yn + hΦ(xn , yn , h),

zn+1 = zn + h [Φ(xn , zn , h) + n ] ,
z0 = y0 + 0 ,
et n , 0 ≤ n ≤ N , quelconque.
On a
|yn+1 − zn+1 | ≤ |yn − zn | + h |Φ(xn , yn , h) − Φ(xn , zn , h)| + h |n |
≤ |yn − zn | + hM |yn − zn | + h |n |
≤ (1 + hM ) |yn − zn | + h |n |
Nous allons en déduire par récurrence que

(1 + hM )n+1 − 1
|yn+1 − zn+1 | ≤ (1 + hM )n+1 |y0 − z0 | + max |k | . (4.9)
M k≤n

C’est vrai pour n = 0. Supposons que c’est vrai pour n. On a

|yn+1 − zn+1 | ≤ (1 + hM ) 
|yn − zn | + h |n |
(1 + hM )n − 1

n
≤ (1 + hM ) (1 + hM ) |y0 − z0 | + max |k | + h |n |
M k≤n−1
(1 + hM )n+1 − 1
(1 + hM )n+1 |y0 − z0 | + max |k |
M k≤n

Ainsi, l’inéquation (4.9) est vérifiée ∀n.


Par ailleurs, pour k > 0, on a 1 + k ≤ ek , d’où

e(n+1)hM − 1
|yn+1 − zn+1 | ≤ e(n+1)hM |y0 − z0 | + max |k | .
M k≤n

Or (n + 1)h ≤ (b − a); (n ≤ N − 1), d’où

e(b−a)M − 1
|yn+1 − zn+1 | ≤ e(b−a)M |y0 − z0 | + max |k | .
M k≤n

e(b−a)M − 1
En posant C = max(e(b−a)M , ), on obtient
M
max |yn − zn | ≤ C max |k | .
0≤n≤N k≤n−1

Ce qui prouve que la méthode est stable et achève la démonstration.

Corollaire 4.2.1 (Condition suffisante de convergence)


Si la fonction Φ vérifie :
1) Φ(x, y, 0) = f (x, y), ∀(x, y) ∈ [a, b] × R,

69
Chapitre 4. Résolution numérique des équations différentielles ordinaires

2) ∃M > 0 tel que |Φ(x, y, h) − Φ(x, y, h)| ≤ M |y − y| ∀x ∈ [a, b], ∀y, y ∈ R,


alors la méthode (4.3) est convergente.

Démonstration : La propriété 1) entraine, d’après le théorème 4.2.2, que la méthode est


consistante.
La proprièté 2) entraine que la méthode est stable, d’après le théorème 4.2.3. Le résultat
découle alors du théorème 4.2.1.

Définition 4.2.4 (Ordre de convergence)


La méthode (4.3) est dite d’ordre p, si pour toute solution Y de y 0 = f (x, y), on a

Y (xn+1 ) − Y (xn )
max − Φ(xn , Y (xn ), h) ≤ Khp ,
0≤n≤N −1 h

où K est une constante indépendante de h, ou encore si



Y (xn+1 ) − Y (xn )
max − Φ(xn , Y (xn ), h) = θ(hp ).
0≤n≤N −1 h

Théorème 4.2.4
Si la méthode (4.3) est stable et d’ordre p, alors on a

∃K > 0 max |yn − Y (xn )| ≤ Khp .


0≤n≤N

Démonstration : On a
yn+1 = yn + hΦ(xn , yn , h).
Posons
Y (xn+1 ) − Y (xn )
n = − Φ(xn , Y (xn ), h).
h
Alors, on a
Y (xn+1 ) = Y (xn ) − h [Φ(xn , Y (xn ), h) + n ] .
La méthode étant stable, on a alors

max |yn − Y (xn )| ≤ C max |n | ,


0≤n≤N k≤n−1

où C est une constante indépendante de h. Or max |n | ≤ Khp , car la méthode est
0≤n≤N
d’ordre p.
Il s’en suit qu’il existe une constante K
e = CK telle que

max |yn − Y (xn )| ≤ C max |n | ≤ CKhp = Kh


e p.
0≤n≤N k≤n−1

Ce qui prouve le résultat énoncé et achève la démonstration.

70
4.2 Etude générale des méthodes à un pas

Théorème 4.2.5 (Condition nécessaire et suffisante pour que la méthode soit


d’ordre ≥ p)
∂Φ ∂ pΦ
On suppose que f est de classe C p sur [a, b] × R et que la fonction Φ, , . . . , p existent
∂h ∂h
et sont continues sur [a, b]×R×[0, h∗ ]. Alors la méthode (4.3) est d’ordre p, si et seulement
si, pour tout (x, y) ∈ [a, b] × R, on a :

 Φ(x, y, 0) = f (x, y)
 ∂Φ 1


(x, y, 0) = f (1) (x, y) (4.10)
∂hp−1
2
 ∂ Φ 1
(x, y, 0) = f (p−1) (x, y)



∂hp−1 p
où les fonctions f (k) sont définies par la relation de récurrence :
 (0)
 f =f
∂f (k) ∂f (k)
 f (k+1) = +f
∂x ∂y
Démonstration : Posons
Y (xn+1 ) − Y (xn )
n+1 = − Φ(xn , Y (xn ), h),
h
et
1 1 ∂kΦ
Ψk (x, y) = f (k) (x, y) − (x, y, 0).
(k + 1)! k! ∂hk
Les conditions (4.10) s’écrivent encore

Ψk (x, y) = 0 ∀(x, y) ∈ [a, b] × R, ∀k ∈ {0, 1, . . . , p − 1} .

Il s’agit donc de montrer que

max |n | = θ(hp ) ⇐⇒ Ψk (x, y) = 0 ∀(x, y) ∈ [a, b] × R, ∀k ∈ {0, 1, . . . , p − 1} .


0≤n≤N −1

D’apès la formule de Taylor, il existe cn ∈]xn , xn+1 [ tel que :


p−1
Y (xn+1 ) − Y (xn ) X hk hp
= Y (k+1) (xn ) + Y (p+1) (cn )
h k=0
(k + 1)! (p + 1)!
p−1
X hk hp
= f (k) (xn , Y (xn) ) + Y (p+1) (cn ).
k=0
(k + 1)! (p + 1)!

Puisque f est de classe Cp alors Y est de classe C p+1 . Donc il esxiste λ ∈]0, h[ tel que
p−1 k k
X h ∂ Φ hp ∂ p Φ
Φ(xn , Y (xn ), h) = (x n , Y (x n ), 0) + (xn , Y (xn ), λ).
k=0
k! ∂hk p! ∂hp

71
Chapitre 4. Résolution numérique des équations différentielles ordinaires

D’où
p−1
X
n+1 = hk Ψk (xn , Y (xn ))+
k=0
(4.11)
p
 
1 (p+1) 1∂ Φ
hp Y (cn ) − (xn , Y (xn ), λ) .
(p + 1)! p! ∂hp
a) Condition suffisante : supposons que les conditions (4.10) sont vérifiées, alors
Ψk (xn , Y (xn )) = 0, pour k = 0, 1, . . . , p − 1 et donc
1 ∂ pΦ
 
p
1 (p+1)

max |n | ≤ h max Y (x) + max
p
(x, y, α) .
a≤x≤b (p + 1)!
0≤n≤N −1
a ≤ x ≤ b p! ∂α

y∈R
α ∈ [0, h∗ ]

∂ pΦ
Utilisant le fait que Y est de classe C p+1 sur [a, b] et que est continue sur
∂αp
[a, b] × R × [0, h∗ ], on obtient :

∃K > 0 max |n+1 | ≤ Khp .


0≤n≤N −1

Et par suite, la méthode (4.3) est d’ordre p.


b) Condition nécessaire : supposons que la méthode (4.3) est d’ordre p, et montrons que
les conditions (4.10) sont vérifiées.
Raisonnons par l’absurde : supposons que les conditions (4.10) ne sont pas vérifiées.
Soit k0 le plus petit entier ∈ {0, 1, . . . , p − 1} tel que Ψk0 (x, y) 6= 0. On a alors, d’après
(4.11)
p−1
1 ∂ pΦ
 
X
k p 1 (p+1)
n+1 = h Ψk (xn , Y (xn )) + h Y (cn ) − (xn , Y (xn ), λ) .
k=k0
(p + 1)! p! ∂hp

D’où
n+1 = hk0 Ψk0 (xn , Y (xn )) + θ(hk0 +1 ). (4.12)
Or la méthode étant d’ordre ≥ p, alors on a

max |n+1 | ≤ Khp ,


0≤n≤N −1

d’où
|n+1 |
max ≤ Khp−k0 ,
0≤n≤N −1 hk0

et par suite
|n+1 |
lim max = 0. (4.13)
h→0 0≤n≤N −1 hk0

72
4.3 Exemples de schémas à un pas

Par ailleurs, on a
N −1 N −1
X |n+1 | b − a X |n+1 | |n+1 |
h k
= k
≤ (b − a) max . (4.14)
h 0 N n=0 h 0 0≤n≤N −1 hk0
n=0

Or, on a d’après (4.12)


N −1 N −1
X |n+1 | X
lim h = lim h |Ψk0 (xn , Y (xn )) + θ(h)|
h→0
n=0
hk0 h→0
n=0
N −1
b−a X
= lim |Ψk0 (xn , Y (xn ))| (puisque lim hθ(h) = 0)
N →+∞ N n=0 h→0
Z b
= |Ψk0 (t, Y (t))| dt,
a

car la fonction t → |Ψk0 (t, Y (t))| est continue, alors elle est Riemann intégrable. Il s’en
Z b
suit, grâce à (4.13) et (4.14) que |Ψk0 (t, Y (t))| dt = 0. Par suite, on obtient :
a

Ψk0 (t, Y (t)) = 0 ∀t ∈ [a, b], ∀Y solution de (4.1).

Soit (x∗ , y ∗ ) ∈ [a, b] × R quelconque. Alors, d’après le théorème 4.1.1, il existe une
solution unique Y (x) de l’équation différentielle
(
y 0 (x) = f (x, y), x ∈ [x∗ , b],
y(x∗ ) = y ∗ ,

D’où
Ψk0 (x∗ , Y (x∗ )) = Ψk0 (x∗ , y ∗ ) = 0.
Ainsi, on a
∀x ∈ [a, b], ∀y ∈ R, Ψk0 (x, y) = 0.
Ce qui contredit le fait que Ψk0 (x, y) 6= 0. Ainsi les conditions (4.10) sont nécessairement
vérifiées.

4.3 Exemples de schémas à un pas


4.3.1 Méthodes du développement à un pas
L’idée la plus simple pour construire une méthode d’ordre p est de choisir, d’après le
théorème 4.2.5 :
h (1) h2 (2) hp−1 (p−1)
Φ(x, y, h) = f (x, y) + f (x, y) + f (x, y) + · · · + f (x, y).
2 3! p!

73
Chapitre 4. Résolution numérique des équations différentielles ordinaires

Les relations (4.10) sont trivialement vérifiées.


Pour p = 1, on retrouve le schéma d’Euler.
Si les fonctions f (k) (x, y), k = 0, 1, . . . , p − 1, vérifient la condition de Lipschitz par
rapport à la deuxième variable : ∃Lk > 0; ∀x ∈ [a, b], ∀(y, z) ∈ R2 ,
(k)
f (x, y) − f (k) (x, z) ≤ Lk |y − z| ; 0 ≤ k ≤ p − 1.

Alors la fonction Φ vérifie aussi la condition de Lipschitz par rapport à la deuxième


variable : c’est-à-dire ∃L > 0 tel que ∀x ∈ [a, b], ∀(y, z) ∈ R2 on a
|Φ(x, y, h) − Φ(x, z, h)| ≤ L |y − z| ,
avec
(b − a) (b − a)2 (b − a)p−1
L = L0 + L0 + L1 + · · · + Lp .
2 3! p!
Et par suite, d’après le théorème 4.2.3, la méthode à un pas
yn+1 = yn + hΦ(xn , yn , h),
est stable.
Les méthodes du développement de Taylor présentent de graves inconvénients du point de
vue pratique. En effet, elles utilisent les p fonctions f, f (1) , . . . , f (p−1) , ce qui mobilise un
nombre excessif de mémoire. De plus, pour k assez grand, la complexité des expressions
analytiques des fonctions f (k) augmente énormément.

4.3.2 Méthodes de Runge et Kutta (RK)


Elles consistent à choisir, pour p ≥ 1
p
X
Φ(x, y, h) = ak Vk (x, y, h),
k=1

où
V1 (x, y, h) = f (x, y),
k−1
!
X
Vk (x, y, h) = f x + αk h, y + h βkj Vj (x, y, h) , k ≥ 2.
j=1

Les coefficients ak , 1 ≤ k ≤ p, αk et βkj , k = 1, . . . , p, 1 ≤ j ≤ k − 1, sont choisis de telle


sorte que les relations (4.10) du théorème 4.2.5 soient vérifiées.
Exemples
1) Cas où p = 1 :
Φ(x, y, h) = a1 V1 (x, y, h) = a1 f (x, y).
La condition (4.10) du théorème 4.2.5 s’écrit alors dans ce cas
Φ(x, y, 0) = a1 f (x, y) = f (x, y).
D’où a1 = 1 et Φ(x, y, h) = f (x, y). On retrouve la méthode d’Euler, qui est d’ordre 1.

74
4.3 Exemples de schémas à un pas

2) Cas où p = 2 :
Φ(x, y, h) = a1 V1 (x, y, h) + a2 V2 (x, y, h) = a1 f (x, y) + a2 f (x + α2 h, y + β21 f (x, y)).
Les conditions (4.10) du théorème 4.2.5 s’écrivent alors dans ce cas :

Φ(x, y, 0) = (a1 + a2 )f (x, y) = f (x, y)
∂Φ ∂f ∂f 1
 (x, y, 0) = a2 α2 (x, y) + a2 β21 f (x, y) (x, y) = f (1) (x, y)
∂h ∂x ∂y 2
  
∂Φ ∂f ∂f
(x, y, h) = a2 α2 (x + α2 h, y + β21 f (x, y)) + β21 f (x, y) (x + α2 h, y + β21 f (x, y)) .
∂h ∂x ∂y
Ainsi, la méthode est d’ordre 2, si et seulement si :
(
a1 + a2 = 1,
a2 α2 = a2 β21 = 12 .
1 2β−1
En posant β = β21 (6= 0), on doit donc avoir α2 = β, a2 = 2β
et a1 = 2β
.
Pour β = 12 , cette méthode s’appelle la méthode d’Euler modifiée :
1 1
yn+1 = yn + h(f (xn + h, yn + hf (xn , yn )).
2 2
(α2 = 12 , a2 = 1, a1 = 0)
Pour β = 1, cette méthode s’appelle la méthode de Heun
h
yn+1 = yn + (f (xn , yn ) + f (xn + h, yn + hf (xn , yn )).
2
(α2 = 1, a2 = 21 , a1 = 21 )
3) Cas où p = 4 :
La méthode de Runge et Kutta classique est donnée par :
h
yn+1 = yn + [V1 + 2V2 + 2V3 + V4 ] ,
6
où
V1 = f (xn , yn ),
1 1
V2 = f (xn + h, yn + hV1 ),
2 2
1 1
V3 = f (xn + h, yn + hV2 ),
2 2
V4 = f (xn + h, yn + hV3 ).
Cette méthode est d’ordre 4 (à vérifier en exercice)
Exercice : Montrer que sous les hypothèses du théorème 4.1.1, les méthodes de Runge
et Kutta sont stables.

75