Analyse Numérique

Transcription

Analyse Numérique
Université Louis Pasteur
L3S6 Physique
Analyse Numérique
2007-2008
2
Table des matières
1 Interpolation polynômiale
1.1 Quelques exemples . . . . . . . . . . . .
1.1.1 Un jeu de données . . . . . . . .
1.1.2 Un calcul d’intégrale . . . . . . .
1.2 Polynômes de Lagrange . . . . . . . . .
1.2.1 Une première construction . . . .
1.2.2 Unicité . . . . . . . . . . . . . .
1.2.3 Différences divisées . . . . . . . .
1.2.4 Estimation d’erreur . . . . . . .
1.3 Interpolation d’Hermite . . . . . . . . .
1.3.1 Première construction . . . . . .
1.3.2 Unicité . . . . . . . . . . . . . .
1.3.3 Différences divisées . . . . . . . .
1.3.4 Polynômes d’Hermite généralisés
1.3.5 Estimation d’erreur . . . . . . .
1.4 Quelques exercices . . . . . . . . . . . .
2 Intégration numérique
2.1 Généralités . . . . . . . . . .
2.1.1 Principe . . . . . . . .
2.1.2 Formule de quadrature
2.1.3 Intervalle . . . . . . .
2.1.4 Formules composites .
2.2 Formules de Newton-Cotes . .
2.3 Degré de précision . . . . . .
2.4 Formules de Gauss . . . . . .
2.5 Quelques exercices . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
5
6
6
6
6
7
8
8
9
9
9
10
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
13
13
13
14
14
16
17
18
3 Résolution numérique d’équations différentielles
3.1 Motivation : le problème du pendule . . . . . . . .
3.2 Schémas à un pas explicites . . . . . . . . . . . . .
3.3 Consistance, stabilité et convergence . . . . . . . .
3.4 Schémas implicites . . . . . . . . . . . . . . . . . .
3.5 Stabilité absolue . . . . . . . . . . . . . . . . . . .
3.6 Méthodes multi-pas . . . . . . . . . . . . . . . . .
3.7 Exercices . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
21
23
25
26
26
27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
TABLE DES MATIÈRES
4 Résolution d’équations non linéaires
4.1 Quelques méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Méthode du point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
32
33
5 Résolution de systèmes linéaires
5.1 Position du problème . . . . . . . . . . . . . . . . . . . . .
5.2 Cas des matrices triangulaires . . . . . . . . . . . . . . . .
5.3 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . .
5.4 Stratégie de pivot . . . . . . . . . . . . . . . . . . . . . . .
5.5 Coût de la méthode . . . . . . . . . . . . . . . . . . . . .
5.6 Existence de la factorisation LU . . . . . . . . . . . . . .
5.7 Cas particulier des matrices symétriques définies positives
5.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
37
38
43
43
44
44
46
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Chapitre 1
Interpolation polynômiale
On se fixe un entier n ∈ N∗ , 2 réels a < b et une suite de réels a = x0 < x1 < · · · < xn = b.
On suppose que l’on connait une fonction f en les points xi .
La question de l’interpolation est alors de trouver une valeur en un point x ∈ [a, b] pour la
fonction f .
1.1
1.1.1
Quelques exemples
Un jeu de données
On relève les valeurs suivantes de la viscosité cinématique ν en fonction de la température.
Les résultats sont donnés dans la Table 1.1. On souhaite maintenant avoir une estimation de
la viscosité pour T = 23.
• Interpolation linéaire : 1.005 + (3/5)(0.896 − 1.005) = 0.9396 ≃ 0.94
• Interpolation cubique : 0.937 en effectuant avec Maple
interp([15,20,25,30],[1.141,1.005,0.896,0.804],x) :subs(x=23,%) ;
• Résultat de mesure : 0.941
1.1.2
Un calcul d’intégrale
R1
On souhaite calculer 0 exp(−x2 )dx.
• Interpolation linéaire : (1 + e−1 )/2 ≃ 0.6839397206
• Interpolation quadratique avec les points 0, 1/2, 1 : 0.7471804290
L :=[0,1/2,1] :P :=interp(L,map(t->exp(-t^2),L),x)
:int(P,x=0..1) ;evalf(%) ;
√
√
3/5
1+
25
0.896
30
0.804
1−
3/5
, 1/2,
: 0.7468145841
• Interpolation quadratique avec les points
2
2
L :=[(1-sqrt(3/5))/2,1/2,(1+sqrt(3/5))/2] :P :=interp(L,map(t->exp(-t^2),L),x) :
int(P,x=0..1) ;evalf(%) ;
• Valeur ”exacte” : 0.7468241330 avec int(exp(-t^2),t=0..1) ;evalf(%) ;.
T
ν
10
1.308
15
1.141
20
1.005
35
0.727
40
0.661
Tab. 1.1 – Evolution de la viscosité en fonction de la température
5
6
CHAPITRE 1. INTERPOLATION POLYNÔMIALE
1.2
Polynômes de Lagrange
Soit n ∈ N∗ , des réels distincts x0 < x1 · · · < xn et f0 , . . . , fn . On cherche un polynôme
Pn de degré inférieur ou égal à n tel que P (xi ) = fi , i = 0, . . . , n.
1.2.1
Une première construction
•Le cas n = 0 : on prend tout simplement P0 (x) = A0 , avec
A0 = f0 .
•Le cas n = 1 : on choisit P1 (x) = P0 (x) + A1 (x − x0 ). A1 doit être choisi pour que
f1 = f0 + A1 (x1 − x0 ). Ainsi, on a
f1 − f0
.
A1 =
x1 − x0
• Le cas n = 2 : on prend cette fois-ci P2 (x) = P1 (x) + A2 (x − x0 )(x − x1 ). A2 doit être
choisi pour que f2 = P1 (x2 ) + A2 (x2 − x0 )(x2 − x1 ). Ainsi, on a
A2 =
f2 − P1 (x2 )
.
(x2 − x0 )(x2 − x1 )
•Le cas n = k : on prend Pk (x) = Pk−1 (x) + Ak
Qk−1
i=0 (x
− xi ), avec
fk − Pk−1 (xk )
.
Ak = Qk−1
i=0 (xk − xi )
Ainsi, nous avons défini Pn pour tout n.
Exercice 1. Construire un polynôme P de degré ≤ 3 tel que P (0) = 1, P (1) = 2, P (2) = 4
et P (3) = 5.
1.2.2
Unicité
Supposons qu’il existe 2 polynômes Pn et Qn de degré ≤ n satisfaisant Pn (xi ) = fi , Qn (xi ) =
fi , i = 0, . . . , n. Alors, on a Rn := Pn − Qn de degré ≤ n s’annulant en au moins n + 1 points
distincts. Cela veut dire que Rn est le polynôme nul et donc Pn = Qn .
Exercice 2. Soit P (x) = x2 +1. Existe-t-il un polynôme Q de degré 3 tel que Q(0) = 1, Q(1) =
2, Q(2) = 5 et Q(3) = 10 ?
1.2.3
Différences divisées
On définit les différences divisées par les nombres Ak précédemment introduits :
f [x0 , x1 , . . . , xk ] := Ak .
On a ainsi
f [x0 ] = f0 , f [x0 , x1 ] =
f [x1 ] − f [x0 ]
.
x1 − x0
7
1.2. POLYNÔMES DE LAGRANGE
Une propriété remarquable est que l’on a
f [x0 , x1 , . . . , xk ] =
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ]
,
xk − x0
(1.1)
ce qui permet de calculer ”rapidement” ces nombres. Ainsi, le programme Maple suivant
calcule les différences divisées puis le polynôme d’interpolation.
N:=5:g:=f:W:=1:P:=g[1]:for k to N do
g:=[seq((g[i+1]-g[i])/(x[k+i]-x[i]),i=1..N+1-k)];W:=W*(t-x[k]);P:=P+g[1]*W;end:
simplify([seq(subs(t=x[i],P),i=1..N+1)]);degree(P,t);
Dans la pratique, on peut écrire les quantités suivantes en gras, puis calculer les autres quantités ensuite :
x
f
f [1]
...
f [k]
...
f [n]
= x0 , x1 , x2 , . . . , xk , . . . , xn
= f [x0 ], f [x1 ], f [x2 ], . . . , f [xk ], . . . , f [xn ]
= f [x0 , x1 ], f [x1 , x2 ], . . . , f [xk−1 , xk ], . . . , f [xn−1 , xn ]
= f [x0 , x1 , . . . , xk ], f [x1 , . . . , xk+1 ] . . .
= f [x0 , x1 , . . . , xn ].
La formule d’interpolation est alors donnée par
f [x0 ] + f [x0 , x1 ](x − x0 ) + · · · + f [x0 , x1 , . . . , xk ]
k−1
Y
i=0
(x − xi ) + f [x0 , x1 , . . . , xn ]
n−1
Y
i=0
(x − xi ).
• Preuve de la relation (5.1).
Qk−1
On a Pk (x) = P̃k−2 (x)+ (f [x1 , x2 , . . . , xk−1 , x0 ]+ f [x0 , x1 , . . . , xk−1 , xk ](x− x0 )) i=1
(x− xi ),
Qk−1
Pk (x) = P̃k−2 (x) + (f [x1 , . . . , xk−1 , xk ] + f [x0 , x1 , . . . , xk−1 , xk ](x − xk )) i=1 (x − xi ) et donc
on obtient le résultat, comme f [x1 , x2 , . . . , xk−1 , x0 ] = f [x0 , x1 , x2 , . . . , xk−1 ].
Exercice 3. Compter le nombre d’opérations pour calculer les Ak , suivant que l’on utilise la
définition ou la formule (5.1).
Exercice 4. Trouver un polynôme P de degré ≤ 4 tel que P (0) = 2, P (1) = 3, P (−1) =
1, P (3) = 4 et P (4) = 3.
1.2.4
Estimation d’erreur
Soit f une fonction (n + 1) fois continûment dérivable. Si fi = f (xi ), i = 0, . . . , n, alors il
existe ξ ∈ R tel que
f (x) − Pn (x) =
(x − x0 )(x − x1 ) . . . (x − xn ) n+1
f
(ξ).
(n + 1)!
• Preuve de la relation (5.2).
On peut supposer que x 6= xi , i = 0, . . . , n. On choisit alors Ax tel que
f (x) = Pn (x) + Ax
(x − x0 )(x − x1 ) . . . (x − xn )
(n + 1)!
(1.2)
8
CHAPITRE 1. INTERPOLATION POLYNÔMIALE
1 )...(t−xn )
La fonction Q(t) = f (t) − Pn (t) − Ax (t−x0 )(t−x
s’annule en n + 2 points distincts.
(n+1)!
En appliquant le théorème de Rolle (n + 1) fois, on en déduit qu’il existe ξ ∈ R tel que
Qn+1 (ξ) = 0 et ceci donne le résultat.
Théorème 1 (Théorème de Rolle). Soit f une application continue de [a, b] dans R et
dérivable sur ]a, b[, avec f (a) = f (b). Alors il existe au moins un réel c ∈]a, b[ tel que f ′ (c) = 0.
1.3
Interpolation d’Hermite
Soit n ∈ N∗ , des réels distincts x0 < x1 · · · < xn et f0 , . . . , fn et f0′ , . . . , fn′ . On cherche un
polynôme Q2n+1 de degré inférieur ou égal à 2n + 1 tel que Q2n+1 (xi ) = fi , i = 0, . . . , n et
Q′2n+1 (xi ) = fi′ , i = 0, . . . , n.
1.3.1
Première construction
On procède de même que dans le cas de l’interpolation de Lagrange. On va définir Qn
pour n pair et impair. Dans le cas pair, Q2n devra vérifier Q2n de degré inférieur ou égal à
2n tel que Q2n (xi ) = fi , i = 0, . . . , n et Q′2n (xi ) = fi′ , i = 0, . . . , n − 1.
•Le cas n = 0 : on prend tout simplement Q0 (x) = B0 , avec
B0 = f0 .
•Le cas n = 1 : on choisit Q1 (x) = Q0 (x) + B1 (x − x0 ). B1 doit être choisi pour que
B1 = f0′
• Le cas n = 2 : on prend cette fois-ci Q2 (x) = Q1 (x) + B2 (x − x0 )2 . B2 doit être choisi
pour que f1 = Q1 (x1 ) + B2 (x1 − x0 )2 . Ainsi, on a
B2 =
f1 − Q1 (x1 )
.
(x1 − x0 )2
• Le cas n = 3 : on prend Q3 (x) = Q2 (x) + B3 (x − x0 )2 (x − x1 ). B3 doit être choisi pour
que f1′ = Q′2 (x1 ) + B3 (x1 − x0 )2 . Ainsi, on a
f1′ − Q′2 (x1 )
.
(x1 − x0 )2
Qk−1
•Le cas n = 2k : on prend Q2k (x) = Q2k−1 (x) + B2k i=0
(x − xi )2 , avec
B3 =
fk − Q2k−1 (xk )
.
B2k = Qk−1
2
i=0 (xk − xi )
•Le cas n = 2k + 1 : on prend Q2k+1 (x) = Q2k (x) + B2k+1 (x − xk )
fk′ − Q′2k (xk )
.
B2k+1 = Qk−1
2
i=0 (xk − xi )
Qk−1
i=0 (x
− xi )2 , avec
Exercice 5. Construire un polynôme P de degré ≤ 3 tel que P (0) = 1, P ′ (0) = 2, P (1) =
0, P ′ (1) = 1.
9
1.3. INTERPOLATION D’HERMITE
1.3.2
Unicité
On se ramène à trouver un polynôme R de degré ≤ 2n + 1 tel que R(xi ) = 0, i = 0, . . . , n
et R′ (xi ) = 0, i = 0, . . . , n. Ainsi R possède au moins n + 1 racines doubles et donc comme
il est de degré ≤ 2n + 1, il s’agit du polynôme nul.
1.3.3
Différences divisées
On peut aussi introduire les différences divisées pour les polynômes d’Hermite. On note
f [x0 , x0 , x1 , x1 , . . . , xk , xk ] := B2k+1 , f [x0 , x0 , x1 , x1 , . . . , xk−1 , xk−1 , xk ] := B2k .
La notation reste compatible avec la précédente définition et on a
f [x0 ] = f0 , f [x0 , x0 ] = f0′
En s’inspirant de la propriété (5.2), on aimerait donc avoir
f [x0 , x0 , x1 ] =
f [x0 , x1 , x1 ] − f [x0 , x0 , x1 ]
f [x0 , x1 ] − f [x0 , x0 ]
, f [x0 , x0 , x1 , x1 ] =
,
x1 − x0
x1 − x0
puis
f [x0 , x0 , x1 , x1 , x2 ] =
f [x0 , x0 , x1 , x1 ] − f [x0 , x1 , x1 , x2 ]
,
x2 − x0
et ainsi de suite. Néanmoins, les quantités f [x0 , x0 , x1 , x1 , x2 ] et f [x0 , x1 , x1 ] n’ont pas été
définies. On va donc se placer dans un cadre plus général.
1.3.4
Polynômes d’Hermite généralisés
On considère une suite de p + 1 entiers d0 , . . . , dp . On note s0 = d0 , si = si−1 + di , i =
1, . . . , p et n = sp . On définit alors une suite de n + 1 réels
x0 = y0 = y1 = . . . ys0 < x1 = ys0 +1 = . . . ys1 < · · · < xp−1 = ysp−1 < xp = ysp−1 +1 = · · · = ysp .
On se donne enfin des nombres
(0)
(1)
(d0 −1)
f0 , f0 , . . . , f0
(d1 −1)
, f1 , . . . , f1
(dp −1)
, . . . , fp(0) , . . . , fp
,
et on considère le problème d’interpolation : trouver un polynôme Pn de degré ≤ n satisfaisant
(k)
Pn(k) (xi ) = fi , i = 0, . . . , p, k = 0, . . . di .
On cherche alors Pn sous la forme
Pn = Pn−1 + f [y0 , . . . , yn ]
n−1
Y
i=0
et les différences divisées peuvent être calculées ainsi :
(
f [y0 , . . . , yk ] =
(x − yi ),
f [y1 ,...,yk ]−f [y0 ,...,yk−1 ]
, si yk 6=
yk −y0
(k)
f0 si yk = yk−1 = · · · = y0 .
y0
(1.3)
10
CHAPITRE 1. INTERPOLATION POLYNÔMIALE
• Preuve de la construction de Pn .
P0 = f00 . Supposons Pk−1 construit.
(0)
Si yk = xℓ 6= yk−1 , on obtient f [y0 , y1 , . . . , yk ] =
fℓ −Pk−1 (yk )
Qk−1
.
j=0 (yk −yj )
(1)
Si yk = xℓ = yk−1 6= yk−2 , on obtient f [y0 , y1 , . . . , yk ] =
(1)
fℓ −Pk−1 (yk )
Qk−2
.
j=0 (yk −yj )
De manière générale, yk = xℓ = yk−1 = yk−s 6= yk−s−1 , on obtient
(s)
(s)
f − P (yk )
,
f [y0 , y1 , . . . , yk ] = Qℓk−s−1 k−1
j=0 (yk − yj )
ce qui donne la construction de Pk .
• Preuve de la relation (1.3).
On s’assure d’abord de l’unicité de Pn , comme précédemment, et on vérifie aussi que la
construction précédente s’adapte lorsque les yi ne sont pas forcément ordonnés.
Si y0 = yk , on a le résultat dans la construction de Pn .
Sinon, on écrit à nouveau
Qk−1
Pk (x) = P̃k−2 (x) + (f [y1 , y2 , . . . , yk−1 , y0 ] + f [y0 , y1 , . . . , yk−1 , yk ](x − y0 )) i=1
(x − yi ),
Qk−1
Pk (x) = P̃k−2 (x) + (f [y1 , . . . , yk−1 , yk ] + f [y0 , y1 , . . . , yk−1 , yk ](x − yk )) i=1 (x − yi ).
1.3.5
Estimation d’erreur
(k)
Soit f une fonction (n+1) fois continûment dérivable. Si fi
0, . . . di , alors il existe ξ ∈ R tel que
f (x) − Pn (x) =
= f (k) (xi ), i = 0, . . . , p, k =
(x − y0 )(x − y1 ) . . . (x − yn ) n+1
f
(ξ).
(n + 1)!
(1.4)
• Preuve de la relation (1.4).
On peut supposer que x 6= yi , i = 0, . . . , n. On choisit alors Ax tel que
f (x) = Pn (x) + Ax
(x − y0 )(x − y1 ) . . . (x − yn )
(n + 1)!
1 )...(t−yn )
s’annule en n + 2 points, multiplicité
La fonction Q(t) = f (t) − Pn (t) − Ax (t−y0 )(t−y
(n+1)!
comprise. En appliquant le théorème de Rolle (n + 1) fois, on en déduit qu’il existe ξ ∈ R tel
que Qn+1 (ξ) = 0 et ceci donne le résultat.
1.4
Quelques exercices
√
Exercice 6. Soit la fonction définie par f (x) = 1 + x.
1. Déterminer le polynôme d’interpolation de Lagrange P vérifiant :
1
1
=f
, P (1) = f (1).
P (0) = f (0) , P
2
2
Calculer P (0.1) et P (0.9). Comparer aux valeurs exactes.
Evaluer f (x) − P (x) pour ces deux valeurs en vous servant d’un théorème du cours.
2. Déterminer Q polynôme d’interpolation d’Hermite vérifiant :
1
1
Q(0) = f (0) , Q
=f
, Q(1) = f (1).
2
2
11
1.4. QUELQUES EXERCICES
Q′ (0) = f ′ (0) , Q′
1
1
= f′
, Q′ (1) = f ′ (1).
2
2
Calculer Q(0.1) et Q(0.9).
3. Combien de points aurait-il fallu prendre, en théorie, pour avoir une erreur inférieure à
5.10−5 ? On admettra que :
n
Y
(x − xi ) ≤ hn+1 (n + 1)! où xi = x0 + ih et x0 ≤ x ≤ xn .
i=0
Exercice 7. On appelle fonction polynomiale de Tchebycheff de degré n, l’application
Tn : [−1, +1] → R
x 7−→ cos(narccos(x)).
1. Montrez en posant cos(θ) = x que pour tout entier n positif, Tn est un polynôme de degré
n en x.
2. Montrez que pour tout n ≥ 2, on a Tn+1 (x) = 2xTn (x) − Tn−1 (x).
3. Calculez les 5 premiers polynômes de Tchebycheff.
4. Déterminez en fonction de n le coefficient du terme en xn de Tn .
5. On pose Xk = cos( 2k−1
2n π) pour k = 1, . . . , n. Montrez que Tn possède n zéros simples.
Ces zéros sont appelés les points de Tchebycheff d’ordre n.
6. On admettra le résultat suivant : pour x0 , . . . , xn ∈ [−1, 1], on a
max
x∈[−1,+1]
|(x − x0 ) . . . (x − xn )| ≥
max
x∈[−1,+1]
|(x − X0 ) . . . (x − Xn )| .
Expliquez pourquoi les points de Tchebycheff sont de bons points d’interpolation.
7. Quels points d’interpolation faut-il choisir si l’intervalle d’interpolation est le segment
[a, b] ?
Exercice 8. 1. Trouver un polynôme P de degré inférieur ou égal à 3 qui vérifie : P (−1) = 14,
P (0) = 7, P (1/2) = 11 et P (1) = 20. Que vaut P ′ (0) et P ′ (1) ?
2. Trouver un polynôme Q de degré inférieur ou égal à 3 qui vérifie : Q(0) = 7, Q′ (0) = 3,
Q(1) = 20 et Q′ (1) = 23.
3. Soit ε > 0. Trouver un polynôme Rε de degré inférieur ou égal à 1 qui vérifie : Rε (0) = 1,
Rε (ε) = exp(ǫ).
4. Trouver un polynôme S de degré inférieur ou égal à 1 qui vérifie : S(0) = 1, S ′ (0) = 1.
Quelle est la limite de Rε − S lorsque ε tend vers 0 ?
5. Evaluer l’erreur S(−1/4) − exp(−1/4) (on prendra pour exp(−1/4) la valeur 0.7788).
Montrer que pour ε > 0, on a |S(−1/4) − exp(−1/4)| < |Rε (−1/4) − exp(−1/4)|.
6. Soit Pn (f ) le polynôme d’interpolation d’Hermite à n points x0 < · · · < xn−1 d’une fonction
f . On rappelle que pour une fonction f suffisamment régulière, on a l’estimation suivante
n−1
|f (2n) (y)| Y
(x − xi )2 ,
(2n)!
y∈[a,b]
|f (x) − Pn (f )(x)| ≤ max
a = min(x, x0 ),
b = max(x, xn−1 ).
i=0
Montrer que S = P1 (f ), avec f (x) = exp(x). Quelle est la valeur de x0 ? En déduire une
majoration (théorique) de |S(−1/4) − exp(−1/4)|.
12
CHAPITRE 1. INTERPOLATION POLYNÔMIALE
Exercice 9. 1. Trouver un polynôme P de degré inférieur ou égal à 4 tel que P (0) = 0,
P (1/4) = 1/2, P (1/2) = 1, P (3/4) = 1/2 et P (1) = 0.
2. Trouver un polynôme Qε de degré inférieur ou égal à 3 tel que Qε (0) = 0, Qε (ε) = 2ε,
Qε (1) = 0 et Qε (1 + ε) = 0.
3. Quelle est la limite de Qε lorsque ε tend vers 0 ? Définir un polynôme d’Hermite qui est
cette limite.
Exercice 10. Soit N un entier strictement positif. On considère des réels xi pour i = 0, . . . N ,
avec 0 = x0 < x1 < · · · < xN = 1. Soit f une fonction périodique de période 1. On cherche à
approcher f pour une fonction s que l’on définit de la manière suivante :
• s est un polynôme de degré ≤ 3, sur chaque intervalle ]xi , xi+1 [, i = 0, . . . , N − 1.
• limx→xi ,x<xi s(x) = limx→xi ,x>xi s(x) = f (xi ), i = 1, . . . , N − 1.
• limx→xi ,x<xi s′ (x) = limx→xi ,x>xi s′ (x), i = 1, . . . , N − 1.
• limx→xi ,x<xi s′′ (x) = limx→xi ,x>xi s′′ (x), i = 1, . . . , N − 1.
• limx→xN ,x<xN s(x) = limx→x0,x>x0 s(x) = f (x0 ).
• limx→xN ,x<xN s′ (x) = limx→x0 ,x>x0 s′ (x). limx→xN ,x<xN s′′ (x) = limx→x0 ,x>x0 s′′ (x).
On note fi = f (xi ), i = 0, . . . , N − 1. Le but de cet exercice est de trouver s en fonction de
f0 , . . . , fN −1 .
1.a Montrer que sur chaque intervalle ]xi , xi+1 [, on a
s(x) = Li (x) + (x − xi )(x − xi+1 )(Ci (x − xi ) + Di (x − xi+1 )),
où Li est un polynôme de degré inférieur ou égal à 1.
1.b Montrer que Li (xi ) = fi et Li (xi+1 ) = fi+1 , pour i = 0, . . . , N −2 et LN −1 (xN −1 ) = fN −1
et LN −1 (xN ) = f0 .
1.c Déterminer alors Li pour i = 0, . . . , N − 1.
2.a Calculer limx→xi ,x>xi s′ (x) et limx→xi ,x<xi s′ (x) et en déduire que
fi − fi−1
fi+1 − fi
+ Di (xi − xi+1 )2 =
+ Ci−1 (xi − xi−1 )2 ,
xi+1 − xi
xi − xi−1
pour i = 1, . . . , N − 2 et des relations analogues que l’on précisera pour i = 0 et i = N − 1.
2.b Montrer que l’on a
(Ci + 2Di )(xi − xi+1 ) = (2Ci−1 + Di−1 )(xi − xi−1 ),
i = 1, . . . , N − 2,
et une relation analogue pour i = 0 et i = N − 1.
2.c Trouver alors une relation entre Di , Di−1 et Di+1 pour i = 1, . . . , N − 2, et aussi une
relation pour i = 0 et i = N − 1.
2.d Déterminer une matrice A et un second membre F tels que AD = F , avec D =
(D0 , . . . , DN −1 )T .
Chapitre 2
Intégration numérique
Soient a < b, 2 réels et f : [a, b] → R, une fonction. On cherche à trouver une approximaRb
tion numérique de a f (x)dx.
2.1
Généralités
2.1.1
Principe
Rb
Le calcul de a f (x)dx ne peut parfois pas se faire de manière exacte. En effet, d’une
part f n’admet pas forcément de primitive connue ; d’autre part, il est possible que f ne soit
connue qu’en certains points, comme cela peut arriver dans le cas de mesures physiques ou de
schémas numériques. L’idée est alors de remplacer f par un polynôme qui l’approche ”bien”
et de calculer l’intégrale de ce polynôme.
2.1.2
Formule de quadrature
En calculant l’intégrale avec un polynôme d’interpolation, et en simplifiant les calculs, on
se rend compte que l’on a écrit
Z
b
a
f (x)dx ≃
n
X
ωi f (xi ).
i=0
La formule de droite est appelée formule de quadrature, qui est donnée par les poids ωi et les
points xi pour i = 0, . . . , n.
2.1.3
Intervalle
Connaissant une formule de quadrature sur l’intervalle [−1, 1], on en déduit une formule
sur un intervalle [a, b] quelconque : si on fait le changement de variable y = a + (x + 1) b−a
2
Z
b
a
b−a
f (y)dy =
2
Z
n
1
f (a + (x + 1)
−1
b−a X
b−a
b−a
)dx ≃
ωi f (a + (xi + 1)
).
2
2
2
i=0
Pour la suite, on ne cherchera donc que des formules de quadrature sur l’intervalle [−1, 1].
13
14
CHAPITRE 2. INTÉGRATION NUMÉRIQUE
Exercice 11. A partir de la formule
Z 1
f (0) + 2f (1/2) + f (1)
f (x)dx ≃
,
4
0
trouver la formule correspondante sur un intervalle [a, b].
2.1.4
Formules composites
Lorsque l’on souhaite calculer une intégrale sur un intervalle donné [a, b], on n’utilise
en général pas la formule directement sur l’intervalle [a, b], mais on le découpe en N sous
intervalles (a priori de même taille, mais ce n’est pas forcé) et on applique la formule sur
chacun des sous intervalles :
Z b
N
−1 Z a+(i+1)(b−a)/N
X
f (x)dx.
f (x)dx =
a
i=0
Exercice 12. On considère la formule
correspondante.
2.2
a+i(b−a)/N
R1
−1 f (x)dx
≃ 2f (−1). Trouver la formule composite
Formules de Newton-Cotes
La formule de Newton-Cotes à n + 1 points correspond à calculer l’intégrale avec le polynôme d’interpolation de Lagrange avec les points équidistants −1 + 2i/n, i = 0, . . . , n.
•Le cas n = 0. On a
Z
Z
1
1
−1
f (x)dx ≃
f (−1)dx = 2f (−1),
−1
il s’agit de la formule gauche des rectangles, la formule droite des rectangles étant
Z 1
f (x)dx ≃ 2f (1).
−1
•Le cas n = 1. On a
Z 1
Z 1
f (1) − f (−1)
f (−1) + (x + 1)
f (x)dx ≃
dx = 2f (−1) + f (1) − f (−1) = f (−1) + f (1),
2
−1
−1
il s’agit de la formule des trapèzes.
•Le cas n = 2. On calcule d’abord
x
f
f [1]
f [2]
= −1, 1, 0
= f (−1), f (1), f (0)
(−1)
, f (1) − f (0)
= f (1)−f
2
(−1)
= f (1) − f (0) − f (1)−f
=
2
f (−1)−2f (0)+f (1)
.
2
On a alors
Z
Z 1
f (−1) − 2f (0) + f (1) 1 2
(x − 1)dx
f (x)dx ≃ f (−1) + f (1) +
2
−1
−1
f (−1) − 2f (0) + f (1)
f (−1) + 4f (0) + f (1)
= f (−1) + f (1) − 2
=
,
3
3
15
2.2. FORMULES DE NEWTON-COTES
et il s’agit de la formule de Simpson.
•Le cas n = 3. On obtient
Z 1
(−1)+f (1))
f (−1) + 4( 9(f (−1/3)+f (1/3))−(f
) + f (1)
16
f (x)dx ≃
3
−1
f (−1) + 3f (−1/3) + 3f (1/3) + f (1)
=
.
4
En effet, on a
P3 (x) = Q2 (x) + f [−1, −1/3, 1/3, 1]x(x2 − 1),
avec
Q2 (x) = f [−1] + P3 [−1, 0](x + 1) + P3 [−1, 0, 1](x + 1)x,
de sorte que
Z
1
−1
f (x)dx ≃
Z
1
P3 (x)dx =
Z
1
Q2 (x)dx =
−1
−1
f (−1) + 4P3 (0) + f (1)
.
3
D’autre part, on a P3 (0) = α(f (−1/3) + f (1/3)) + β(f (−1) + f (1)), et en remplaçant f par
1, puis par x2 − 1/9, on obtient α + β = 1/2, α = 9/16, ce qui donne β = −1/16.
Cette formule s’appelle formule de Simpson 3/8.
Exercice 13. Que donne cette formule sur une intervalle de la forme [a, a + 3h] ? Justifier
alors le nom de la formule.
•Le cas n = 4. On obtient
Z 1
Z 1
f (−1) + 4f (0) + f (1)
f (x)dx ≃
x(x2 − 1)(x + 1/2)dx.
+ f [−1, 0, 1, −1/2, 1/2]
3
−1
−1
Or
f [−1, 0, 1, −1/2, 1/2] =
et
24
4!
Donc
Z
1
4
x(x − 1)(x + 1/2)dx =
3
−1
2
Z
f (−1) − 4f (−1/2) + 6f (0) − 4f (1/2) + f (1)
,
4!(1/2)4
Z
0
1
(x4 − x2 )dx =
4
4
(1/5 − 1/3) = (3 − 5) = −8/45.
3
45
1
7f (−1) + 32f (−1/2) + 12f (0) + 32f (1/2) + 7f (1)
,
45
−1
et il s’agit de la formule de Boole.
•Autres valeurs de n. Avec le programme Maple, on trouve les cas suivants :
f (x)dx ≃
for N to 9 do:L:=[seq(-1+2*i/N,i=0..N)]:int(interp(L,map(f,L),x),x=-1..1);print(%);od:
f (1) + f (−1)
1/3 f (1) + 4/3 f (0) + 1/3 f (−1)
1/4 f (−1) + 3/4 f (1/3) + 3/4 f (−1/3) + 1/4 f (1)
7 f (1) + 32 f (1/2) + 4 f (0) + 7 f (−1) + 32 f (−1/2)
45
45
15
45
45
19 f (−1) + 25 f (1/5) + 25 f (−3/5) + 19 f (1) + 25 f (3/5) + 25 f (−1/5)
144
72
48
144
48
72
41 f (−1) + 41 f (1) + 68 f (0) + 9 f (−1/3) + 9 f (1/3) + 18 f (−2/3) + 18 f (2/3)
420
420
105
140
140
35
35
751 f (−1) + 751 f (1) + 3577 f (−5/7) + 49 f (−3/7) + 2989 f (−1/7) + 2989 f (1/7) + 49 f (3/7) + 3577 f (5/7)
8640
8640
8640
320
8640
8640
320
8640
989 f (−1) + 989 f (1) − 908 f (0) − 928 f (−1/2) − 928 f (1/2) + 5888 f (−3/4) + 10496 f (−1/4) + 10496 f (1/4) + 5888 f (3/4)
14175
14175
2835
14175
14175
14175
14175
14175
“14175
”
2857 f (−1) + 2857 f (1) + 1209 f (−1/3) + 1209 f (1/3) + 2889 f (1/9) + 27 f (5/9) + 27 f (−5/9) + 2889 f (−1/9) + 15741 f
44800
44800
2800
2800
22400
1120
1120
22400
44800
On se rend compte que pour n = 8 et n ≥ 10, il y a des poids négatifs, et la valeur absolue
de ses poids devient de plus en plus grande, ce qui rend les formules inutilisables à cause des
erreurs d’arrondi.
−7
9
f
+ 15741
44800
“ ”
7
9
16
CHAPITRE 2. INTÉGRATION NUMÉRIQUE
Exercice 14. Les formules de Newton Cotes précédentes sont aussi appelées formule de
Newton Cotes fermées, car les extrémités des intervalles sont utilisées. Trouver 2 formules
de Newton Cotes ouvertes, i.e. prenant tous les points équidistants sauf les extremités et dont
les poids sont positifs.
2.3
Degré de précision
Supposons que l’on ait
Z
1
−1
f (x)dx ≃
Z
1
Pp (x)dx,
−1
où Pp est les polynôme d’interpolation de f en p + 1 points distincts xi de l’intervalle [−1, 1].
On peut alors estimer l’erreur :
(p+1) p
(y) Y
f (x) − Pp (x) ≤ max f
x − xi ,
y∈[−1,1] (p + 1)!
i=0
et donc
(p+1) Z
p
f
(y) 1 Y
x − xi dx.
Pp (x)dx ≤ max
f (x)dx −
y∈[−1,1] (p + 1)!
−1
−1
−1
Z
1
Z
1
i=0
On décompose l’intervalle [-1,1] en N sous intervalles de même longueur. Cette formule donne
alors sur un intervalle [−1+kh, −1+(k+1)h] où h = 2/N , et un polynôme Pp,k d’interpolation
de f en p + 1 points −1 + (k + si,k )h, si,k ∈ [−1, 1], i = 0, . . . , n
Z
−1+(k+1)h
−1+kh
Z 1
(f − Pp,k )(−1 + (k + s)h)ds
f (x) − Pp,k (x)dx = h
−1
(p+1) Z
p
f
(y) 1 Y
p+2
s − si,k ds ≤ Cp max f (p+1) (y)hp+2 .
≤h
max
y∈[−1,1] (p + 1)!
y∈[−1,1]
−1
i=0
de sorte que l’on peut majorer l’erreur pour une formule composite donnée par N intervalles :
Z
1
−1
f (x)dx −
N
−1 Z −1+2(k+1)/N
X
k=0
−1+2k/N
Pp,k (x)dx ≤ Cn max f (p+1) (y)hp+1 .
y∈[−1,1]
Exercice 15. Donner la formule composite dans le cas de la formule des trapèzes, de Simpson
et de Boole. Compter le coût de ces méthodes, défini par la somme du nombre d’évaluations
de la fonction et du nombre d’opérations élémentaires.
Vue l’estimation
de l’erreur trouvée, on cherche à mettre une formule de quadrature sous
R1
la forme −1 Pp (x)dx, avec p le plus grand possible.
Prenons l’exemple de la formule du point milieu
Z 1
Z 1
Z 1
f (0) + (f (1) − f (0))xdx.
f (0)dx =
f (x)dx ≃ 2f (0) =
−1
−1
−1
On peut donc appliquer l’estimation précédente pour p = 1, alors qu’à priori, on n’aurait
pensé qu’ à l’appliquer avec p = 0.
17
2.4. FORMULES DE GAUSS
P
On part donc maintenant d’une formule de quadrature à n + 1 points ni=0 ωi f (xi ), en supposant que les ωi sont tous non nuls, et on cherche un polynôme Pp interpolant f en p + 1
points tel que
Z 1
n
X
Pp (x)dx.
ωi f (xi ) =
−1
i=0
Dans le cas où f est un polynôme de degré ≤ p, on a Pp = f , ce qui veut dire que la formule
doit être exacte pour tous les polynômes de degré ≤ p.
Si p < n, il est possible que Pp n’existe pas, mais on peut néanmoins borner l’erreur en
considérant
Z 1
n
n
X
X
|ωi ||(f − Pp )(xi )|.
ωi f (xi ) −
Pp (x)dx ≤
−1
i=0
i=0
Si maintenant p = n, on peut prendre pour Pp , le polynôme d’interpolation de f en les points
xi et on a une formule de quadrature de
Qntype interpolation.
k
Si p > n, on a alors pour P = Pn + x
i=0 (x − xi ), k = 0, . . . , p − n
Z
1
P (x)dx =
−1
Z
1
Pn (x)dx,
−1
et donc la formule de quadrature de type interpolation est exacte pour tous les polynômes de
degré ≤ p, ssi on a
Z 1
n
Y
(x − xi )dx = 0, k = 0, . . . , p − n.
xk
−1
i=0
Définition 1. On dit qu’une formule de quadrature est d’ordre p, si la formule est exacte
pour tous les polynômes de degré ≤ p et n’est plus vraie pour un polynôme de degré p + 1.
Exercice 16. Trouver l’ordre des formules de Newton Cotes.
2.4
Formules de Gauss
Etant donnée une formule de quadrature à n + 1 points,R x0Q
, . . . , xn , on cherche à avoir
1
une formule de d’ordre le plus grand possible. Comme on a −1 ni=0 (x − xi )2 dx 6= 0, on en
déduit que la formule ne pourra pas être d’ordre ≥ 2n + 1. D’où la question, peut-on avoir
une formule de quadrature d’ordre
R 1 2n + 1 ?
•Le cas n = 0. On doit avoir −1 (x − x0 )dx = 0 et donc on en déduit que x0 = 0.
•Le cas n = 1. On doit avoir
Z 1
Z 1
x(x − x0 )(x − x1 )dx = 0.
(x − x0 )(x − x1 )dx = 0 et
−1
−1
R1
De la deuxième équation, on obtient x1 = −x0 et on a donc 0 x2 dx = x20 , ce qui donne
√
√
x0 = −1/ 3 et x1 = 1/ 3.
•Le cas n = 2. On doit avoir
Z 1
xi (x − x0 )(x − x1 )(x − x2 )dx = 0 i = 0, 1, 2.
−1
18
CHAPITRE 2. INTÉGRATION NUMÉRIQUE
En posant X = x0 x1 x2 et Y = x0 + x1 + x2 , on tire du cas i = 0 et i = 2 :
(1/3)Y + X = 0, (1/5)Y + (1/3)X = 0
et donc X = Y = 0, on prend alors xp
0 = −α, x1 = 0 et x2 = α, l’équation pour i = 2 donne
2
alors 1/5 − (1/3)α = 0 et donc α = 3/5.
Q
•Le cas n = k. On cherche un polynôme Pk = ki=0 (x − xi ) de degré k + 1 ayant toutes ses
racines dans l’intervalle [−1, 1] et tel que
Z
1
ti Pk (t)dt = 0,
i = 0, . . . , k.
−1
Pour cela, on prend Pk (t) = (t − ak )Pk−1 (t) − bk Pk−2 (t) et il suffit de trouver ak et bk tels que
Z
1
Pk (t)Pk−1 (t)dt = 0 et
Z
1
Pk (t)Pk−2 (t)dt = 0.
−1
−1
On obtient alors
ak =
R1
2
−1 tPk−1 (t) dt
R1
2
−1 Pk−1 (t) dt
et bk =
R1
−1 tPk−1 (t)Pk−2 (t)dt
.
R1
2 dt
P
(t)
k−2
−1
Exercice 17. Vérifier que la construction de Pk est unique si l’on suppose que le terme de
plus haut degré est tk+1 .
Il reste alors à voir que toutes les racines sont distinctes et bien dans l’intervalle [−1,
Q 1]. Pour
cela on considère les racines de multiplicité impaire a0 , . . . , aj . On a alors Pk = Qk ji=0 (t−ai )
et QkR est deQsigne constant sur l’intervalle [−1, 1]. Supposons maintenant que j ≤ k, on a
1
alors −1 Qk ji=0 (t − ai )2 dt = 0, ce qui est impossible. Donc on a bien k + 1 racines distinctes
de Pk dans l’intervalle [−1, 1].
Q
i
Notons aussi que les poids sont cette fois-ci positifs. En effet, en prenant ℓj (t) = ki=0,i6=j xt−x
,
j −xi
R1
2
on a 0 < −1 ℓj (t) dt = ωj .
2.5
Quelques exercices
Exercice 18. Soit I =
Z
+∞
−x2
e
dx et In =
Z
0
0
nlm:
−x2
e
dx. On a alors In = In−1 +
Une table de valeurs donne I2 = 0.88208139076242.
1. Considérons la formule d’intégration suivante :
Z 1
1
2
f (x) dx = αf (0) + βf
+ γf
+ δf (1).
3
3
0
Z
n
2
e−x dx.
n−1
Trouvez α, β, γ, δ, tels que cette formule soit exacte sur l’espace vectoriel des polynômes de
degré le plus élevé possible. Par un changement de variables, donnez la formule sur l’intervalle
quelconque [a, b] .
Z 3
Z 4
2
−x2
2. Calculez
dx et
e
e−x dx par la formule précédente. En déduire I3 et I4 .
2
3
19
2.5. QUELQUES EXERCICES
1
= In . On a alors lim In = f (0) = I. Interpolez f par le polynôme P sur
n→+∞
n
les données
1
1
1
1
1
1
,f
,f
,f
,
,
2
2
3
3
4
4
3. On pose f
et calculez P (0).
Exercice 19.
1. Déterminez A0 , A1 , A2 tels que la relation :
Z 2π
f (x)
√ dx = (2h)1/2 (A0 f (0) + A1 f (h) + A2 f (2h)) + R(f )
x
0
soit exacte (i.e. R(f ) = 0) sur l’espace vectoriel des polynômes de degré le plus élevé possible.
On précisera ce degré. Z
1
ln(1 + x)
√
2. Calculez exactement
dx, en intégrant d’abord par partie, puis par changement
x
0
de variable. Calculez approximativement cette intégrale par la méthode qui précède. Comparer
ln(1 + x)
√
ce résultat à celui que l’on obtient par la méthode de Simpson (on calculera lim
).
x→0
x
3. Expliquez pourquoi le résultat obtenu par la méthode de Simpson est mauvais (Thomas
Simpson, anglais, 1710-1761).
Z
1
ln(x)
Exercice 20. On veut évaluer I =
dx par une formule d’intégration numérique
2
0 x −1
X
du type
Ai f (xi ) où f (x) = xln(x)
2 −1 .
1. Montrez que xi = 1 est une valeur possible mais pas xi = 0.
2. Construire la formule de quadrature suivante, de type interpolation :
Z 1
1
f (x) dx = af
+ bf (1) + R(f ).
2
0
Déterminez R(f ). Appliquez cette formule à I.
3. On rappelle la formule de Gauss-Legendre à deux points :
Z 1
1
1
1 (4)
f (x) dx = f √
f (ξ)
+ f −√
+
135
3
3
−1
Z 1
f (x) dx et l’appliquer à I.
pour ξ ∈ [−1, 1] . En déduire l’approximation de
0
(Johann Carl Friedrich Gauss, allemand, 1777-1855 et Adrien-Marie Legendre, français,
1752-1833)
π2
.
4. Comparez les résultats précédents à la valeur exacte
8
Z +1
2
e−x (1 + x2 ) dx.
Exercice 21. On veut évaluer I =
−1
1. Calculez une approximation de I par la méthode des trapèzes à 3 points.
2. Construire une méthode d’approximation du type :
Z +1
f (x)(1 + x2 ) dx = A1 f (x1 ) + A2 f (x2 ) + R(f )
−1
20
CHAPITRE 2. INTÉGRATION NUMÉRIQUE
où x1 , x2 et A1 , A2 sont des nombres distincts non nuls. En supposant R(f ) = Kf (4) (ξ),
ξ ∈ [−1, 1] . Déterminez K à l’aide de f (x) = x4 .
Exercice 22. On considère la formule suivante :
Z
1
f (x) dx =
−1
3
X
ak f (xk ) +
k=1
3
X
bk f ′ (xk ) + R(f ).
k=1
où les xk sont donnés par : x1 = −1, x2 = 0, x3 = 1 et les ak et les bk sont à déterminer
pour que la formule soit exacte sur l’espace vectoriel des polynômes de degré le plus grand
possible. Quel est ce degré ?
Z
1
1. Montrez que, si p est impair,
xp dx = 0. Appliquer ce résultat à p = 1, 3, 5. En déduire
−1
que : a1 = a3 , b2 = 0, b1 = −b3 .
2. Montrez alors que :
Z 1
1
f (x) dx = [7f (−1) + 7f (1) + 16f (0) + f ′ (−1) − f ′ (1)] + R(f ).
15
−1
(2.1)
3. Vérifiez que la formule (2.1) n’est pas exacte pour f (x) = x6 . En admettant que le reste
soit de la forme : R(f ) = Kf (6) (θ) avec θ ∈ [−1, 1], déterminez la constante K.
4. Par changement de variable dans (2.1), montrez que :
Z
b
a
h
g(t) dt = [7g(a) + 7g(b) + 16g
15
a+b
2
+ h(g′ (a) − g′ (b))] + E(g),
(2.2)
b−a
.
2
5. Déterminez E(g) à partir
Z π de R(f ).
6. Application Soit I =
sin(x) dx. Trouvez la valeur approchée de I par la formule (2.2)
avec h =
0
et comparez-la à la valeur exacte. Evaluez l’erreur théorique E(g).
7. Montrez que l’on a la formule composite suivante :
Z
a
b
g(t) dt ≈
où h =
h
{7g(a) + 7g(b)
15
+ 16[g(a + h) + g(a + 3h) + · · · + g(a + (2n − 1)h)]
+ 14[g(a + 2h) + g(a + 4h) + · · · + g(a + (2n − 2)h)]
+ h[g′ (a) − g′ (b)]} ,
b−a
. Evaluez l’erreur.
2n
Chapitre 3
Résolution numérique d’équations
différentielles
3.1
Motivation : le problème du pendule
Le mouvement d’un pendule de masse m, suspendu à un point O par un fil non pesant de
longueur ℓ, en rotation d’angle θ(t) autour de O est gouverné par l’équation
θ”(t) = −g sin(θ(t))/ℓ.
L’angle θ(t) est mesuré par rapport à une verticale passant par O. On s’intéresse au mouvement entre l’instant 0 et l’instant T > 0.
On se donne des conditions initiales :
θ ′ (0) = 0.
θ(0) = π/3,
De manière générale une équation différentielle s’écrit
u′ (t) = f (t, u(t)),
u(0) = u0 .
(3.1)
Exercice 23. Mettre l’équation du pendule sous la forme (3.1)
3.2
Schémas à un pas explicites
On fait tout d’abord une discrétisation de l’intervalle [0, T ] :
tn = n∆t,
n = 0, . . . , N,
∆t = T /N.
On veut approcher la solution u(tn ) par une valeur approchée un que l’on peut calculer par
un algorithme.
On souhaite en outre avoir une estimation de l’erreur commise de la forme
en = |u(tn ) − un | ≤ C∆tα.
Le schéma d’Euler explicite
On écrit
u(t
n+1
n
) − u(t ) =
Z
tn+1
tn
21
f (s, u(s))ds.
22
CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
On utilise alors la formule des rectangles pour approcher l’intégrale :
Z
tn+1
tn
f (s, u(s))ds ≃ ∆tf (tn , u(tn )).
On obtient donc le schéma
u0 = u(0),
un+1 = un + ∆tf (tn , un ),
n = 0, . . . , N − 1.
Schéma de Runge explicite
Une autre manière de faire est d’utiliser la formule du point milieu. On a alors
Z
tn+1
tn
f (s, u(s))ds ≃ ∆t(f (tn + ∆t/2, u(tn + ∆t/2)).
On remarque alors que l’on a besoin d’une approximation de u(tn + ∆t/2) que l’on peut
obtenir justement avec le schéma d’Euler explicite précédent :
u(tn + ∆t/2) ≃ u(tn ) + ∆t/2f (tn , u(tn )).
Le schéma s’écrit alors
k1 = f (tn , un ),
k2 = f (tn + ∆t/2, un + (∆t/2)k1 ),
un+1 = un + ∆tk2 .
On peut écrire
un+1 = un + ∆tφ(tn , un , ∆t),
φ(tn , un , ∆t) = f (tn + ∆t/2, un + (∆t/2)f (tn , un )).
Schémas de Runge-Kutta à s étages
Une méthode de Runge-Kutta à s étages est donnée par
k1 = f (tn , un ), k2 = f (tn + c2 ∆t, un + ∆ta2,1 k1 ), . . . , ks = f (tn + cs ∆t, un + ∆t(as,1 k1 + . . . as,s−1 ks )),
un+1 = un + ∆t(b1 k1 + . . . bs ks ).
On représente habituellement la méthode par l’écriture matricielle
0|
c2 |a2,1
cs |as,1 , . . . , as,s−1
|b1 , . . . , bs .
Exercice 24. Représenter les schémas d’Euler et de Runge par leur écriture matricielle.
Par la suite, on supposera toujours que ci =
Cela signifie que l’on a
Pi−1
j=1 ai,j
pour i = 2, . . . , s.
ki = f (tn + ci ∆t, u(tn + ci ∆t)) + O(∆t2 ).
3.3. CONSISTANCE, STABILITÉ ET CONVERGENCE
23
La méthode la plus célèbre est la méthode de Runge-Kutta d’ordre 4 (RK4) donnée par
l’écriture matricielle
0|
1/2|1/2
1/2|0 1/2
1|0 0 1
|1/6 1/3 1/3 1/6
Ecriture générale
De manière générale, on écrit un schéma à un pas sous la forme
u0 = u(t0 ), un+1 = un + ∆tφ(tn , un , ∆t).
(3.2)
φ est une fonction de R+ × Rd × R+ à valeurs dans Rd et est sensée être une approximation
de f (tn , u(tn )).
L’algorithme sera alors satisfaisant lorsque l’erreur en = |un − u(tn )| converge vers 0 pour
n = 0, . . . , N lorsque le pas de temps ∆t tend vers 0. Pour cela, nous allons introduire
plusieurs notions : la consistance et la stabilité qui conduiront ensuite à la convergence de
l’approximation vers la solution exacte.
Exercice 25. Réécrire les schémas précédents sous la forme (3.2).
3.3
Consistance, stabilité et convergence
On définit l’erreur
en (∆t) = u(tn ) − un , n = 0, . . . , N, ∆t = T /N.
Définition 2. On dit que le schéma est convergent sur l’intervalle [0, T ], si l’on a
lim
max ken (∆t)k = 0.
N →∞ n=0,...,N
Pour p ∈ N, on dit que que le schéma est convergent d’ordre p s’il existe une constante C ne
dépendant que de f, T et u0 tel que
max ken (∆t)k ≤ C∆tp .
n=0,...,N
Erreur de consistance
On définit l’erreur de consistance du schéma au temps t par
u(t + ∆t) − u(t)
− φ(t, u(t), ∆t).
∆t
Définition 3. On dit que le schéma est consistant, si l’on a
R(t, u, ∆t) =
lim kR(t, u, ∆t)k = 0,
∆t→0
pour tout t ≥ 0 et toute solution u. Pour p ∈ N, on dit que que le schéma est consistant
d’ordre p s’il existe une constante C ne dépendant que de f, T et u0 tel que
kR(t, u, ∆t)k ≤ C∆tp ,
pour tout t ≥ 0 et toute solution u.
24
CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
On a alors
Proposition 1. (Caractérisation de la consistance) Si la fonction φ ∈ C(R+ × Rd ×
R+ , Rd ) et si
φ(t, u, 0) = f (t, u), t ∈ [0, T ], u ∈ Rd ,
alors le schéma est consistant.
Démonstration. Soit u ∈ C 1 ([0, T ], Rd ) la solution exacte de (3.1). On a alors
1
R(t, u(t), ∆t) =
∆t
Z
t+∆t
t
(φ(s, u(s), 0) − φ(t, u(t), ∆t))ds,
qui tend vers 0 lorsque ∆t tend vers 0.
Exercice 26. Etudier la consistance des schémas d’Euler explicite, de Heun et de Runge.
On a le théorème suivant
Théorème 2. (Stabilité+consistance ⇔ Convergence)
(consistance) Supposons que le schéma est consistant d’ordre p : il existe une constante
C > 0 dépendant de f, T et u0 telle que
R(t, u, ∆t) ≤ C∆tp, t ≥ 0.
(stabilité) Supposons aussi que φ est continu et Lipschitzienne par rapport à la variable
u ∈ Rd .
kφ(t, u, ∆t) − φ(t, v, ∆t)k ≤ Γku − vk, pour tout t ≥ 0, ∆t ≥ 0.
Alors la solution est convergente et on a l’estimation
ken (∆t)k ≤
C
(exp(Γtn ) − 1)∆tp + ke0 (∆t)k exp(Γtn ), n = 0, . . . , N.
Γ
Démonstration. On a
en+1 (∆t) = en (∆t) + ∆t(φ(tn , u(tn ), ∆t) − φ(tn , un , ∆t) + R(tn , u(tn ), ∆t)),
et donc
ken+1 (∆t)k ≤ ken (∆t)k(1 + Γ∆t) + C∆tp+1 .
On a alors
en+1 +
C∆tp
C∆tp
≤ (1 + Γ∆t)(en +
)
Γ
Γ
Exercice 27. Etudier la convergence des schémas d’Euler explicite, de Runge explicite et le
schéma RK4.
25
3.4. SCHÉMAS IMPLICITES
3.4
Schémas implicites
Le schéma d’Euler implicite
On écrit à nouveau
u(tn+1 ) − u(tn ) =
Z
tn+1
f (s, u(s))ds.
tn
On utilise cette fois-ci la formule des rectangles à droite pour approcher l’intégrale :
Z tn+1
f (s, u(s))ds ≃ ∆tf (tn+1 , u(tn+1 )).
tn
On obtient donc le schéma
u0 = u(0),
un+1 = un + ∆tf (tn+1 , un+1 ),
n = 0, . . . , N − 1.
Théorème 3. Si f : R+ × Rd → Rd est une fonction continue et Lipschitzienne en x ∈ Rd ,
i. e., il existe L > 0 tel que pour tout (x, y) ∈ Rd
kf (t, y) − f (t, x)k ≤ Lkx − yk,
alors il existe une unique solution un+1 satisfaisant
un+1 = un + ∆tf (tn+1 , un+1 ),
dès lors que le pas de temps vérifie ∆t < 1/L.
Lemme 1. (Admis) Soit g : Rd → Rd une fonction satisfaisant
kg(x) − g(y)k ≤ Lkx − yk, x, y ∈ Rd ,
avec un nombre 0 < L < 1, alors g admet un unique point fixe, i. e., il existe un unique ℓ ∈ R
tel que g(ℓ) = ℓ.
Le schéma de Crank-Nicolson
On utilise cette fois-ci la méthode des rectangles
∆t
(f (tn , un ) + f (tn+1 , un+1 )).
2
Méthodes de Runge Kutta implicites
On reprend la notation matricielle, mais cette fois-ci, on admet d’avoir plus de coefficients
un+1 = un +
c1 |a1,1 , . . . , a1,s
c2 |a2,1 , . . . , a2,s
cs |as,1 , . . . , as,s
|b1 , . . . , bs .
Méthodes de Runge Kutta semi-implicites
Un compromis est de n’avoir que s équations non linéaires indépendantes à résoudre en
considérant
c1 |a1,1
c2 |a2,1 , a2,2
cs |as,1 , . . . , as,s
|b1 , . . . , bs .
26
3.5
CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
Stabilité absolue
On peut se demander quel est l’intérêt d’utiliser des méthodes implicites, sachant que leur
résolution est plus difficile. On considère ici le problème test
y ′ (t) = λy(t),
y(0) = 1,
(3.3)
dont la solution explicite est donnée par y(t) = exp(λt).
Définition 4. Une méthode approchant le problème (3.3) est absolument stable si
kun k → 0,
lorsque
tn → 0.
(3.4)
La région de stabilité est alors définie par
A = {z = hλ : (3.4) est vérifié}
Enfin une méthode est dite A-stable si pour tout λ tel que ℜ(λ) < 0 on a (3.4).
Exercice 28. Etudier la stabilité absolue et la zone de stabilité des méthodes d’Euler implicite,
de Crank Nicholson, d’Euler explicite et de Runge.
3.6
Méthodes multi-pas
Définition 5. Une méthode à k-pas est une méthode qui s’écrit ous la forme
αk uj+k + αk−1 uj+k−1 + . . . α0 uj = h(βk fj+k + · · · + β0 fj ),
αk 6= 0,
où l’on a posé fj = f (tj , uj ). Si βk = 0, la méthode est explcite et implcite sinon.
Pour définir les méthodes à pas multiples, on utilise des formules d’intégration numérique, de
différentiation ou d’interpolation (cf Exercices).
Schéma saute-mouton (leap-frog)
un+1 = un−1 + 2∆tf (tn , un ).
Méthode de Simpson
∆t
(f (tn−1 , un−1 ) + 4f (tn , un ) + f (tn+1 , un+1 )).
3
Schéma d’ordre 2 d’Adams-Balsforth
∆t
un+1 = un−1 +
(3f (tn , un ) − f (tn−1 , un−1 )).
3
Schémas prédicteurs-correcteurs
Supposons u0 et u1 donnés. On peut alors prédire par une formule explicite une première
approximation un0 , n = 1, . . . , N − 1
un+1 = un−1 +
∆t
(3f (tn , un ) − f (tn−1 , un−1 )).
2
On fait ensuite une deuxième étape de correction
un+1
= un +
0
∆t
)),
(f (tn , un ) + f (tn−1 , un+1
k
2
avec k = 0, . . . , K, le nombre d’itérations K est choisi suffisament grand pour que la suite
ne varie plus beaucoup par rapport à k.
un+1
k
n
un+1
k+1 = u +
27
3.7. EXERCICES
3.7
Exercices
Exercice 29. Soit la formule de quadrature suivante :
Z
1
g(t) dt = a1 g(−2) + a2 g(−1) + a3 g(0) + R(g).
−1
1. Déterminer les coefficients ai pour i variant de 1 à 3, de sorte que R(g) = 0, quel que
soit g appartenant à l’espace vectoriel des polynômes de degré inférieur ou égal à n, où
n est le plus grand possible. Que vaut n ?
2. En supposant que R(g) = Kgn+1 (ξ), déterminer K.
3. Déduire des questions précédentes, la formule et l’erreur de quadrature pour
Z
xn+3
f (x) dx,
xn+1
en posant xn = a + nh.
4. Pour résoudre l’équation différentielle suivante
′
y (x) = f (x, y(x)) x ∈ [a, b]
y(a) = y0
où f possède les propriétés nécessaires pour assurer l’existence et l’unicité de la solution
y, on considère le schéma suivant :
yn+3 − yn+1 =
h
(7fn+2 − 2fn+1 + fn ),
3
où h est le pas, xn = a + nh, yn est la valeur approchée de y(xn ) et fn = f (xn , yn ).
(i) Comment a-t-on obtenu ce schéma ?
(ii) A combien de pas est ce schéma ? Est-il implicite ou explicite ? Quelles valeurs de
démarrage faut-il ? Comment les obtenir ?
(iii) On démontre qu’un schéma multi-pas
αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ]
est stable si le polynôme α(λ) = α0 + α1 λ + · · · + αk λk vérifie les deux conditions
suivantes :
(a) Toutes les racines sont de module inférieur ou égal à 1.
(b) Les éventuelles racines de module égal à 1 sont simples.
Etudier la stabilité de ce schéma.
(iv) On dit qu’un schéma multi-pas
αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ]
est d’ordre p s’il existe une constante C telle que :
1
(αk y(xn+k ) + · · · + α0 y(xn )) − ( βk f (xn+k , y(xn+k )) + · · · + β0 f (xn , y(xn )) ) ≤ C hp
h
Etudier l’ordre de ce schéma.
28
CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
Exercice 30. Pour résoudre l’équation différentielle suivante
′
y (x) = f (x, y(x)) x ∈ [a; b]
y(a) = y0
où f possède les propriétés nécessaires pour assurer l’existence et l’unicité de la solution y,
on considère le schéma suivant :
yn+3 − yn =
3h
(fn+2 + fn+1 ) ,
2
où h est le pas, xn = a + nh, yn est la valeur approchée de y(xn ) et fn = f (xn , yn ).
A combien de pas est ce schéma ? Est-il implicite ou explicite ? Quelles valeurs de démarrage
faut-il ? Comment les obtenir ?
On cherche à résoudre numériquement l’équation différentielle suivante :
′
y (x) = f (x, y(x)) x ∈ [a; b]
y(a) = ya
On divise l’intervalle [a; b] en N + 1 points xi = a + i ∗ h, i = 0..N avec h =
donne la formule d’intégration numérique suivante :
Z 1
1
1
2
3
3
1
f (x) dx = f (0) + f
+ f
+ f (1) + R(f ).
8
8
3
8
3
8
0
b−a
et on se
N
1. Par un changement de variable adéquat, déduire la formule d’intégration sur [xn , xn+3 ].
2. On propose pour résoudre l’équation différentielle, le schéma suivant :
3
3
1
1
fn + fn+1 + fn+2 + fn+3
yn+3 − yn = 3h
8
8
8
8
où yi est une approximation de y(xi ) et fi = f (xi , yi ).
Comment a-t-on obtenu ce schéma ? A combien de pas est ce schéma ? Est-il implicite
ou explicite ?
3. Quelle valeurs de démarrage faut-il ? Comment les obtenir ?
4. Etudier l’ordre de ce schéma (on pourra utiliser la méthode de la question 2.c de la
première partie en cherchant l’erreur de la formule d’intégration sur [0, 3h]).
Rappel : On dit qu’un schéma multi-pas
αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ]
est d’ordre p s’il existe une constante C telle que :
1
(αk y(xn+k ) + · · · + α0 y(xn )) − ( βk f (xn+k , y(xn+k )) + · · · + β0 f (xn , y(xn )) ) ≤ C hp
h
Exercice 31. On cherche à résoudre numériquement l’équation différentielle suivante :
′
y (x) = f (x, y(x)) x ∈ [a; b]
(3.5)
y(a) = ya
3.7. EXERCICES
29
b−a
On divise l’intervalle [a; b] en N +1 points xi = a+ih, i = 0..N avec h =
. On considère
N
le schéma suivant :
4
1
1
fn−1 + fn + fn+1
yn+1 = yn−1 + h
3
3
3
où yn = y(xn ) et fn = f (xn , y(xn )).
1. Comment a-t-on obtenu ce schéma ?
2. Que pouvez-vous dire sur ce schéma (implicite ou explicite, combien de pas, éventuellement
son ordre) ?
3. Déterminer le polynôme d’interpolation de Newton Q vérifiant :
Q(xn−1 ) = y(xn−1 ) = yn−1 , Q(xn ) = y(xn ) = yn , Q(xn+1 ) = y(xn+1 ) = yn+1 .
Dériver ce polynôme Q et calculer Q′ (xn+1 ). En déduire un schéma numérique pour
résoudre (3.5).
Exercice 32. Méthodes de Taylor et de Runge-Kutta Soit t dans [0, T ] et une fonction
y : [0, T ] → R continuement dérivable solution de l’équation différentielle suivante :
′
y (t) = f (t, y(t))
(3.6)
y(0) = Y0 .
On cherche à approcher cette solution y en des points tj = 0 + j Tn .
(i) Ecrire le développement de Taylor à l’ordre 2 de y(ti+1 ).
(ii) A partir de l’équation différentielle, calculer y ′′ (t).
(iii) En déduire une méthode pour résoudre (3.6). Cette méthode s’appelle méthode de
Taylor d’ordre 2.
(iv) La méthode de Runge-Kutta d’ordre 2 s’obtient à partir de la précédente en
remplaçant :
∂f
h ∂f
(ti , yi ) +
(ti , yi ).f (ti , yi )
(3.7)
f (ti , yi ) +
2 ∂x
∂y
par
A.f (ti + α, yi + β).
Ecrire le développement de Taylor à l’ordre 2 de A.f (ti + α, yi + β). Identifier avec (3.7)
et en déduire la méthode de Runge-Kutta d’ordre 2.
(v) Ecrire l’algorithme correspondant.
(vi) La méthode de Runge-Kutta d’ordre 4 s’obtient par le même principe mais les
calculs sont beaucoup plus lourds :


yi+1 = yi + hφ(ti , yi , h)



1


[k1 (ti , yi , h) + k2 (ti , yi , h) + k3 (ti , yi , h) + k4 (ti , yi , h)]
φ(ti , yi , h) =



6


 k1 (ti , yi , h) = f (ti , yi )

h
h
k2 (ti , yi , h) = f (ti + , yi + k1 (ti , yi , h))


2
2


h
h


k3 (ti , yi , h) = f (ti + , yi + k2 (ti , yi , h))


2
2



h

 k4 (ti , yi , h) = f (ti + h, yi + k3 (ti , yi , h))
2
Ecrire l’algorithme correspondant à cette méthode.
30
CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
Chapitre 4
Résolution d’équations non linéaires
Soit f : R → R une fonction continue. On herche les zéros de f , i. e. les points x ∈ R tels
que f (x) = 0.
4.1
Quelques méthodes
Théorème 4 (Théorème des valeurs intermédiaires). Supposons que f [a, b] → R est continue
et f (a)f (b) < 0. Alors f admet au moins un zéro sur l’intervalle ]a, b[.
La méthode de dichotomie
On se place d’abord sur un intervalle [a, b] tel que f (a)f (b) < 0. On définit c = a+b
2 . Si
f (c) = 0, on a trouvé une racine et on s’arrête. Si f (a)f (c) < 0, on pose b = c ; sinon on a
forcément f (c)f (b) < 0 et on pose a = c. On itère cette procédure n fois ; on est alors assuré
d’avoir localisé une racine de f dans un intervalle dont la longueur est divisée par 2n .
La méthode de la corde
(a)
(c − a) = 0. Si f (c) = 0, on
On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f
b−a
(a)
a trouvé la racine et on arrête. Sinon, on définit x par f (c) + f (b)−f
(x − c) = 0 et on pose
b−a
c = x. On recommence alors avec la nouvelle valeur de c.
Une autre méthode de corde
(a)
(c − a) = 0. Si f (c) = 0, on
On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f
b−a
f (c)−f (a)
(x − a) = 0
c−a
f (c)−f (b)
(x − b) = 0 et on
c−b
a trouvé la racine et on arrête. Si f (a)f (c) < 0, on définit x par f (a) +
et on pose c = x. Sinon, on a f (b)f (c) < 0, on définit x par f (b) +
pose c = x. On recommence alors avec la nouvelle valeur de c.
La méthode de la fausse position (Regula Falsi)
(a)
On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f
(c − a) = 0. Si f (c) = 0, on a
b−a
trouvé la racine et on arrête. Si f (a)f (c) < 0, on pose b = c. Sinon, on a f (b)f (c) < 0 et on
pose a = c et on recommence avec les nouvelles valeurs de a et b.
La méthode de la sécante
(a)
(c−a) =
On suppose que a et b sont assez proches de la racine. On définit c par f (a)+ f (b)−f
b−a
0. Si f (c) = 0, on a trouvé la racine et on arrête. Sinon, on pose d = b, puis b = c et a = d et
on recommence avec les nouvelles valeurs de a et b.
La méthode de Newton
On suppose que a est assez proche de la racine et que f ′ (a) 6= 0. On définit c par f (a) +
31
32
CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES
f ′ (a)(c − a) = 0. Si f (c) = 0, on a trouvé la racine et on arrête. Sinon, on pose a = c et on
recommence avec la nouvelle valeur de a.
Une combinaison de méthodes
On suppose que f (a)f (b) < 0. On définit c par f (a) + f ′ (a)(c − a) = 0 Si f (c) = 0, on a
trouvé la racine et on arrête. Si f (a)f (c) < 0, on pose b = c. Si, on a f (b)f (c) < 0 et on pose
a = c. Sinon, c se trouve en dehors de l’intervalle [a, b] et dans ce cas, on remplace c par a+b
2 .
On recommence ensuite avec les nouvelles valeurs de a et b.
4.2
Méthode du point fixe
Dans de nombreux cas, pour résoudre f (x) = 0, on se ramène à une suite
x0 ,
xn+1 = g(xn ),
n = 0, 1, . . . ,
où g est une fonction continue.
Si xn converge vers une solution ℓ telle que f (ℓ) = 0, alors on a ℓ = g(ℓ), comme g est continue.
Théorème 5. Soit g : [a, b] → [a, b] strictement contractante, i.e. il existe 0 ≤ L < 1 tel que
|g(x) − g(y)| ≤ L|x − y|,
alors pour tout x0 ∈ [a, b], la suite (xn ) définie par xn+1 = g(xn ),
ℓ unique solution de l’équation g(ℓ) = ℓ.
n = 0, . . . converge vers
La méthode de Newton peut se réecrire sous la forme
x0 ∈ [a, b],
xn+1 = xn −
f (xn )
,
f ′ (xn )
n = 0, . . .
(4.1)
Théorème 6. Soit f ∈ C 2 ([a, b]) telle que f (a)f (b) < 0, f ′ (x) 6= 0, f ”(x) 6= 0, x ∈ [a, b].
Alors pour tout x0 ∈ [a, b] tel que f (x0 )f ”(x0 ) > 0, la suite (xn ) définie par (4.1) converge
vers l’unique solution ℓ de f (x) = 0 dans [a, b].
Ordre d’une méthode
On dit qu’une suite (xn ) définie par une méthode converge vers ℓ à l’ordre p ≥ 1, s’il existe
C > 0 tel que
|xn+1 − ℓ|
≤ C, k ≥ k0 ,
|xn − ℓ|p
où k0 est choisi convenablement.
Dans le cas où g est p fois dérivable, on a
xn+1 − ℓ = g(xn ) − g(ℓ) = (xn − ℓ)g′ (ℓ) + · · · +
(xn − ℓ)p (p)
g (ℓ) + o(xn − ℓ)p
p!
La méthode est alors dite d’ordre p si on a g′ (ℓ) = 0, . . . , g(p−1) (ℓ) = 0, g(p) (ℓ) 6= 0.
Si ℓ est un zéro simple de f , alors la méthode de Newton est d’ordre 2 au moins.
Si ℓ est un zéro de f de multiplicité m, alors on se ramène à un zéro simple en considérant
|f (x)|1/m .
Test d’arrêt des itérations
On a deux solutions :
33
4.3. EXERCICES
1. |xn+1 − xn | ≤ ǫ (Attention il se peut que |xn+1 − xn | soit petit sans qu’il y ait de solution
au point fixe)
2. |f (xn )| ≤ η, avec η valeur fixée mais qui dépend de |f ′ (ℓ)|.
Cas particulier des polynômes
Théorème 7. Soit P un polynôme à coefficients réels de degré ≥ 2 admettant n racines
réelles ξ1 > ξ2 > · · · > ξn . Alors pour toute valeur initiale x0 > ξ1 , la suite de Newton est
strictement décroissante et converge vers ξ1 .
4.3
Exercices
Exercice 33.
a) Montrez que l’équation x − cos(x) = 0 a une unique solution s sur R.
b) Montrez que la suite définie par : xn+1 = cos(xn ) converge vers s, quel que soit x0
dans R.
Exercice 34.
a) Discutez selon les valeurs de α (α > 0), le nombre de points d’intersection des deux
courbes d’équations :
√
g(x) = α x
et
h(x) = ln(x).
√
On pourra pour cela étudier la fonction √
f (x) = α x − ln(x).
x
1
b) On prend α = . Montrez que f (x) =
− ln(x) s’annule deux fois sur R+ .
2
2
Localisez chaque racine entre deux entiers successifs.
Montrez que chacune des itérations suivantes :
√ xn
(1)
xn+1 = exp
,
2
(2)
xn+1 = 4(ln(xn ))2
permet de n’approcher qu’une seule des deux racines (on justifiera la convergence ou la
divergence).
Exercice 35.
a) Enoncer le théorème des valeurs intermédiaires pour une fonction strictement monotone.
b) Montrer que l’équation 3 − 2x = ex possède une unique solution α dans R. Vérifier que
0 ≤ α ≤ 1. Est-ce que 21 ≤ α ≤ 1 ?
Exercice 36.
a) Enoncer le théorème de Rolle. Interprétation géométrique ?
34
CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES
b) Soit f une fonction n fois dérivable sur ]a, b[ s’annulant en n+1 points de ]a, b[. Montrer
que si f (n) est continue, il existe un point x0 de ]a, b[ tel que f (n) (x0 ) = 0.
c) Montrer que le polynôme Pn défini par
Pn (t) = [(1 − t2 )n ](n)
est un polynôme de degré n dont les racines sont réelles, simples et appartiennent à
[−1, 1].
Exercice 37.
a) Utiliser le théorème de Rolle pour démontrer le théorème des accroissements finis (in(a)
(x − a)). Interprétation géométrique ?
dication : on introduira ϕ(x) = f (x) − f (b)−f
b−a
b) Montrer que pour tout x > 0,
1
1
< ln(x + 1) − ln(x) < .
x+1
x
c) Une fonction f est dite strictement contractante sur I s’il existe une constante 0 < k < 1
telle que
|f (x) − f (y)| ≤ k|x − y|
pour tous x, y ∈ I. Montrer que f (x) = e−(1+x) est strictement contractante sur R+ .
Problème 1.
On considère la fonction f (x) = ln((x + 1) exp(−2x) + 1 − x).
Le but de ce problème est de déterminer le domaine de définition de f .
1. On pose u(x) = (x + 1) exp(−2x) + 1 − x. Calculez u′ et u′′ .
Montrez que u′ s’annule pour une valeur de γ qu’on localisera entre deux entiers successifs.
Montrez que u s’annule en deux valeurs α et β (on notera α la valeur positive).
Montrez que α = −β.
Localisez α et β entre deux entiers successifs.
2. En déduire le domaine de définition de f en fonction de α et le graphe de f.
3. Ecrire la méthode de Newton pour l’approximation effective de α. Choisir une valeur
x0 qui assure la convergence de la suite vers α et calculez x1 et x2 . à l’aide du théorème
des accroissements finis, calculez une majoration de l’erreur |x2 − α|.
Problème 2.
On veut résoudre :
f (x) = x + 1 −
x x
e
3
(4.2)
35
4.3. EXERCICES
1. Calculer f ′ (x) et f ′′ (x). En déduire le tableau de variations de f . Quel est le nombre de
solutions de (4.2) ? Localiser chaque solution entre deux entiers consécutifs.
2. On considère les méthodes itératives suivantes :
xn x n
xn+1 =
e −1
3
(4.3)
xn+1 = 3e−xn (xn + 1)
(4.4)
a) Vérifier que, si ces méthodes convergent, elles convergent bien vers une solution de
(4.2).
b) Montrer que chaque méthode ne converge que vers une seule solution de (4.2).
Préciser alors l’intervalle sur lequel le théorème du point fixe s’applique, et, dans
ce cas, déterminer combien d’itérations seront, a priori, nécessaires pour obtenir une
erreur absolue inférieure à 5.10−7 .
Calculer dans chaque cas deux itérés à partir d’un x0 admissible.
3. Ecrire la méthode de Newton pour résoudre (4.2). Pour chaque solution, justifier le
choix de x0 et calculer deux itérés.
A partir des valeurs approchées obtenues, donner, si possible, une estimation des solutions.
4. Ecrire la méthode de Newton pour trouver une approximation de la valeur µ où f admet
un maximum.
Calculer une estimation de ce maximum.
Exercice 38. Méthode d’accélération d’Aitken
Soit (xn ) une suite définie par :
x0 ∈ [a; b]
xn+1 = g(xn )
et convergente vers l solution de f (x) = 0.
On suppose que l’ordre de cette méthode est 1 soit :
en+1 = (A + ǫn )en , où en = xn − l, A = g′ (l), 0 < A < 1 et lim ǫn = 0
n→∞
1. Montrer que en+2 − 2en+1 + en s’écrit ((A − 1)2 + θn )en avec limn→∞ θn = 0
2. Soit x′n = xn −
(xn+1 − xn )2
. Montrer que
xn+2 − 2xn+1 + xn
θn − 2ǫn (A − 1) − ǫ2n
x′n − l
=
.
xn − l
((A − 1)2 + θn )
x′n − l
?
n→∞ xn − l
Que vaut lim
Exercice 39. Méthode de la sécante
36
CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES
L’inconvénient de la méthode de Newton est l’utilisation de f ′ (x) qui peut être difficile à
évaluer. On remplace alors f ′ (xn ) par l’approximation suivante :
f (xn ) − f (xn−1 )
.
xn − xn−1
1. Ecrire la méthode correspondante. Justifier l’approximation de la dérivée. Sachant
l’ordre des méthodes de la corde et de Newton, que pouvez-vous dire de l’ordre de
cette nouvelle méthode ?
2. On suppose que f ′ (l) 6= 0 et f ′′ (l) 6= 0.
a) Que vaut en+1 en fonction de en−1 et en ?
(xn − l)2 ′′
f (l) + (xn − l)2 ǫn (xn − l) avec
b) Sachant que f (xn ) = (xn − l)f ′ (l) +
2
limn→∞ ǫn = 0, montrer que en+1 ∼ Ken en−1 avec K à déterminer.
c) Soit p l’ordre de la méthode :
lim
n→∞
|en+1 |
= C, avec C 6= 0.
|en |p
Montrer que p vérifie p2 − p − 1 = 0.
Exercice 40. Méthode de Newton : exemples
Ecrire la méthode de Newton correspondant aux fonctions suivantes. Regarder l’évolution
des itérés, qu’en pensez-vous ?
4
x2
− 10, f2 (x) = ex/10 − 10−5 , f3 (x) = ln(x + 2)ex , f4 (x) = x3 − 2x + 1.
f1 (x) = 100
Exercice 41. Suite de Sturm
Soit P un polynôme de degré n supposé n’avoir que des racines simples. On définit une
suite de polynômes Pk par :

 P0 (x) = P (x)
P1 (x) = −P ′ (x)

Pk+1 = QPk − Pk−1
(Pk+1 est l’opposé du reste de la division euclidienne de Pk−1 par Pk ).
On note Pm le dernier terme de la suite.
1. Que peut-on dire de Pk+1 (r)Pk−1 (r) si r est racine de Pk ?
2. Si r est une racine de P , examiner les signes possibles de P0 (x) et P1 (x) au voisinage
de r.
3. Si s est une racine de Pk , montrer qu’il y a 4 cas possibles pour les signes de Pk−1 (x), Pk (x), Pk+1 (x)
au voisinage de s.
4. On définit V (a) le nombre de changements de signes dans la suite P0 (a), P1 (a), . . . , Pm (a).
Montrer que pour h suffisamment petit, V (s + h) = V (s − h) + 1.
5. Conclure que V (b) − V (a) est le nombre de racines réelles de P dans [a; b].
6. Application : Quel est le nombre de racines réelles de P (x) = X 5 −5x3 +4x dans [−3; 3] ?
Trouver la plus grande en module.
Chapitre 5
Résolution de systèmes linéaires
5.1
Position du problème
On cherche à résoudre un système linéaire d’équations, ie on cherche le vecteur x ∈ RN tel
que Ax = b où A ∈ RN ×N est une matrice carrée, supposée inversible (detA 6= 0) et b ∈ RN
un vecteur donné.
Ce problème est un des plus importants de l’analyse numérique, nous allons voir une méthode
pour le résoudre mais il en existe beaucoup d’autres.
5.2
Cas des matrices triangulaires
Soit le système suivant à résoudre :

a11 x1
= b1



 a21 x1 + a22 x2
= b2
.
..
.
.
.

.
.
.



an1 x1 + an2 x2 + · · · + ann xn = bn
Ce système équivaut à trouver x vecteur de RN tel que Ax = b avec :

 


b1
x1
a11
  x2   b2 
 a21 a22

 


Ax =  .
  ..  =  .. 
..




 ..
.
. 
.
bn
xn
an1 an2 . . . ann
Comme la matrice est triangulaire inférieure, detA = Πni=1 aii , cette matrice est inversible
si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par une descente :



















x1 =
x2 =
..
.
xi
..
.
=
b1 /a11
(b2 − a21 x1 )/a22
(bi −
xn = (bn −
Pi−1
j=1 aij xj )/aii
Pn−1
j=1
37
aij xj )/ann
38
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
Comptons le nombre d’opérations nécessaires à une descente :
pour le calcul de xi : (i − 1)⊗, (i − 2) + 1⊕, 1/, donc au total
n
X
i=1
2(i − 1) + n = 2
n−1
X
i=0
i + n = n(n − 1) + n ≈ n2 opérations.
Soit maintenant le système suivant à résoudre :

a11 x1 + a12 x2 + · · · + a1n xn = b1




a22 x2 + · · · + a2n xn = b2
..
..
..

.
.
.



ann xn = bn
Ce système équivaut à trouver x vecteur de RN tel que Ax = b avec :

a11 a12 . . .

a22 . . .

Ax = 
..

.

a1n
a2n
..
.




ann
x1
x2
..
.
xn


 
 
=
 
b1
b2
..
.
bn





Comme la matrice est triangulaire supérieure, detA = Πni=1 aii , cette matrice est inversible si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par une
remontée :



















x1 =
x2 =
..
.
xi
..
.
P
(b1 − nj=2 aij xj )/a11
P
(b2 − nj=3 aij xj )/a22
= (bi −
xn =
Pn
j=i+1 aij xj )/aii
bn /ann
Comptons le nombre d’opérations nécessaires à une remontée :
pour le calcul de xi : n − (i + 1) + 1 = (n − i)⊗, (n − i)⊕, 1/, donc au total
n
X
i=1
5.3
2(n − i) + n = 2
n
X
i=1
n−
n
X
i=1
i + n = 2n2 − n(n + 1) + n ≈ n2 opérations.
Méthode de Gauss
(Gauss1 )
Comme les systèmes triangulaires sont faciles et économiques à résoudre, l’objectif est de
transformer tout système linéaire en système triangulaire équivalent.
1
Johann Carl Friedrich Gauss, allemand, 1777-1855
39
5.3. MÉTHODE DE GAUSS
Soit à résoudre le système Ax = b, on suppose

a11 x1 + a12 x2 + · · · + a1n xn =




a21 x1 + a22 x2 + · · · + a2n xn =
..

.



an1 x1 + an2 x2 + · · · + ann xn =
où pour 2 ≤ i ≤ n :
que a11 6= 0 :
b1
b2
..
.
L1 ←
L2 ←
..
.
L1
21
L2 − aa11
L1
bn
Ln ← Ln −
an1
a11 L1


a11 x1 + a12 x2 + · · · + a1n xn = b1



(2)
(2)
(2)

a22 x2 + · · · + a2n xn = b2
..
..

.
.



(2)
(2)
(2)

an2 x2 + · · · + ann xn = bn
(2)
ai1
a1j ,
a11
ai1
(1)
b1 ,
= bi −
a11
aij = aij −
(2)
bi
Interprétation matricielle
Soit la matrice L(1) telle que :

L(1)





=




1
a21
−
a11
a31
−
a11
..
.
an1
−
a11
0 ...
1

..
.
0
..
.
0 ...
alors le calcul de L(1) b et L(1) A donne :







L(1) b = 





0
..
. 0
0 1
b1
a21
−
b1 + b2
a11
..
.
ai1
−
b1 + bi
a11
..
.
an1
−
b1 + bn
a11
a11
a12
 0 a22 − a21 a12

a11

 0 a − a31 a
(1)

32
12
L A=
a11
 .
..
 ..
.

an1
0 an2 −
a12
a11
...
...
...
...


















 = b(2)





a1n
a21
a2n −
a1n
a11
a31
a3n −
a1n
a11
..
.
an1
ann −
a1n
a11





 = A(2)




40
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
Donc on a :
Ax = b ⇐⇒ L(1) Ax = L(1) b ⇐⇒ A(2) x = b(2) .
A l’étape (r)
On a éliminé x1 des équations 2 à n, x2 des équations 3 à n et xr−1 des équations r à n. On
(r)
suppose que arr , que l’on appelle le pivot, est non nul.
 (1)
(1)

a11 x1 + a12 x2 +
...



..


.




(r−1)
(r−1)

ar−1r−1 xr−1 + ar−1r xr + . . .


(r)
arr xr + . . .


(r)


ar+1r xr + . . .



..



.



(r)
anr xr + . . .
(1)
+
a1n xn
=
+
+
+
(r−1)
ar−1n xn
(r)
arn xn
(r)
ar+1n xn
+
ann xn
(r)
(1)
b1
..
.
=
(r−1)
= br−1
(r)
= br
..
=
.
..
=
.
(r)
= bn
L1
← L1
..
.
Lr−1 ← Lr−1
Lr
← Lr
Ln
← Ln −
On obtient alors la matrice A(r+1) et le vecteur b(r+1) tels que : pour r + 1 ≤ i ≤ n et
r+1≤j ≤n :
(r)
(r)
air
(r)
air
(r+1)
= aij −
(r+1)
= bi −
aij
bi
(r)
a ,
(r) rj
arr
(r)
b(r) ,
(r) r
arr
Interprétation matricielle
Soit la matrice L(r) telle que :

L(r)









=








1 0 ...
...
...
0 1
..
. 0
.. ..
. .
.. ..
. .
.. ..
. .
.. ..
. .
...
...
0 0
..
.
...
1
...
(r)
−
ar+1r
(r)
arr
..
.
...
...
...
(r)
nr
− a(r)
arr
...
0
..
.
..
.
..
.
..
.
..
.

















..
. 0 

0 1
(r)
Lr+1 ← Lr+1 −
..
.
ar+1r
(r)
arr
(r)
anr
(r) Lr
arr
Lr
41
5.3. MÉTHODE DE GAUSS
alors le calcul de L(r) b(r) et L(r) A(r) donne :

(1)
b1

(2)

b2

..


.

(r−1)

br
L(r) b(r) = 
 a(r) (r)
 − r+1r br + b(r)
(r)

r+1
arr

..


.

(r)
(r)
anr (r)
− (r) br + bn
arr
L(r) A(r)
Donc on a :
 (1) (1)

a11 a12 . . . . . .



(2)


0 a22 . . . . . .



(3)

0
0 a33 . . .




..
..
..


.
.
.
0


 .
.
..
..
...
0
=


..
..
..


.
.
...
.



..
..
..



.
.
.
.
.
.



.
.
..

..
..


...
.



0
0
0
0








 = b(r+1)







(1)
...
...
...
...
...
...
...
...
...
...
...
...
a1n
(2)
a2n
(3)
a3n
..
.
(r)
arr
(r)
arr+1
(r+1)
ar+1r+1
...
arn
...
ar+1n
...
ar+2n
..
.
0
..
.
..
.
0
..
.
..
.
(r+1)
anr+1
...
...
(r)
(r+1)
(r+1)
(r)+1
ann










 = A(r+1)









Ax = b ⇐⇒ L(r) A(r) x = L(r) b(r) ⇐⇒ A(r+1) x = b(r+1) .
Au bout de (n − 1) étapes,
le système est triangulaire supérieur. De plus, la matrice est inversible (donc le système
(i)
soluble) si et seulement si det(A(n) ) = Πni=1 aii 6= 0 ie si aucun des pivots n’est nul ! La
méthode de Gauss est donc possible si aucun des pivots rencontrés n’est nul.
On a alors que
Ax = b ⇐⇒ A(n) x = b(n) ⇐⇒ L(n−1) A(n−1) x = L(n−1) b(n)
⇐⇒ L(n−1) L(n−2) . . . L(1) Ax = L(n−1) L(n−2) . . . L(1) b.
e (pour
Notons U (pour upper) la matrice A(n) puisqu’elle est triangulaire supérieure et L
(n−1)
(n−2)
(1)
lower) la matrice L
L
. . . L puisqu’elle est triangulaire inférieure comme produit
de matrices elles-mêmes triangulaires inférieures, on a alors :
e
U x = Lb
Comme, quel que soit r, detL(r) = 1, les matrices L(r) sont toutes inversibles donc leur produit
e −1 = L(1)−1 L(2)−1 . . . L(n−1)−1 qui est aussi triangulaire inférieure.
aussi. Notons L = L
Ax = b ⇐⇒ LU x = b.
42
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
On a donc factorisé la matrice A en un produit d’une matrice triangulaire inférieure et d’une
matrice triangulaire supérieure. D’où l’autre nom de la méthode de Gauss : la factorisation
LU . Pour résoudre le système, il suffit maintenant de faire une descente pour résoudre Ly = b
puis une remontée pour résoudre U x = y.
Proposition 2. L’inverse d’une matrice L(r)

1 0 ...
...

 0 1
...
 .
..
 .
.
 . 0
 . .
 . .
1
 . .
 . .
(r)
ar+1r
 . .
 . .
(r)
arr

 . .
..
 .. ..
.

 .. ..
 . .

(r)
anr
0 0
(r)
arr
est donnée par :

...
0
.. 
...
. 
.. 

...
. 
.. 

...
. 
.. 

. 
...

.. 
. 
...


..
. 0 
...

... 0 1
Proposition 3. Le produit d’une matrice L(r) par une matrice L(r+1)


1 0 ...
...
...
0


..

 0 1
.
.
.
.
.
.
.



 ..
..
..

 . 0
.
.
.
.
.


..

 .. ..

 . .
1
...
.


(r)
.. 
 .. ..
ar+1r
 . .
1
...
. 
(r)


arr

 . .
(r+1)
.
.
a
 .. ..
r+2r+1
.. 
..
...


(r+1)
ar+1r+1



 . .
..

 .. ..
.
0
.
.
.
.
.
.


(r+1)


(r)
anr+1
anr
.
.
.
0
1
0 0
(r)
(r+1)
arr
ar+1r+1
Corollaire 1. La matrice L est donnée par :

1
0 ...
...
...
 a(1)
21
 (1)
1
0
...
...
 a11
 (1)
..
 a31 a(2)
. ...
...
 a(1) a32
(2)
 11
22
 ..
..
 .
.
1
0

(r)
 ..
.
a
r+1r
.
 .
.
1
(r)

arr
 .
(r+1)
..
..
ar+2r+1
 .
.
.
 .
(r+1)

ar+1r+1
 .
..
 ..
.
...

 (1)
(r+1)
(2)
(r)
a
an1
an2
a11
a22
(1)
(2)
anr
(r)
arr
−1
−1
nr+1
(r+1)
ar+1r+1
...
...
...
...
0
..
.
...
...
..
.
(n−1)
ann−1
(n−1)
an−1n−1

0
.. 
. 

.. 
. 


.. 
. 

.. 
. 

.. 

. 


0 


1
est donné par :
43
5.4. STRATÉGIE DE PIVOT
5.4
Stratégie de pivot
La méthode suppose qu’à chaque étape, le pivot est non nul. Que se passe-t-il lorsqu’on
rencontre un pivot nul ?
(r)
Supposons que arr = 0, comme A est inversible, on peut toujours trouver dans la sous(r)
colonne r un terme air (i > r) non nul. Dans ce cas on permute les lignes i et r de la matrice
(attention de ne pas oublier de faire la même manipulation sur le second membre pour garder
l’équivalence des systèmes).
Erreurs d’arrondi
Soit à résoudre le système :
ε 1
1 1
x1
x2
=
1
2
1
1 − 2ε
et x2 =
, ce qui donne pour ε = 0, x1 = x2 = 1.
1−ε
1−ε
Or en résolvant ce système par la méthode de Gauss avec ε = 10−9 où 10−9 est la précision
de la machine, on obtient :
−9
10
1
1
x1
=
,
0
1 − 109
x2
2 − 109
La solution est donnée par x1 =
or, 1 − 109 ≈ −109 et 2 − 109 ≈ −109 sur la machine d’où la solution x2 = 1 et x1 = 0 qui
n’est pas la solution !
Si par contre, on permute les lignes 1 et 2, on obtient :
1
1
2
x1
=
,
0 1 − 10−9
x2
1 − 2 ∗ 10−9
or, 1 − 10−9 ≈ 1 et 1 − 2 ∗ 10−9 ≈ 1 sur la machine d’où la solution x2 = 1 et x1 = 1 qui est
la solution du système !
Conclusion il ne faut pas utiliser des pivots trop petits car les erreurs d’arrondi peuvent
donner des solutions fausses. On cherche alors dans la sous-colonne r, le plus grand pivot
ajr = maxr≤i≤n |air | et on permute les lignes j et r. C’est ce qu’on appelle une stratégie de
pivot partiel. La méthode de Gauss n’est jamais programmée sans au moins une stratégie
de pivot partiel.
Remarque 1.
• Les pivots petits ne disparaissent pas, ils sont juste rejetés à la fin de
l’algorithme où leur influence est moins grande.
• Si on cherche le plus grand pivot dans la sous-matrice r ≤ i ≤ n et r ≤ j ≤ n et qu’on
permute alors à la fois les lignes et les colonnes, c’est une stratégie de pivot total.
5.5
Coût de la méthode
Coût de l’étape r :
(r+1)
(r)
(r)
pour i = r + 1 à n et j = r + 1 à n, aij
= aij − mir arj , r + 1 ≤ j ≤ n.
44
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
(r+1)
soit (n − r)/ et (n − r)2 fois (1⊗, 1⊕) pour le calcul de aij
(r+1)
bi
(r)
bi
et
(r)
mir br .
pour i = r + 1 à n,
=
−
(r+1)
soit (n − r) fois (1⊗, 1⊕) pour le calcul de bi
, soit au total
n−1
X
r=1
2
n−1
X
r=1
[(n−r)2 +(n−r)] = 2
(n − r) =
n−1
X
r=1
r=
n(n − 1)
divisions,
2
n(n − 1)(2n − 1)
n(n − 1)
n(n2 − 1)
+2
=2
additions et multiplications,
6
2
3
2n3
opérations. Il faut rajouter le coût d’une descente et d’une
3
remontée ie 2n2 qui devient vite négligeable dès que n est grand.
soit au total de l’ordre de
5.6
Existence de la factorisation LU
Théorème 8. Soit A une matrice carrée d’ordre n ayant toutes ses sous-matrices prinfk = (aij )1≤i,j≤k régulières ( ie inversibles). Alors la matrice A admet une unique
cipales A
factorisation LU où L est triangulaire inférieure avec des 1 sur la diagonale et U triangulaire
supérieure.
preuve
Unicité Soit A = L1 U1 = L2 U2 d’où
=
L−1 L2
= D.
U1 U −1
| 1{z }
| {z2 }
triangulaire supérieure triangulaire inférieure
Comme D a des 1 sur la diagonale, D = I, donc U1 = U2 et L1 = L2 .
(r)
Existence il suffit de montrer que arr 6= 0 pour 1 ≤ r ≤ n − 1. On le démontre par récurrence.
f1 qui est régulière par
Le premier pivot est forcément non nul car c’est la sous-matrice A
hypothèse.
−1
−1
−1
(r)
Si arr 6= 0 pour 1 ≤ r ≤ k − 1, on a alors A = L(1) L(2) . . . L(k−1) A(k) soit par blocs :
g
(k) , or d’une part par hypothèse detA
fk = L
fk A
fk est différent de 0 et d’autre part detA
fk =
A
k
(r)
(k)
(k)
(1) (2)
(k−1)
a11 a22 . . . ak−1k−1 akk . Par hypothèse de récurrence arr 6= 0 pour 1 ≤ r ≤ k − 1, donc akk
est aussi différent de 0·
Remarque 2. C’est la valeur sur la diagonale de L qui donne l’unicité. Cette valeur doit
donc toujours être fixée.
5.7
Cas particulier des matrices symétriques définies positives
Rappel Soit A une matrice symétrique (A = TA) réelle définie positive (∀x ∈ RN \ {0} , (Ax/x) >
0) alors A est inversible et toutes ses valeurs propres sont réelles et strictement positives.
preuve
Soit x ∈ Ker(A), Ax = 0 donc (Ax/x) = 0 ⇐⇒ x = 0 soit A inversible.
Soit x ∈ Cn vecteur propre de A associé à la valeur propre λ ∈ C, alors
Ax = λx et Ax = Ax = λx.
5.7. CAS PARTICULIER DES MATRICES SYMÉTRIQUES DÉFINIES POSITIVES
45
On fait le produit scalaire de la première égalité par x et de la deuxième par x, on obtient :
(Ax/x) = (λx/x) = λkxk2 et (Ax/x) = (λx/x) = λkxk2 .
Comme (Ax/x) = (Ax/x) car A est symétrique, on a : λkxk2 = λkxk2 , soit λ est réel.
Enfin,
0 < (Ax/x) = (λx/x) = λkxk2 .
Théorème 9. Toute matrice symétrique définie positive admet une unique factorisation LU .
preuve
fk , sous-matrice principale d’ordre k de A. Alors A
fk est définie positive car
Soit A
fk T(x1 x2 . . . xk ) = (x1 x2 . . . xk 0 . . . 0)AT(x1 x2 . . . xk 0 . . . 0) ≥ 0.
(x1 x2 . . . xk )A
fk est inversible et d’après le théorème (8), A possède une factorisation LU unique. Donc A
Factorisation de Cholesky2
T T
Comme A est symétrique, on a LU = T(LU
 ) = U L soit
1/u11
0
 0
1/u
22

T −1
T
−1
=
=
..
.
|U{z L}
{z }
|LU
..

.
triangulaire inférieure
triangulaire supérieure
0
..
.
1/unn



.

0
...
 √

u11
√
 0

u22


Posons D =  .
 (ce qui est possible car A est définie positive et que
..
..
 ..

.
.
√
unn
0
...
les uii > 0).
Alors TLU −1 = D −2 , d’où DTL = DD−2 U = D −1 U , et donc A = LD.D−1 U = LD.DTL =
e TL
e avec L
e = LD.
L
Corollaire 2. Toute matrice symétrique définie positive admet une unique factorisation LTL,
appelée factorisation de Cholesky.
Factorisation de Crout3
e TL
e = LD.DD−1T(LD) = LD.DD−1TDTL = LD.DD−1 DTL = LD2TL.
Comme A = L
Corollaire 3. Toute matrice symétrique définie positive admet une unique factorisation
LDTL, appelée factorisation de Crout.
Remarque 3. Pour des raisons numériques, on préfère utiliser la factorisation de Crout à
celle de Cholesky car il n’y a pas d’extraction de racines carrées.
2
3
André Louis Cholesky,français, 1875-1918
Prescott Durand ( ?) Crout, américain ( ?)
46
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
5.8
Exercices
Exercice 42.
−1
−1
−1
Trouver L−1
1 , L2 et L = L1 × L2

1
0
L1 =  −l21 1
−l31 0
Appliquer la méthode de Gauss

4
A= 3
2
Exercice 43.
pour



0
1
0
0
0  et L2 =  0
1
0 ,
1
0 −l32 1
sans permutation au système Ax = b,



8 12
4
8 13 
b= 5 
9 18
11
Utiliser la méthode de Gauss pour résoudre le système suivant :

z
= 4
 2x + 3y +
−x + my +
2z
= 5

7x + 3y + (m − 5)z = 7
Discuter suivant les valeurs de m.
Exercice 44.
Soient A une matrice n × n et u et v deux vecteurs colonnes de longueur n. Vérifier que :
(A − uv t )−1 = A−1 + αA−1 uv t A−1 avec α =
1
.
1 − v t A−1 u
Quelle est la condition d’existence de cette inverse ?
On considère la matrice


1 1 1
A= 1 2 2 
1 2 3
1. Quelle est la décomposition LU de A ?
2. Résoudre, en utilisant la question précédente, les systèmes AXi = ei où les ei sont les
vecteurs de la base canonique usuelle de R3 . En déduire A−1 .
Exercice 45. Matrices
1. Soit A la matrice


3 2 1
A= 6 6 3 
9 10 6
Trouver une matrice triangulaire inférieure L avec des 1 sur la diagonale et une matrice
triangulaire supérieure U telles que A = LU . Soit b = (b1 , b2 , b3 )t un vecteur colonne. Trouver
47
5.8. EXERCICES
un vecteur colonne x = (x1 , x2 , x3 )t tel que Ax = b, en utilisant les matrices L et U . En
déduire l’inverse de la matrice A.
2. Soit n ≥ 2 un entier. Soient a1 , . . . , an , b1 , . . . , bn et α, β des nombres réels. On considère
une matrice M = (mi,j ) de taille n avec mi,i = ai pour i = 1, . . . , n, mn,1 = α, m1,n = β
et mi,j = 0 sinon. Donner une condition les nombres ai , α et β pour que M soit inversible.
Résoudre le système M x = b, avec b = (b1 , . . . , bn )t , en utilisant la méthode de Gauss, et
calculer le nombre d’opérations effectuées en fonction de n.
3. Soit a un nombre réel et C la matrice


a 2 1
C= 0 1 1 
1 0 0
La matrice C est-elle inversible ? Montrer que si a est différent de 0, on peut appliquer la
méthode de Gauss sans stratégie de pivot. Dans le cas où a = 0, trouver x = (x1 , x2 , x3 )t tel
que Cx = (1, 2, 3)t , en utilisant une stratégie de pivot.
Exercice 46.
Résolution numérique d’équations différentielles
On considère le problème suivant : trouver u : (0, 1) → R tel que :
−u”(x) = f (x), 0 < x < 1,
u(0) = u(1) = 0,
(5.1)
où f est une fonction continue donnée dans [0, 1].
1. Soit v la fonction définie par
Z 1
Z x
(1 − y)f (y)dy.
yf (y)dy + x
v(x) = (1 − x)
0
x
On admettra que v est 2 fois continûment dérivable. Calculer v ′ (x) puis v”(x). En déduire
que v est solution du problème (5.1).
2. Soient u1 et u2 deux solutions du problème (5.1). On définit u = u1 − u2 . On suppose que
u1 et u2 sont 2 fois continûment dérivables.
2.a Montrer que u”(x) = 0.
2.b En déduire que u est un polynôme de degré inférieur ou égal à 1.
2.c Montrer que u(0) = u(1) = 0.
2.d En déduire que u(x) = 0 pour 0 ≤ x ≤ 1.
3. On se propose de chercher une solution approchée du problème (5.1). Pour cela, on se
donne une subdivision de l’intervalle [0, 1] en N sous-intervalles (xi−1 , xi ) de même longueur
h :
xi = ih, i = 0, . . . , N, h = 1/N.
N
On cherche alors une suite de valeurs (ui )N
i=0 approchant les valeurs u(xi )i=0 . On considère
alors le schéma suivant
−ui+1 +2ui −ui−1
= f (xi ), i = 1, . . . , N − 1,
h2
(5.2)
u0 = uN = 0.
3.a Montrer que l’on peut écrire le problème (5.2) sous la forme Au = b, où u = (u1 , . . . , uN −1 )T ,
b = (f (x1 ), . . . , f (xN −1 ))T et A est une matrice carrée de taille N − 1 que l’on précisera.
48
CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES
3.b Montrer que A est définie positive.
3.c Peut-on appliquer la méthode de Gauss ? (on justifiera). Si oui, écrire la méthode de Gauss
et compter le nombre d’opérations.
3.d Soit u ∈ C 4 ([0, 1]). On note
εih =
Montrer que |εhi | ≤
h2
12
−u(xi+1 ) + 2u(xi ) − u(xi−1 )
− f (xi ).
h2
sup0<x<1 |u(4) (x)|. On utilisera deux développements de Taylor.