Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Auteur
Prof. Safae E L H AJ B ENALI
safae.elhajbenali@usmba.ac.ma
1 Introductions et définitions 2
1.1 Qu’est ce que l’analyse numérique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Analyse numérique et ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Généralités sur les matrices : Norme et conditionnement . . . . . . . . . . . . . . 5
5 Intégration numérique 60
5.1 L’intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Formule des rectangles ( avec point milieu ) . . . . . . . . . . . . . . . . . . . . . . 62
5.3 La méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Méthode de Simpson : Accélération de la convergence (1710-1761) . . . . . . . . . 67
1
[ Premier Chapitre \
Introductions et définitions
I = ( x1 − x0 ) f ( x0 ) + ( x2 − x1 ) f ( x1 ) + · · · + ( x10 − x9 ) f ( x9 ).
2
1.2. ANALYSE NUMÉRIQUE ET ORDINATEUR 3
Définition 1.2 Un organigramme est une représentation schématique de toute les possibilités
pour résoudre un problème considéré c-à-d une succession de calcul et de décision traduisant
le processus de résolution.
a 11 x1 + a 12 x2 + a 13 x3 = b 1
a 11 a 12 a 13 x1 b1
a 21 x1 + a 22 x2 + a 23 x3 = b 2 ⇐⇒ a 21 a 22 a 23 x2 = b 2
a 31 x1 + a 32 x2 + a 33 x3 = b 3 a 31 a 32 a 33 x3 b3
⇐⇒ Ax = b
Remarque 1.1
→ Un organigramme considère toute les possibilités de calcul puis donne aussi une représen-
tation du résultat (possibilité de visualiser les résultats sous forme de tableau, graphe,
figure).
4 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Exemple 1.3
p
— 2 = 1.414213 ± 10−6 .
— π = 3.14159 ± 10−5 .
Les opérations algébrique sur ordinateur sont des approximations des opérations algébriques
des mathématiques.
(y+ x)− x y+(x− x)
Exemple 1.4 Associativité : u= y ; v= y
— Calcul algébrique : ∀ y 6= 0 on a u = v = 1.
— Informatique : si x = 1 et y = 10−17 on aura u = 0 et v = 1 c-à-d dans la parenthèse y + x
l’ordinateur a négligé la valeur de y d’où l’ordinateur ne prend pas en considération
l’infiniment petit.
• Capacité de mémoire :
La mémoire de l’ordinateur est limité, en effet, il effectue ses calculs en général par l’énumé-
ration binaire en base de 2 avec un nombre de digit qui est fini. par exemple, les nombres qui
possèdent un nombre infini de chiffres non nuls après la virgule, or ce n’est pas le cas pour
1
p
3 = 0. 3333 ... ou 2 = 1.4142....
→ Erreurs de modèle
Ces erreurs sont dues au fait que les modèles mathématiques sont plus ou moins idéali-
sés, ce qui donne lieu à plusieurs erreurs. Un exemple une planète n’est jamais parfaitement
sphérique.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 5
→ Erreurs d’entrée
L’information d’entrée est rarement exacte, par exemple les mesures physiques ne sont
jamais exactes : π, la gravité g, charge élémentaire e, ...
→ Erreurs d’algorithme
En plus des erreurs d’entrée, l’algorithme lui même engendre des erreurs qui sont particu-
lièrement dû aux opérations arithmétiques et à la précision de l’ordinateur.
→ Erreurs de sortie
Mesure de l’erreur
Soit x une valeur exacte d’une quantité et x sa valeur approchée.
On peut envisager plusieurs façons pour mesurer l’erreur ² entre une valeur approchée x
et une valeur exacte x.
→ L’erreur absolue
→ L’erreur relative
Remarque 1.2 Puisque la valeur de x est inconnu donc on peut jamais calculer de façon
exacte ∆ x. En pratique, on cherche à majorer l’erreur absolue ∆ x en ∆ cx et estimer l’erreur
∆cx
relative en bx , en général, la majoration de l’erreur absolue est donnée par le constructeur
(tensiomètre, Thermomètre, balance, ... ).
Proposition 1.1
— Si A est une matrice carrée alors ∃U unitaire telle que U −1 AU est triangulaire.
— Si A est normale alors ∃U unitaire telle que U −1 AU est diagonale.
— Si A est symétrique alors ∃Q orthogonale telle que Q −1 AQ est diagonale.
Définition 1.3 Étant donné E un espace vectoriel sur R ou C, on appelle norme sur E notée
k · k, toute application de E à valeur dans R+ et qui vérifie :
1. k xk = 0 ⇐⇒ x = 0.
2. kλ xk = |λ|k xk, ∀ x ∈ E, ∀λ ∈ C.
3. k x + yk ≤ k xk + k yk, ∀ x, y ∈ E .
à !1
n p
Exemple 1.5 x ∈ Cn , | xk | p
X
k xk p = , p ≥ 1 (norme de Hölder).
k=1
— p = 2 Norme euclidienne, elle correspond à la norme habituellement utilisée pour la dis-
tance entre deux points dans le plan ou l’espace.
— p = 1 est donnée par la somme des modules (ou valeurs absolues) des coefficients de x.
— k · k∞ = max | xk | Norme infini.
k ABk ≤ k A kkBk,
∀ x ∈ E, k Axk ≤ k A kk xk.
.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 7
Une norme est non subordonnées si et seulement si cette norme ne provient pas d’une
norme vectorielle.
à !1
2
2
X
Exemple 1.6 k A ks = |a i j | , 1 ≤ i ≤ n et 1 ≤ j ≤ m (norme de Schur).
i, j
à !1
2
p
| a i j |2
X
n = m c’est la norme de Frobeinus (k · kF ) et on note k A kF = = trace( A ∗ A ).
i, j
Exercice 1.1 Montrer que k · ks est une norme matricielle non induite.
Démonstration Exercice.
Exemple 1.7
1 −1 0
1. Pour A = −1 1 −3 ,
1 −1 −1
on a k A k∞ = max{2, 5, 3} = 5 et k A t k∞ = max{3, 3, 4} = 4.
and k A k1 = max{3, 3, 4} = 4 et k A t k1 = max{2, 5, 3} = 5.
1 1
1 2 ··· n
1 1 1 n 1
· · · n+
2 3 1 X
2. La matrice de Hilbert .. .. .. , k A k∞ = .
. . ··· . k=1 k
1 1 1
n n+1 ··· 2n−1
0 −1 1
3. Soit la matrice symétrique A = −1 1 −1 ,On vérifie que les valeurs propres de A
1 −1 0
sont
p p
λ1 = −1, λ2 = 2 + 1, λ3 = 1 − 2.
p
Donc, k A k2 = 2 + 1.
à !
1 1
4. Soit la matrice non symétrique , On voit que les valeurs propres sont
0 1
λ1 = λ2 = 1 =⇒ ρ ( A ) = 1.
8 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
à !à ! à !
∗ 1 0 1 1 1 1
Alors que, A A = = ,
1 1 0 1 1 2
3 1p 3 1p
=⇒ λ1 ( A ∗ A ) =
+ 5, λ2 ( A ∗ A ) = − 5,
2 2 2 2
r
3 1p
=⇒ k A k2 = + 5.
2 2
On constate que %( A ) 6= k A k2 , mais %( A ) ≤ k A k2 .
Proposition 1.3
³ ´
. . . A} = a kij pour A ∈ Mn (C) et k ∈ N∗ , on écrit
Définition 1.4 On note A k = |A A{z
k f ois
Théorème 1.1 Pour A une matrice carrée d’ordre n et k ∈ N∗ , les propriétés suivantes sont
équivalentes :
1. lim A k = 0.
k→+∞
2. lim A k x = 0, ∀ x ∈ Cn .
k→+∞
3. ρ ( A ) < 1.
4. k A k p < 1 pour au moins un p ∈ {1, 2, ..., ∞}.
∃ x ∈ Cn , x 6= 0 tel que Ax = λ x =⇒ A k x = λk x
A k x −→ 0 =⇒ λk x −→ 0
k→+∞ k→+∞
absurde car λk ≥ 1.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 9
1−ρ (A)
(3) =⇒ (4) Soit ² = 2 On sait qu’il existe au moins une norme matricielle telle que
k A k p ≤ ρ ( A ) + ² < 1.
k
( I n − A )−1 = lim Ai.
X
k→+∞ i =0
On considère le système perturbé, où les seconds membres ont été "légèrement" modifiés, la
matrice restant inchangée :
x1 + δ x1
10 7 8 7 32.1 9.2
7 5 6 5 x2 + δ x2 22.9 −12.6
= , de solution
x3 + δ x3
8 6 10 9 33.1 4.5
7 5 9 10 x4 + δ x4 30.9 −1.1
1
Autrement dit, une erreur relative de l’ordre de 300 sur les données (ici les composantes du
second membre) entraîne une erreur relative de 8.1736 sur le résultat, soit une multiplication
de l’erreur relative par 2452.
Considérons également le système où, cette fois, ce sont les éléments de la matrice qui ont
été "légèrement" modifiées :
x1 + δ x1
10 7 8.1 7.2 32 −81
7.08 5.04 6 5 x2 + δ x2 23 137
= , de solution
x3 + δ x3
8 5.98 9.89 9 33 −34
6.99 4.99 9 9.98 x4 + δ x4 31 22
10 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Donc une petite perturbation sur les coefficients de la matrice ou sur le second membre en-
traîne une grosse perturbation sur la solution. C’est un problème de stabilité. A cause des
erreurs de mesure ou d’arrondi qui sont inévitables on veut éviter le genre de situation pré-
sentée ci-dessus. Un critère pour évaluer le degré d’instabilité du système est le nombre de
conditionnement de la matrice : si ce nombre est petit la matrice est dite bien conditionnée et
le système sera stable (c’est-à-dire peu sensible aux perturbations).
Définition 1.5 Soit k · k une norme matricielle et A une matrice inversible. Le nombre de
conditionnement de A relativement à la norme matricielle choisie est
K( A ) = cond ( A ) = k A kk A −1 k.
Lorsque k · k est la norme matricielle induite par la norme l p , avec 1 ≤ p ≤ ±∞, on note
cond p ( A ) ou K p ( A ).
kδ x k kδ b k
≤ K( A ) .
k xk k bk
kδ xk kδ A k
≤ K( A ) .
k x + δ xk k Ak
µmax
3. K2 ( A ) = µmin
où µmax et µmin sont les plus grande et petite valeurs singulières.
4. K2 ( A ) = 1 ⇐⇒ A = αQ où α ∈ K et Q est unitaire.
Remarque 1.3
Démonstration
1. Trivial.
2. On a A A −1 = I =⇒ k I k ≤ k A kk A −1 k, pour la norme induite k I k = sup k I xk on a k I k =
k xk=1
1 =⇒ K( A ) ≥ 1.
?
3. K22 ( A ) = k A k22 k A −1 k22 = ρ ( A ∗ A )ρ (( A −1 )∗ A −1 )?
4. Soit A une matrice inversible. On peut trouver U et V unitaires et D = diag(µ i ) telles ques
A = U DV ∗ .
La dernière propriété montre que si le conditionnement dans une norme est mauvais, on n’a
que très peu de chance de l’améliorer en changeant de norme. Il faut recourir à d’autres mé-
thodes pour améliorer le conditionnement d’une matrice. par exemple pré-multiplier A par une
bonne matrice P dite de pré-conditionnement afin que cond (P A ) soit sensiblement plus petit
que cond ( A ). La recherche de telles matrices de pré-conditionnement ne peut se faire qu’au
cas par cas et est de toute manière très difficile. Deux choix classiques sont de prendre pour
P la matrice diagonale formée des termes diagonaux de A . ou. si A = I d − B avec kBk < 1. de
prendre pour P la matrice I d + B.
12 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Exercice 1.2 Ã ! Ã !
10 7 17
On considère le système A = , b= .
7 −2 7 Ã !
0. 5
1. Étudier la réponse du système à une perturbation du second membre δ b = .
0. 5
à !
0 0. 5
2. Étudier la réponse du système à une perturbation du second membre δ A = .
−0.5 0
3. Calculer Cond 2 ( A ) et conclure.
[ Deuxième Chapitre \
Méthodes de résolution des systèmes linéaires
Ax = b
Dans tout ce qui suit les matrices considérées sont des matrices réelles carrées d’ordre n.
Dans ce cas, on est assuré de l’existence et de l’unicité de la solution si une des conditions
équivalentes suivantes est remplie :
1. A est inversible (i.e. det( A ) 6= 0).
2. le système Ax = 0 admet seulement la solution nulle.
La solution du système peut alors être calculée par la formule de CRAMER. Cependant cette
formule est d’une utilité pratique limitée à cause du calcul des déterminants qui est très coû-
det(A )
teux numériquement xk = det(A)k . Évaluons le nombre d’opérations nécessaire au calcul dans
le cas d’une matrice pleine. Le calcul de det( A ) nécessite donc n! additions et n ∗ n! multipli-
cations. En négligeant les additions (dont le coût n’est cependant pas tout à fait négligeable),
on a donc n( n + 1)! opérations à effectuer. Si on dispose d’un ordinateur qui effectue 2 × 1011
opérations par seconde (l’Intel Core i7-3770 par exemple). Pour résoudre un système 50 × 50. il
faudrait donc
50 × 51! 50 ∗ 51!
11
secondes, soit 11
' 1.225 × 1049 années.
2 × 10 2 × 10 × 3600 × 24 × 365
Pour cette raison, des méthodes numériques alternatives aux formules de CRAMER ont été
développées. Elles sont dites directes si elles fournissent la solution du système en un nombre
fini d’étapes, itératives si elles nécessitent (théoriquement) un nombre infini d’étapes. Notons
dès à présent que le choix entre une méthode directe et une méthode itérative pour la résolution
d’un système dépend non seulement de l’efficacité théorique des algorithmes, mais aussi du
type de matrice, des capacités de stockage en mémoire et enfin de l’architecture de l’ordinateur.
13
14 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
Notons que la résolution d’un système triangulaire inférieur se fera de la même façon. Soit,
donc le système linéaire suivant :
a 11 x1 + a 12 x2 + a 13 x3 + · · · + a 1n xn = b1
a 22 x2 + a 23 x3 + · · · + a 2n xn = b2
.. .. .. ..
..
.
. . . .
a kk xk + · · · + a kn xn = bk
.. .. ..
.
··· . .
a nn xn = bn
n
Y
est non nul et égal à a ii , donc ∀ i, a ii 6= 0. L’algorithme de résolution de ce système est le
i =1
suivant
Algorithme
bn
• xn = a nn .
n
X
a ki x i
bk i = k+1
• Pour k = n − 1, . . . , 1, xk = a kk − a kk .
a((kk)+1)1
Lk+1 −→ Lk+1 − Lk ∗ k)
a(kk
..
.
a(nk1)
Ln −→ Ln − Lk ∗ k)
a(kk
Au bout de toutes ces manipulations on obtient une matrice triangulaire supérieure U . Comme
on agit sur les lignes en faisant des combinaisons linéaires cela revient à multiplier à gauche
par une matrice M .
Donc x4 = 0, x3 = 0, x2 = 0, x1 = 1,
où A 0 est le bloc restant de taille ( n − k + 1) × ( n − k + 1). Cela montre que det( A 0 ) 6= 0, donc
nécessairement l’un des termes a(k)ik
avec i > k est non nul. Notons i 0 l’un des entiers supérieurs
à k tel que a(k)
i0 k
6= 0, il faut permuter les lignes k et i 0 . Cela se fait en multipliant à gauche par
une matrice de permutation bien choisie. On en rappelle ici la définition.
Exemple 2.3
à ! 0 0 1
1 2 3
pour n = 3, i = 1 et j = 3 on a σ = et Pσ = 0 1 0 .
3 2 1
1 0 0
Choix du pivot
Si un pivot est très petit, sans pour autant être nul, le procédé d’élimination ne s’arrête pas,
mais le résultat peut être entaché d’erreurs considérables, comme on va le voir dans l’exemple
ci-dessous. Soit ² un petit nombre réel et considérons le système de deux équations à deux
inconnues
(
²x + y = 1
x+ y =2
Par élimination sans recherche de pivot, nous obtenons le système équivalent suivant
(
²x + y =1
1
1 − ² y = 2 − 1²
¡ ¢
1 − 2²
y= ' 1.
1−²
Par substitution, on obtient x :
1− y
x=' 0.
²
Essayons maintenant l’élimination après avoir échangé les lignes dans le système :
(
x+ y =2
²x + y = 1
qui devient, (
x+ y =2
y =1
La solution, tout à fait acceptable cette fois-ci, est x = 1 et y = 1.
L’erreur qu’on faisait avec la première élimination venait de ce qu’on divisait un nombre
par le petit pivot ², ce qui amplifie considérablement les erreurs.
Définition 2.3 (Les mineurs principaux dominants) Une sous-matrice k × k formé à par-
tir de A en éliminant les n − k dernières colonnes et les mêmes n − k dernières lignes, est appe-
lée une sous-matrice de A , d’ordre principal dominant k. Le déterminant d’une sous-matrice
principale dominante k × k est appelé le mineur principal dominant d’ordre k de la matrice
A.
a b c
Les mineurs principauts dominants de la matrice A = d e f :
g h i
— ∆1 = a. ÃÃ !!
a b
— ∆2 = det .
d e
— ∆3 = det( A ).
a 11 a 12 a 13 a 14 1 0 0 0 u 11 u 12 u 13 u 14
a 21 a 22 a 23 a 24 l
21 1 0 0 0 u 22 u 23 u 24
A= =
a 31 a 32 a 33 a 34 l 31 l 32
0 u 33 u 34
1 0 0
a 41 a 42 a 43 a 44 l 41 l 42 l 43 1 0 0 0 u 44
| {z }| {z }
L U
Remarque 2.3 Une fois que la décomposition est faite, la résolution de Ax = b se fait en
résolvant d’abord L y = b, puis U x = y par descente remontée. Cela permet de traiter facilement
les problèmes où plusieurs seconds membres successifs avec la même matrice A apparaissent.
Il faut alors calculer et stocker L et U . Remarquons que le stockage de U nécessite n(n2+1)
entrées, tandis que celui de L en demande n(n2−1) car il est inutile de stocker les éléments
diagonaux.
Propriétés 2.1
n
Y
— det( A ) = det(L) det(U ) = u kk .
k=1
— Le calcul explicite de l’inverse d’une matrice peut être effectué en utilisant la factori-
sation LU comme suit. En notant X l’inverse d’une matrice régulière A , les vecteurs
colonnes de X sont les solutions des systèmes linéaires
Ax i = e i , pour i = 1, ..., n.
L yi = P e i , U x i = yi , pour i = 1, ..., n,
c’est-à-dire une suite de systèmes linéaires ayant la même matrice mais des seconds
membres différents.
Définition 2.4 Une matrice A , n × n est définie positive et on note A Â 0 si chacun des mineurs
principaux dominants de A est > 0.
a 11 a 12 a 13
Exemple 2.5 Soit A = a 12 a 22 a 23 , alors
a 13 a 23 a 33
¯ ¯
¯ a
¯ 11 a 12 a 13
¯ ¯ ¯
¯ a
¯ 11 a 12
¯ ¯
AÂ0 ⇐⇒ a 11 > 0, ¯ ¯ > 0 et ¯ a 12 a 22 a 23 ¯ > 0.
¯ ¯ ¯
¯ a 12 a 22 ¯ ¯ ¯
¯ a 13 a 23 a 33 ¯
Théorème 2.2 Soit A une matrice réelle symétrique définie positive. Il existe une unique ma-
trice réelle B triangulaire inférieure, telle que tous ses éléments diagonaux soient positifs et
qui vérifie : A = BB t .
Exemple 2.6
Pour comprendre
à le principe
! voici un exemple dans le cas n = 2.
a b
On prend A = , alors puisque A Â 0 on a a > 0. On effectue la décomposition LU de A
b c
et on obtient
à !à !
1 0 a b
A = LU = b 2 .
a 1 0 c − ba
à !à p !
1 0 a 0
On pose L
e= q et on obtient A = L
eLe t.
b b2
a 1 0 c− a
22 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
Algorithme :
for j = 1 to n do
for k = 1 to j − 1 do
a j j ← a j j − a2jk
end for
p
ajj ← ajj
for i = j + 1 to n do
for k = 1 to j − 1 do
a i j ← a i j − a ik a jk
end for
a
ai j ← ai j
jj
end for
end for
1 1 1 1
1 5 5 5
Exemple 2.7 Soit A = , Effectuer la factorisation de Cholesky de la matrice
1 5 14 14
1 5 14 15
A.
n3
Remarque 2.4 Pour résoudre un système linéaire par cette méthode, il faut environ 6 addi-
2
n
tions et multiplications, 2 divisions et n extractions de racines carrées.
22133
2×1011
secondes, soit 1.11 × 10−8 secondes.
Propriétés 2.2 (Matrices non symétriques) Soit A ∈ M n (R) inversible. On suppose que A
est non symétrique. On cherche a résoudre le système Ax = b par la méthode de Cholesky. Ceci
est possible en remarquant que : Ax = b ⇐⇒ A t Ax = A t b Il ne reste alors plus qu’à vérifier
que A t A est symétrique définie positive.
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 23
Ax = b ⇐⇒ x + Ax − x = b
⇐⇒ x = ( I − A ) x + b.
| {z }
B
On est donc ramené à la recherche d’un point fixe de l’application x 7−→ Bx + b, pour cela on
considère la suite définie pour k ∈ N, par
(
x0 donné
(2.1)
xk+1 = Bxk + b.
lim xk = x, ∀ x0 .
k→+∞
Ax = b ⇐⇒ Mx = N x + b ⇐⇒ x = M −1 N x + M −1 b.
la matrice B sera donc B = M −1 N mais en pratique nous verrons qu’on ne calcule pas M −1 . La
méthode itérative associée est (
x0 donné
(2.2)
Mxk+1 = N xk + b.
Il y a une infinité de choix possibles pour M et N vérifiant A = M − N , nous allons en donner
deux à titre d’exemples. L’idée est bien sûr de choisir une matrice M particulièrement facile à
inverser, par exemple diagonale, ou bien triangulaire inférieure. Ces deux choix correspondent
respectivement à la méthode de Jacobi et à la méthode de Gauss-Seidel.
On décompose A en A = D − E − F où D est la matrice diagonale contenant la diagonale de
A , E est la partie triangulaire inférieure stricte (sans la diagonale) de − A et F est la partie
triangulaire supérieure stricte de − A .
−1 −1 2
→ La méthode de JACOBI
M = D (diagonale) et N = E + F.
X −a i j bi
x(k
i
+1)
= x(k)
j
+ . (2.6)
i 6= j a ii a ii
Dans (2.6) on voit que, pour calculer x(k+1) , on se sert uniquement des valeurs x(k) calculées à
l’itération précédente. Par exemple, pour calculer x(k j
+1)
, on utilise x1(k) , ..., x(k)
n . Cependant, si
on suppose que le processus est convergent, lorsque l’on calcule x(k)
j
, on a déjà à sa disposition
des valeurs approchées plus précises de x̄1 , ..., x̄ j−1 , à savoir x1(k) , ..., x(k)
j −1
. L’idée de la méthode
de Gauss-Seidel est donc d’utiliser à l’itération k toutes les nouvelles valeurs qui ont déjà été
calculées à l’itération k.
→ La méthode de Gauss-Seidel
M = D − E (triangulaire inférieure) et N = F.
la mise en oeuvre de l’algorithme de Gauss-Seidel est en réalité plus simple. A chaque ité-
ration, il n’est, en effet, pas nécessaire de sauvegarder les itérées précédents. Chaque nouvelle
valeur calculée est automatiquement réutilisée pour les calculs suivants.
26 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
→ La méthode de relaxation
1 1−ω
µ ¶
M = D − E, N = D + F,
ω ω
Il faut encore résoudre à chaque étape un système triangulaire inférieur où la matrice L ω n’est
pas plus compliquée que L 1 . Si
— ω = 1, on retrouve la méthode de Gauss-Seidel.
— ω > 1, la méthode est dite de sur -relaxation.
— ω < 1, la méthode est dite de sous -relaxation.
Théorème 2.4 Soit A une matrice symétrique définie positive. On suppose que
A = M − N, avec M inversible.
Démonstration
— M t + N est symétrique :
M t + N = A t + N t + N = A + N t + N = M + N t.
définit une norme sur Rn . On considère alors la norme matricielle k · k induite par cette
norme vectorielle
k M −1 N k = k I − M −1 A k = sup kv − M −1 Avk.
kvk=1
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 27
k v − w k2 = ( v − w ) t A ( v − w )
= 1 − w t M t w − w t Mw + w t Aw
= 1 − w t ( M t + M − A )w
= 1 − w t ( M t + N )w
pour tout i = 1, ..., n, alors la méthode de Jacobi converge pour tout point de départ x(0) .
On peut montrer que cette condition suffit également pour assurer la convergence de l’al-
gorithme de Gauss-Seidel.
Nous allons utiliser le résultat qui précède pour donner un critère de convergence pour la
méthode de relaxation.
1 1−ω
µ ¶
t t
M +N = D−E + D + Ft
ω ω
1 1−ω
µ ¶
= D+ D
ω ω
2−ω
µ ¶
= D
ω
0 < ω < 2 =⇒ 2−ωω > 0. =⇒ 2−ωω D est définie positive. Donc d’après le théorème (2.4) on a la
¡ ¢ ¡ ¢
convergence.
Le résultat ci-dessus est une condition suffisante de convergence. En fait c’est aussi une
condition nécessaire comme le montre le résultat suivant :
28 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
det 1−ωω D + F
¡ ¢
n
¢ = (1 − ω)n .
Y
λ i = det(L ω ) = ¡1
i =1 det ω D − E
¯ ¯1
¯Y n ¯n
=⇒ ρ (L ω ) ≥ ¯ λ i ¯ = |1 − ω|.
¯ ¯
¯ i=1 ¯
Nous terminons cette section par un théorème de comparaison des méthodes de Jacobi et de
Gauss-Seidel dans un cas particulier. Nous admettrons ce résultat.
ρ (L 1 ) = ρ ( J )2 .
Soit f une fonction réelle et D f son domaine de définition (D f ⊆ R). Notre problème consiste
à:
trouver x ∈ D f tel que f ( x) = 0.
Montrer l’existence d’une racine, déterminer le nombre des racines éventuelles de l’équa-
tion f ( x) = 0 et le calcul approché de ces racines posent des problèmes qui ne sont pas résolus
par une méthode générale.
Nous introduisons pour la résolution de ce problème plusieurs algorithmes dont on étudiera
les caractéristiques (bissection, méthodes du point fixe, Newton-Raphson, ...).
Définition 3.1 Si s est une racine de f alors f ( s) = 0. Si f est p fois differentiable et telle
que :
0
f ( s) = 0, f ( s) = 0, f (p−1) ( s) = 0 et f p ( s) 6= 0, (3.1)
→ Méthode graphique
Si f est continue sur [a, b] ⊂ R, et si f (a) f ( b) < 0 alors il existe au moins un point s ∈]a, b[
telle que f ( s) = 0. Si de plus f est strictement monotone sur [a, b], alors cette racine est unique.
Dans ce qui suit, nous présentons plusieurs techniques de résolution, chacune ayant ses
avantages et inconvénients. Nous tâcherons de les mettre en évidence de façon à tirer le
meilleur parti de chacune des méthodes proposées.
Il faudra se souvenir des enseignements du chapitre précèdent pour développer des algo-
rithmes numériquement stables.
29
30 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
c 0 est bien le milieu de l’intervalle [a, b], il suffit donc de déterminer entre les intervalle
[a 0 , c 0 ] et [ c 0 , b 0 ], celui qui possède encore un changement de signe. La racine se trouve force-
ment dans cet intervalle et ainsi de suite.
Par récurrence, on construit deux suites (a n ) et ( b n ). La suite ( c n ) est définie par c n = a n +2 b n .
On remarque qu’à chaque opération on diminue de moitié la longueur de l’intervalle contenant
la racine s. Au bout de n opérations la longueur de l’intervalle devient b2−na . Le coefficient de
réduction de l’erreur est au moins 21 . Cela nous amène à l’algorithme suivant :
|b n − a n | b−a
| c n − s| < , bn − an =
2 2n
b−a
<
2n+1
On en conclut donc que la suite ( c n ) ainsi formée converge vers la racine s de f ( x) = 0. c n est
une approximation de s, l’erreur e n au bout de la nème opération est donnée par e n = | c n − s|.
On a la majoration de l’erreur suivante :
b−a
| c n − s| < .
2n+1
Pour avoir une approximation de s par c n avec une précision ², il suffit qu’on ait :
b−a
| c n − s| < < ²,
2n+1
et donc ¡ b−a ¢
ln ²
n> − 1.
ln(2)
Remarque 3.1
• n est le nombre d’itération nécessaire pour avoir une approximation de s à l’erreur ².
• Sur le plan pratique on doit avoir n le plus petit possible, pour cela on doit choisir un
intervalle de longueur aussi petite que possible.
Exemple 3.1 Soit à résoudre par la méthode de dichotomie f ( x) = log( x) + x = 0. f est une
fonction continue sur R en particulier sur [0.5, 1], de plus f (0.5) f (1) < 0 et f est strictement
croissante sur [0.5, 1] donc f admet une racine unique s ∈]0.5, 1[. D’après l’algorithme de dicho-
tomie, on a le tableau suivant :
n an bn cn | c n+1 − c n |
0 0.5 1 0.75 -
1 0.5 0.75 0.625 0.125
2 0.5 0.625 0.5625 0.0625
3 0.5625 0.625 0.59375 0.03125
4 0.5625 0.59375 0.578125 0.015625
5 0.5625 0.578125 0.5703125 0.0078125
6 0.5625 0.5703125 0.56640625 0.00390625
7 0.56640625 0.5703125 0.568359375 0.001953125
8 0.56640625 0.568359375 0.5673828125 0.0009765625
9 0.56640625 0.5673828125 0.56689453125 0.00048828125
10 0.56689453125 0.5673828125 0.567138671875 0.000244140625
11 0.567138671875 0.5673828125 0.5672607421875 0.0001220703125
12 0.567138671875 0.5672607421875 0.56719970703125 0.00006103515625
Remarque 3.2
Remarque 3.3
• La convergence de la méthode de la bissection n’est pas très rapide, mais elle est sûre
du moment où on a un intervalle avec changement de signe.
• Il existe des cas où la méthode de bissection ne fonctionne pas :
1. La première situation critique est celle où la fonction f est tangente à l’axe des
abscisse et ne présente pas de changement de signe, la bissection ne peut alors s’ap-
pliquer.
2. Il y’a aussi le cas où deux racines (en général un nombre pairs de racines) présentes
dans l’intervalle de départ ; dans ce cas il n’y aura pas de changement de signe.
3. Enfin si l’intervalle de départ contient un nombre impaire de racines, f ( x) change
de signe, mais l’algorithme peut avoir des difficultés à choisir parmi ces racines.
On peu facilement éviter ces écueils en illustrant graphiquement la fonction f dans
l’intervalle d’intérêt.
Définition 3.2 On appelle point fixe de la fonction f de R dans R un réel x qui vérifie
f ( x) = x.
Il existe un algorithme très simple permettant de déterminer des points fixes. Soit f une
fonction de R dans R et x0 ∈ R, on construit la suite suivante :
(
x0 donné
xn+1 = f ( xn ).
à partir d’une valeur estimé x0 , l’intérêt de cet algorithme réside dans sa généralité et la
facilité avec laquelle on peut faire l’analyse de convergence. Il en résulte l’algorithme suivant :
3.2. LA MÉTHODE DE POINT FIXE 33
1. Étant donné un critère d’arret ², le nombre maximal d’itération N et x0 une valeur estimé
du point fixe.
2. Calculer x1 = f ( x0 ).
| xn+1 − xn |
3. Tant que | xn+1 | > ² et le nombre d’itération n’est pas atteint
4. Effectuer xn+1 = f ( xn ).
5. Arrêt.
Remarque 3.4 L’algorithme des points fixes peut diverger complètement dans certains cas, Il
faut donc déterminer dans quelles conditions la méthode converge.
tion a) à elle seule est insuffisante car on peut avoir une fonction qui vérifie bien f (D f ) ⊆ D f
et qui ne possède pas de point fixe comme le montre le graphe de la fonction suivante 3.3 où
f est discontinue en α.
Donc comme seconde condition pour qu’un point fixe existe il faut que :
b) f soit une fonction continue.
Une question capitale se pose, si ce point fixe existe et il unique ? La suite ( xn )n∈N converge-t-
elle pour tout x0 ∈ D f ?
34 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
Théorème 3.1 (Existence) Soit f une fonction réelle de variable réelle dont le domaine D f
est un intervalle fermé borné [a, b] et dont l’image f (D f ) vérifie f (D f ) ⊆ [a, b] = D f . On suppose
que f est continue sur [a, b]. Alors f a un point fixe sur [a, b] c’est à dire qu’il existe un point
s ∈ [a, b] tel que s = f ( s).
Remarque 3.5
• Si D f est non borné ça ne marche plus. Prenons par exemple la fonction f ( x) = x + 1
définie sur D f = R qui n’est pas borné et qui vérifie néanmoins f (D f ) ⊆ D f mais pour
tout x ∈ D f , x 6= x + 1.
• Les conditions imposées ci-dessus n’interdisent pas l’existence de plusieurs points fixes.
Si on souhaiterait avoir une seule solution on doit supposer que f ne varie pas trop
rapidement.
Une façon d’imposer que l’intersection du graphe de f et de la droite y = x soit non vide est
0
de supposer | f | < L avec L < 1. On arrive ainsi à la notion d’application contractante mais la
dérivabilité n’est pas nécessaire. Dans ce cas on a plus besoin de supposer que D f est borné et
ceci est contenu dans le théorème suivant :
3.2. LA MÉTHODE DE POINT FIXE 35
Théorème 3.2 (Existence et unicité) soit f une fonction d’une variable réelle dont le do-
maine de définition D f est un intervalle fermé (pas forcément borné). Donc D f = [a, b] ou
[a, +∞[ ou ] − ∞, a] ou R. On suppose :
1. que l’image de D f par f vérifie : f (D f ) ⊆ D f .
2. et qu’il existe une constante L telle que 0 < L < 1 et que
∀ x, y ∈ D f : | f ( x) − f ( y)| ≤ L| x − y|,
alors :
a) f a un point fixe unique s,
b) La suite xn définie par x0 ∈ D f : xn+1 = f ( xn ) converge vers s quel que soit x0 ∈ D f .
n
c) pour n = 1, 2, ... on a e n = | xn − s| ≤ 1L−L | x1 − x0 |.
e n définie l’erreur à l’itération n.
Démonstration
a) → Existence du point fixe :
Si D f = [a, b] ; voir Théorème 3.1.
Supposons que D f = [a, +∞[. Si f (a) = a, a est un point fixe, il n’y a plus rien à montrer,
sinon f (a) > a ( f (D f ) ⊆ D f ).
donc
f ( x ) ≤ c + L | x |.
Soit x̃ > 1−c L (comme L < 1, x̃ > 0)
f ( x̃) ≤ c + L x̃ < x̃(1 − L) + L x̃ = x̃,
on a donc f (a) > a et f ( x̃) < x̃, f admet donc un point fixe entre a et x̃.
Il faut prouver que x̃ > a. En effet,
c
z }| {
| f (a)| + |a|
f (a) > a =⇒ f (a) − La > (1 − L)a =⇒ | f (a)| + L|a| > (1 − L)a =⇒ x̃ > > a.
1−L
Si D f =] − ∞, a] on prend f˜( y) = f (− y), f˜ est continue (comme composée de fonctions conti-
nues). On est donc ramené au cas précédent.
( i)
f ( a) = a
Si D f = R, soit a ∈ R on a les situations suivantes : ( ii ) f (a) > a
( iii ) f (a) < a
i) f (a) = a plus rien à prouver, le point fixe existe.
ii) f (a) > a ; on a toujours | f ( x)| ≤ c + L| x| ou c = | f (a)| + L|a|.
Soit x̃ ≥ 1−c L on a donc f ( x̃) ≤ c + L| x̃| < x̃, f (a) > a et x̃ > a ; il existe donc un point fixe
entre a et x̃.
36 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
−| f ( x)| ≤ f ( x)
−| f (a) + f ( x) − f (a)| ≤ f ( x)
−| f (a)| − | f ( x) − f (a)| ≤ f ( x)
− L | x − a | − | f ( a )| ≤ f ( x)
− L | x | − L | a | − | f ( a )| ≤ f ( x) =⇒ −(L| x| + c) ≤ f ( x)
Soit x̃ < 1−−cL =⇒ x̃ < a et −(L| x̃| + c) ≤ f ( x̃) =⇒ f ( x̃) ≥ −L| x̃| − c = x̃ d’où l’existence d’un point
fixe entre a et x̃.
Dans les 3 cas on a montré l’existence d’un point fixe, reste à prouver son unicité :
→ Unicité du point fixe :
En effet : soient s 1 et s 2 deux points fixes, | f ( s 1 ) − f ( s 2 )| ≤ L| s 1 − s 2 | =⇒ | s 1 − s 2 | ≤ L| s 1 − s 2 |
Si s 1 6= s 2 alors | s 1 − s 2 | 6= 0 =⇒ L ≥ 1 ce qui est absurde.
b) Pour montrer la convergence de ( xn )n ∈ N vers s, considérons :
En effet
Remarque 3.6
• pour n fixe, l’erreur | xn − s| est d’autant plus petite que L est proche de 0.
• pour n fixe, l’erreur diminue très lentement si L ≈ 1.
3.2. LA MÉTHODE DE POINT FIXE 37
0 0
Proposition 3.1 Soit f une fonction dérivable dans [a, b], si f vérifie : max | f ( x)| = L < 1
x∈[a,b]
alors f est contractante sur l’intervalle [a, b].
0
Démonstration d’après la formule des accroissements finis : f ( x) − f ( y) = f (ξ)( x − y), ξ ∈] x, y[
donc
0
| f ( x) − f ( y)| = | f (ξ)|| x − y| ≤ L| x − y| avec 0 ≤ L < 1.
0 0
Remarque 3.7 Il faut que max | f ( x)| < 1 et non | f ( x)| < 1 comme le montre le contre exemple
suivant :
0
si f ( x) = x + 1x pour x ∈ [1, +∞[, f ( x) = 1 − x12 . On a pour tout x ∈ [1, +∞[, | f 0 ( x)| < 1 mais
0 0
max | f ( x)| = 1 pour x ≥ 1 on a aussi | f ( x) − f ( y)| = | x − y| f (ξ) < | x − y| avec ξ ∈ [1, +∞[ mais f
n’a pas de point fixe.
0
Proposition 3.2 Soit s une solution de f ( x) = x avec f continue :
0
• si | f ( s)| < 1 alors il existe un intervalle [a, b] contenant s pour lequel la suite définie
par x0 ∈ [a, b] et xn+1 = f ( xn ) converge vers s.
0
• si | f ( s)| > 1, pour tout x0 6= s la suite définie par x0 et xn+1 = f ( xn ) ne converge pas vers
s.
n xn f ( xn ) | xn+1 − xn |
0 0.50000 0.606531 0.106531
1 0.606531 0.545239 0.061292
2 0.545239 0.579703 0.034464
3 0.579703 0.560065 0.019638
4 0.560065 0.571172 0.011107
5 0.571172 0.564863 0.006309
6 0.564863 0.568438 0.003875
7 0.568738 0.566410 0.002328
8 0.566410 0.567560 0.00115
9 0.567560 0.566907 0.000653
10 0.566907 0.567278 0.000371
11 0.567278 0.567067 0.000211
12 0.567067 0.567187 0.00012
13 0.567187 0.567199 0.000119
14 0.567119 0.567157 0.000067
L14 e−7
l’erreur lors de la 14ème itération est inférieure à : 1−L | x1 − x0 | = 0.393469 0.106531 = 0.000247.
0
Clairement, nous avons la relation f ( xn )/( xn − xn+1 ) = f ( xn ) qui donne, lorsque x0 est choisi
proche de x̂, la méthode de Newton
f ( xn )
xn+1 = xn − 0 , n = 0, 1, .... (3.2)
f ( xn )
3.3. LA MÉTHODE DE NEWTON-RAPHSON 39
Nous voyons ainsi que la méthode de Newton est une méthode de point fixe pour calculer
x̂. En effet, il suffit de constater que si on pose
f ( x)
g ( x) = x − 0 ,
f ( x)
alors f ( x) = 0 est équivalent à g( x) = x et (3.2) est équivalent à xn+1 = g( xn ).
0 0
En vue d’utiliser le théorème 3.2, calculons g ( x) puis g ( x̂). Nous vérifions que si f est deux
fois continûment dérivable : 0 00
0 f ( x)2 − f ( x) f ( x)
g ( x) = 1 − 0 ,
f ( x)2
0
et par suite, puisque f ( x̂) = 0 et f ( x̂) 6= 0
0
g ( x̂) = 0. (3.3)
Démonstration Nous avons observé que la méthode de Newton est une méthode de point
f (x) 0
fixe avec g( x) = x − 0 et que | g ( x̂)| < 1 en vertu de la relation (3.3). Ainsi le résultat de la
f (x)
convergence annoncé dans ce théorème est une conséquence de la proposition 3.2. A priori la
convergence est linéaire, nous allons démontrer que la convergence est quadratique, ceci étant
0
une conséquence du fait que g ( x̂) = 0.
Si nous développons f autour du point xn nous obtenons :
00
0 f (² x )
f ( x) = f ( xn ) + f ( xn )( x − xn ) + ( x − xn )2 ,
2
où ² x appartient à l’intervalle d’extrémité x et xn . en choisissons x = x̂ dans l’égalité ci-dessus,
0
en divisant pas f ( xn ) et en tenant compte du fait que f ( x̂) = 0, on obtient
00
f ( xn ) f (² x )
0 + x̂ − xn + 0 ( x̂ − xn )2 = 0.
f ( xn ) 2 f ( xn )
en utilisant l’équation (3.2) nous obtenons,
00
| f (² x )|
| x̂ − xn+1 | = 0 | x̂ − xn |2 .
2| f ( x n ) |
Il suffit maintenant de poser,
00
max | f ( x)|
x∈[ x̂−², x̂+²]
C= 0 ,
2 min | f ( x )|
x∈[ x̂−², x̂+²]
pour obtenir
| x̂ − xn+1 | ≤ C | x̂ − xn |2 .
Cette dernière inégalité montre que la convergence est bien quadratique.
40 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
00
1. f (a) < 0, f ( b) > 0 f ( x) ≤ 0 sur [a, b].
00
2. f (a) > 0, f ( b) < 0 f ( x) ≤ 0 sur [a, b].
00
3. f (a) < 0, f ( b) > 0 f ( x) ≥ 0 sur [a, b].
00
4. f (a) > 0, f ( b) < 0 f ( x) ≥ 0 sur [a, b].
f ( x̃n ) f ( x̃n ) 0
Si x̃n ≤ s alors f ( x̃n ) ≤ f ( s) = 0 donc − 0 > 0 d’où x̃n+1 = x̃n − 0 ≥ x̃n (vu que f ( x̃n ) ≥ 0).
f ( x̃n ) f ( x̃n )
3.4. LA MÉTHODE DE SÉCANTE 41
0 ( s − x̃n )2 00
0 = f ( s) = f ( x̃n ) + ( s − x̃n ) f ( x̃n ) + f (²n ), ²n ∈ [ x̃n , s].
2
00
Comme f < 0, alors :
f ( x̃n )
− f ( x̃n ) < ( s − x̃n ) f 0 ( x̃n ) =⇒ − < s − x̃n
f 0 ( x̃n )
f ( x̃n )
x̃n+1 = x̃n − 0 =⇒ x̃n+1 < x̃n + s − x̃n = s
f ( x̃n )
=⇒ x̃n+1 < s.
Conclusion : La suite ( x̃n ) est croissante majorée et est donc convergente. Choix de x̃0 : Dans
00
le cas que nous considérons ( f < 0), d’après (iv) la convergence est assurée pour x̃0 tel que :
x̃0 ∈ [a, b] et f ( x̃0 ) < 0. Dans ce cas de figure on a x̃0 < s. D’après ce qui précède on a :
x̃0 < x̃1 < x̃2 < ... < x̃n < s,
f (s)
la suite converge donc vers un point s tel que s = s − 0 =⇒ f ( s) = 0.
f (s)
( x̃1 − x̃0 )2 00
f ( x̃1 ) = f ( x̃0 ) + ( x̃1 − x̃0 ) f 0 ( x̃0 ) + f ( c), c ∈ [ x̃1 , x̃0 ] (3.4)
2
f ( x̃0 ) 0 1 f ( x̃0 ) 2 00
µ ¶
= f ( x̃0 ) − 0 f ( x̃0 ) + f ( c) (3.5)
f ( x̃0 ) 2 f 0 ( x̃0 )
1 f ( x̃0 ) 2 00
µ ¶
= f ( c) < 0 (3.6)
2 f 0 ( x̃0 )
00
ainsi, on a trouvé un autre point d’initialisation x̃1 tel que f ( x̃1 ) f ( x̃1 ) > 0.
0
On contourne cette difficulté en remplaçant le calcul de la pente f ( xn ) de la droite tangente
par l’expression suivante :
0 f ( xn ) − f ( xn−1 )
f ( xn ) ' .
xn − xn−1
Cela revient à utiliser la droite sécante passant par les points ( xn , f ( xn )) et ( xn−1 , f ( xn−1 )) au
lieu de la tangente passant par ( xn , f ( xn )).
Graphiquement : on localise deux points A = (a, f (a)) et B = ( b, f ( b)) tels que f (a) f ( b) < 0
(voir la figure (3.6)), on trace le segment de droite ( AB) joignant A et B. L’équation de cette
droite est donnée par :
f ( b ) − f ( a)
y = f ( a) + ( x − a)
b−a
soit A 1 ( x1 , 0) le point d’intersection de la droite ( AB) avec l’axe des abscisses, A 1 vérifie l’équa-
tion de la droite AB, donc
b−a
x1 = a − f (a) .
f ( b ) − f ( a)
f ( b ) − f ( x1 )
y = f ( x1 ) + ( x − x1 )
b − x1
soit A 2 ( x2 , 0) le point d’intersection de la droite (B1 B) avec l’axe des abscisses, A 2 vérifie l’équa-
tion de la droite (B1 B), donc
b − x1
x2 = x1 − f ( x1 )
f ( b) − f ( x1 )
la même opération répétée plusieurs fois permet d’obtenir une suite ( xn ) telle que
b − xn f ( xn )
xn+1 = g( xn ) = xn − f ( xn ) = xn − f (b)− f (xn )
f ( b) − f ( xn )
b− xn
00
La suite ( xn ) ainsi obtenue est convergente. Dans le cas où la dérivée seconde f a un signe
constant : la suite ( xn ) est, soit croissante majorée, soit décroissante minorée. En effet, deux
cas se présentent :
3.4. LA MÉTHODE DE SÉCANTE 43
00
Fig. 3.7 – Méthode de la sécante avec f (x) > 0 et f (a) > 0 figure (a), f (a) < 0 figure (b).
00
a) f ( x) > 0 et f (a) > 0 : Dans ce cas l’extrémité a est fixe et les approximations successives
sont : (
x0 =b
xn+1 = xn − f ( xn ) f (xxnn)−
−a
f (a)
d’après la figure on remarque que :
a < s < ... < xn+1 < xn < ... < x1 < x0
Dans ce cas la suite ( xn ) est décroissante minorée par a et est donc convergente.
00
b) f ( x) > 0 et f (a) < 0 : Dans ce cas l’extrémité b est fixe et les approximations successives
sont : (
x0 =a
xn+1 = xn − f ( xn ) f (b)b− xn
− f (xn )
d’après la figure on remarque que :
a = x0 < x1 < ... < xn < xn+1 < ... < s < b
Dans ce cas de figure la suite ( xn ) est croissante majorée par b et est donc convergente.
00
Remarque 3.9 Si f ( x) < 0 , on se ramène au cas précédent en considérant − f ( x) = 0.
Théorème 3.6 Soit f deux fois continûment différentiable sur un intervalle ouvert de centre
x̃ vérifiant :
0
f ( x̃) = 0, f ( x̃) 6= 0.
Alors, si x0 , x1 sont choisis assez près de x̃, l’algorithme de la sécante défini par :
xn − xn−1
xn+1 = xn − f ( xn ) , ∀n > 1
f ( xn ) − f ( xn−1 )
Exercice 3.1 Résoudre dans R l’équation f ( x) = 0 avec f ( x) = x − 0.2 sin( x) − 0.5 par les quatres
méthodes.
3.5. COMPARAISON DES ALGORITHMES 45
Dichotomie
X la convergence est assurée × vitesse de convergence linéaire,
X on a un encadrement de la solu- donc lente
tion × sensible aux erreurs d’arrondi ;
X un seul calcul de fonction à exemple : la fonction f ( x) = e x −
2
chaque itération. 1 − x − x2 s’annule théorique-
ment en x = 0 seulement. Nu-
mériquement, elle change de
signe un grand nombre de fois
autour de x = 0.
Point fixe
X méthode d’intérêt théorique × convergence souvent difficile à
X elle a permis de déduire l’ana- réaliser en pratique
lyse mathématique de la mé- × certains points fixes -dits
thode de Newton instables- ne peuvent être
X elle joue un rôle considérable atteints
pour adapter des algorithmes × convergence lente de type li-
linéaires à des situations non néaire, en général.
linéaires.
Newton
X converge rapidement quand elle × peut diverger ou converger vers
converge un autre zéro que celui cher-
X relativement stable et peu sen- ché si la donnée initiale est mal
sible aux erreurs d’arrondis choisie
0
si f ( xn ) n’est pas trop petit × nécessite le calcul de la dérivée
quand n → ∞. d’une fonction, ce qui est nu-
mériquement difficile si on ne
la connaît pas explicitement
× chaque étape nécessite deux éva-
luations de fonctions.
Sécante
X nécessite une seule évaluation × comme la méthode de Newton,
de fonction à chaque étape peut diverger si les données
X convergence relativement ra- initiales sont mal choisies
pide, bien que moins que celle × le calcul de f ( xn ) − f ( xn−1 ) peut
de Newton. produire des erreurs de chute.
[ Quatrième Chapitre \
Interpolation et approximation polynômiale
Dans ce chapitre, on dispose d’une fonction f , connue par exemple uniquement par ses
valeurs en certains points, et on cherche à remplacer ou à approcher f par une fonction plus
simple, le plus souvent par un polynôme. Nous verrons dans ce contexte, l’interpolation qui
consiste à rechercher un polynôme qui passe exactement par les points donnés, l’interpolation
par morceaux, en particulier les fonctions splines où l’expression du polynôme est différente
sur chaque sous-intervalle.
P n ( x i ) = f ( x i ), i = 0, ..., n.
On montrera que P n existe et est unique. On l’appelle le polynôme d’interpolation de f aux
points { x0 , x1 , · · · , xn }. La représentation graphique de cette fonction P n est une courbe passant
par les n + 1 points de coordonnées
( x0 , f 0 ), ( x1 , f 1 ), · · · , ( xn , f n ).
46
4.1. POLYNÔME D’INTERPOLATION D’UNE FONCTION 47
Théorème 4.1 Il existe un unique polynôme P n de degré inférieur ou égal à n tel que
P n ( x i ) = f ( x i ), i = 0, ..., n.
Démonstration Démontrons ce résultat dans le cas n = 2. Le cas général se fait d’une manière
similaire. En écrivant
P 2 ( x) = a 0 + a 1 x + a 2 x2 ,
et
P 2 ( x i ) = f ( x i ), i = 0, 2,
on obtient le système linéaire
2
a 0 + a 1 x0 + a 2 x0 = f 0
a 0 + a 1 x1 + a 2 x12 = f 1
a 0 + a 1 x2 + a 2 x22 = f 2
1 x2 x22 a2 f2
Le déterminant de la matrice de ce système (appelé déterminant de Vandermonde) se calcule
sous Matlab :
Ce déterminant est différent de zéro puisque les points x i sont distincts. D’où l’existence et
l’unicité des a i .
Remarque 4.1 Dans le cas général, on montre que la résolution du système, permettant le
calcul des coefficients du polynôme d’interpolation, nécessite un nombre d’opérations en O ( n3 ).
On utilisera plutôt d’autres méthodes, moins coûteuses en nombre d’opérations dès que n de-
vient grand. Par exemple, l’utilisation des polynômes de Lagrange nécessite un nombre d’opé-
rations en O ( n2 ).
48 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
Théorème 4.2 (Rolle) Soient a et b deux réels tels que a < b et f une fonction à valeurs
réelles continue sur [a, b] et dérivable sur ]a, b[ telle que
f ( a ) = f ( b ).
f 0 ( c ) = 0.
Théorème 4.3 Soient a et b deux nombres réels tels que a < b et f : [a, b] −→ R une fonction
n fois dérivable sur [a, b]. On suppose que f ∈ C n+1 ([a, b]) et x0 ∈ [a, b]. Si x ∈ [a, b], alors il
existe un élément c entre x0 et x tel que
f ( x ) = P n ( x ) + E n ( x ).
0
f ( x0 ) f n ( x0 )
où, P n ( x) = f ( x0 ) + ( x − x0 ) + · · · + ( x − x0 )n
1! n!
f n+1 ( c)
E n ( x) = ( x − x0 )n+1 .
( n + 1)!
P n est le polynôme qui peut être utilisé comme approximation de f , E n ( x) est l’erreur commise
lors de cette approximation.
4.2. LES POLYNÔMES DE TAYLOR 49
Démonstration On pose :
0
f ( x0 ) f n ( x0 )
P n ( x) = f ( x0 ) + ( x − x0 ) + · · · + ( x − x0 )n
1! n!
P n est un polynôme de degré n et est indéfiniment dérivable. Considérons la fonction g définie
par : g( t) = f ( t) − P n ( t) + λ( t − x0 )n+1 , λ est une constante telle que g( x) = 0. On a donc :
P n ( x) − f ( x)
g ( t) = f ( t) − P n ( t) + ( t − x0 )n+1 .
( x − x0 )n+1
P n(n+1) est identiquement nulle, donc g est n-fois dérivable sur [a, b] et g(n) est dérivable sur
]a, b[. De plus on a :
0 00
g( x0 ) = g ( x0 ) = g ( x0 ) = · · · = g n ( x0 ) = 0
0
Alors on a g( x0 ) = g( x) = 0 d’après le théorème de Rolle il existe c 1 entre x0 et x tel que g ( c 1 ) = 0.
0 0 00
On a alors g ( x0 ) = g ( c 1 ) = 0, donc il existe un élément c 2 entre x0 et c 1 tel que g ( c 2 ) = 0. Par
récurrence on construit donc une suite d’éléments ( c i ) i=1,2,...,n de ]a, b[ tels que :
On a alors g n ( x0 ) = g n ( c n ) = 0 et d’après le théorème de Rolle il existe c entre x0 et c n tel que
g n+1 ( c) = 0. Or
P n ( x) − f ( x)
g n+1 ( c) = 0 = f n+1 ( c) + ( n + 1)!
( x − x0 )n+1
f n+1 (c) n+1
donc : f ( x) − P n ( x) = (n+1)! ( x − x0 ) . Ce qui démontre le théorème.
Nous allons montré dans cet exemple pourquoi nous avons eu besoin de prendre n = 15
pour obtenir une approximation de e (c-à-d fonction exponentielle au point 1) par S 15 avec une
1 1 1 1
précision de 10−13 avec S n = 1 + 1! + 2! + 3! + ... + n! .
x n x
f ( x) = e , f ( x) = e , le développement de Taylor au point x0 = 0 à l’ordre 15 de f est donné
par f ( x) = P15 ( x) + E 15 ( x).
x2 x3 x15
P15 ( x) = 1 + x + + + ... +
2! 3! 15!
P15 (1) = S 15 . L’erreur est donnée par :
f 16 ( c) x16
E 15 ( x) = , c ∈]0, 1[
16!
A partir de f 16 ( c) = e c et de 1 < e c < e < 3, on obtient une majoration de l’erreur (pour x = 1) :
f 16 ( c) ec 3
E 15 (1) = = < = 1.43384310−13 .
16! 16! 16!
50 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
∀ i = 0, 1, ...n, P n ( x i ) = f ( x i ). (4.2)
où,
n
Y ( x − xk )
L i ( x) = , (4.4)
k=0, k6= i x i − x k
Démonstration
Existence : On vérifie directement que le polynôme donné par (4.3) est solution de (4.2) (on
utilise le fait que L i ( x j ) = δ i j ).
Unicité : Soit Q n un autre polynôme solution. Alors ∀ i = 0, 1, ..., n, Q n ( x i ) − P n ( x i ) = 0. Ainsi
Q n − P n est un polynôme de degré inférieur ou égal à n s’annulant en n + 1 points. Il est
donc identiquement nul.
4.3.1 Exemple
Nous allons construire le polynôme de Lagrange passant par les 4 points :
on pose : x0 = 2, x1 = 3, x2 = −1 et x3 = 4. f 0 = 1, f 1 = 2, f 2 = 3 et f 3 = 4.
Les polynômes de Lagrange élémentaires :
( x − 3)( x − (−1))( x − 4) 1
L 0 ( x) = = ( x − 3)( x − (−1))( x − 4)
(2 − 3)(2 − (−1))(2 − 4) 6
( x − 2)( x − (−1))( x − 4) −1
L 1 ( x) = = ( x − 2)( x − (−1))( x − 4)
(3 − 2)(3 − (−1))(3 − 4) 4
( x − 2)( x − 3)( x − 4) −1
L 2 ( x) = = ( x − 2)( x − 3)( x − 4)
(−1 − 2)(−1 − 3)(−1 − 4) 60
( x − 2)( x − 3)( x − (−1)) 1
L 3 ( x) = = ( x − 2)( x − 3)( x − (−1))
(4 − 2)(4 − 3)(4 − (−1)) 10
Le polynôme de Lagrange est donné par :
P ( x) = 1 L 0 ( x) + 2 L 1 ( x) + 3 L 2 ( x) + 4 L 3 ( x)
1 3 7 2 16 8
= x + x − x+
60 20 15 5
Théorème 4.5 Soit f une fonction de classe C n+1 [a, b]. Si x0 , x1 , ..., xn ∈ [a, b], P le polynôme
d’interpolation de Lagrange au points : ( x0 , f ( x0 )), ( x1 , f ( x1 )), ..., ( xn , f ( xn )) alors :
∀ x ∈ [a, b],
( x − x0 )( x − x1 )...( x − xn ) n+1
f ( x) − P n ( x) = f (θ ) (4.5)
( n + 1)!
où a < min( x, x0 ) < θ < max( x, xn ) < b
52 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
Résultats préliminaires :
0
Si g : [a, b] −→ R telle que g existe
0
Si g possède ( n + 2) zéros distincts alors g possède au moins ( n + 1) zéros distincts.
Généralisation du théorème de Rolle : Si g ∈ C (n+1) ([a, b]) et si g possède au moins ( n + 2) zéros
alors g n+1 a au moins un zéro.
D’après le théorème de Rolle généralisé, la fonction ψn+1 admet au moins un zéro. Soit θ ∈
]a, b[ tel que : ψn+1 (θ ) = 0, On conclut donc que l’erreur est donnée par :
( x − x0 )( x − x1 )...( x − xn ) n+1
E n ( x) = f (θ ).
( n + 1)!
De plus si f n+1 est continue sur [a, b], elle atteint sa borne supérieure, on a la majoration de
l’erreur suivante :
|( x − x0 )( x − x1 )...( x − xn )|
E n ( x ) = | f ( x ) − P n ( x )| ≤ max | f n+1 (θ )|.
( n + 1)! θ ∈]a,b[
4.4.2 Exemple
Étant donné les points x0 = 1, x1 = 3, x2 = 4 et x3 = 4.5 et les coefficients a 0 = 5, a 1 = −2,
a 2 = 0.5, a 3 = −0.1 et a 4 = 0.003. Trouver P1 ( x), P2 ( x), P3 ( x) et P4 ( x) et calculer P i (2.5) pour
i = 1, 2, 3, 4. En utilisant les formules précédentes on a :
P1 ( x) = 5 − 2( x − 1)
P2 ( x) = 5 − 2( x − 1) + 0.5( x − 1)( x − 3)
P3 ( x) = 5 − 2( x − 1) + 0.5( x − 1)( x − 3) − 0.1( x − 1)( x − 3)( x − 4)
on trouve :
P1 (2.5) = 2
P2 (2.5) = P1 (2.5) + 0.5(1.5)(−0.5) = 1.625
P3 (2.5) = P2 (2.5) − 0.1(1.5)(−0.5)(−1.5) = 1.5125
P1 ( x0 ) = f ( x0 ) et P1 ( x1 ) = f ( x1 )
On trouve :
a0 = f ( x0 ) (4.10)
f ( x1 ) − a 0 f ( x1 ) − f ( x0 )
a1 = = (4.11)
x1 − x0 x1 − x0
Les coefficients a 0 et a 1 de P2 sont les mêmes que ceux qui figurent dans P1 et qu’on vient de
calculer (4.10), (4.11). Le coefficient a 2 de P2 est déterminé de la façon suivante :
P2 ( x2 ) = f ( x2 ) = a 0 + a 1 ( x2 − x0 ) + a 2 ( x2 − x0 )( x2 − x1 )
f ( x2 ) − a 0 − a 1 ( x2 − x0 )
a2 = (4.12)
( x2 − x0 )( x2 − x1 )
1 f ( x2 ) − f ( x1 ) f ( x1 ) − f ( x0 )
· ¸
= − (4.13)
( x2 − x0 ) x2 − x1 x1 − x0
Définition 4.1 Les différences divisées d’une fonction f sont définies comme suit :
f [ xk ] = f ( xk )
f [ xk ] − f [ xk−1 ]
f [ xk−1 , xk ] =
xk − xk−1
f [ xk−1 , xk ] − f [ xk−2 , xk−1 ]
f [ xk−2 , xk−1 , xk ] =
xk − xk−2
f [ xk−2 , xk−1 , xk ] − f [ xk−3 , xk−2 , xk−1 ]
f [ xk−3 , xk−2 , xk−1 , xk ] =
xk − xk−3
.. ..
. = .
Théorème 4.6 Soit f ∈ C n+1 ([a, b]). Si x0 , x1 , ..., xn sont n + 1 points distincts de [a, b], alors
il existe un unique polynôme P n , dit polynôme de Newton, de degré au plus égal à n tel que :
f ( x) = P n ( x) + E n ( x)
(4.15)
E n ( x) = (x− x0 )(x(n−+x11)!
)...(x− xn ) n+1
f (θ )
xi f [xi ] f [ x i−1 , x i ] f [ x i−2 , x i−1 , x i ] f [ x i−3 , ..., x i ] f [ x i−4 , ..., x i ] f [ x i−5 , ..., x i ]
x0 = 1 −2 − − − − −
x1 = 2 1 3 − − − −
x2 = 3 32 31 14 − − −
x3 = 4 139 107 38 8 − −
x4 = 5 394 255 74 12 1 −
x5 = 6 893 499 122 16 1 0
La fonction P ainsi construite est évidemment continue sur l’intervalle [a, b].
Il est clair qu’une telle courbe n’est pas lisse, il faut donc être prudent à la jonction de
ses différents segments de courbe. Une voie très populaire consiste à utiliser dans chaque
intervalle [ x i−1 , x i ] un polynôme de degré 3 de la forme
P i ( x) = a i x3 + b i x2 + c i x + d i , i = 1, ..., n
et à relier ces différents polynômes de façon à ce que la courbe résultante soit deux fois diffé-
rentiable. C’est l’interpolation par Spline cubique.
Supposons que l’on a ( n + 1) points d’interpolation est n intervalle [ x i−1 , x i ], cela indique
qu’il y a 4 n coefficients (a i , b i , c i , d i , i = 1, ..., n) à déterminer. La situation est décrite dans la
figure 4.4 pourn = 4.
Voyons combien de conditions ou d’équations nous pouvons imposer pour calculer les 4 n
coefficients. Ces équations proviennent des conditions de régularité que l’on souhaite imposer
à la courbe résultante. Voici les contraintes imposés aux n polynômes de degré 3.
• P1 ( x0 ) = f ( x0 ) et P n ( xn ) = f ( xn ).
• Les splines P i−1 et P i sont reliées au point de contrôle x i , i = 1, ..., n − 1, alors
P i ( x i ) = f ( x i ) = P i+1 ( x i ).
56 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
• Pour assurer la régularité de la courbe, on doit imposer que les dérivés premières et
secondes soient continuent aux points i = 1, ..., n − 1
0 0
P i ( x i ) = P i+1 ( x i ) (4.16)
00 00
P i ( x i ) = P i+1 ( x i ) (4.17)
La résolution du système est basée sur la constatation suivante : puisque la spline est
constitué de polynôme de degré 3 dans chaque intervalle, la dérivé seconde de la spline étant
un polynôme de degré 1 dans chaque intervalle. De plus ses dérivés secondes sont continues
en chacun des points x i .
x − xi
00 00 x − x i −1
00
P i ( x) = f i−1
+ fi
x i−1 − x i x i − x i−1
En intégrant deux fois cette équation, on obtient d’abord
0 00 ( x − x i )2 00 ( x − x i −1 )
2
P i ( x) = f i−1 + fi + αi
2( x i−1 − x i ) 2( x i − x i−1 )
et par la suite
( x − x i )3
00 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi + αi (x − xi ) + βi
6( x i−1 − x i ) 6( x i − x i−1 )
où α i et β i sont les constantes d’intégration. On exprime ses constantes d’intégration en
00
fonctions des inconnues f i .
4.5. INTERPOLATION SPLINE CUBIQUE 57
La courbe du polynôme P i ( x) défini dans [ x i−1 , x i ] doit passer par les points ( x i−1 , f ( x i−1 )) et
( x i , f ( x i )), on en déduit que
00 ( x i − x i−1 )3 00 ( x i − x i −1 )
2
p i (xi ) = f (xi ) = f i + βi = f i + βi
6( x i − x i−1 ) 6
ce qui entraîne que
00 ( x i − x i−1 )2
βi = f (xi ) − f i
6
De même en x = x i−1
( x i−1 − x i )2
00
p i ( x i−1 ) = f ( x i−1 ) = f i−1 + α i ( x i−1 − x i ) + β i
6
d’où l’on tire
00 00
f ( x i ) − f ( x i−1 ) ( f i − f i−1 )( x i − x i−1 )
αi = −
x i − x i−1 6
On en déduit que l’équation de la spline sur l’intervalle [ x i−1 , x i ] est
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi
6( x i−1 − x i ) 6( x i − x i−1 )
à 00 00 !
f ( x i ) − f ( x i−1 ) ( f i − f i−1 )( x i − x i−1 )
+ − (x − xi )
x i − x i−1 6
00 ( x i − x i−1 )2
+ f (xi ) − f i
6
ou encore
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi
6( x i−1 − x i ) 6( x i − x i−1 )
à 00 !
f ( x i−1 ) f i−1 ( x i − x i−1 )
− − (x − xi )
x i − x i−1 6
à 00 !
f (xi ) f i ( x i − x i−1 )
+ − (x − xi )
x i − x i−1 6
00 ( x i − x i−1 )2
+ f (xi ) − f i
6
pour obtenir une formule plus compacte, on remplace le monôme ( x − x i ) par l’expression
équivalente ( x − x i−1 ) + ( x i−1 − x i ), on obtient alors :
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = − f i−1 + fi
6( x i − x i−1 ) 6( x i − x i−1 )
f ( x i−1 ) ( x i − x i−1 )
µ ¶
00
− − f i−1 (x − xi )
x − x i−1 6
µ i
f (xi ) 00 ( x i − x i −1 )
¶
+ − fi ( x − x i−1 )
x i − x i−1 6
On peut simplifier l’expression en posant h i = x i − x i−1 pour i = 1, ..., n, ce qui donne
58 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = − f i−1 + fi
6h i 6h i
à 00 !
f ( x i−1 ) h i f i−1
− − (x − xi )
hi 6
à 00 !
f (xi ) h i f i
+ − ( x − x i−1 )
hi 6
Des (4 n − 2) conditions retenues, seule la continuité de la première dérivé n’a pas était
imposée. Pour ce faire, il faut dériver p i ( x) dans l’intervalle [ x i−1 , x i ] et p i+1 ( x) dans l’intervalle
[ x i , x i+1 ], puis évaluer p i ( x i ) et p i+1 ( x i ). On a d’une part :
0 00 ( x − x i )2 00 ( x − x i −1 )
2
p i ( x) = − f i−1 + fi
2h i 2h i
à 00 !
f ( x i−1 ) h i f i−1
− −
hi 6
à 00 !
f (xi ) h i f i
+ −
hi 6
et d’autre part
2
0 00 ( x − x i +1 ) 00 ( x − x i )2
p i+1 ( x) = − fi + f i+1
2 h i+1 2 h i+1
à 00 !
f ( x i ) h i+1 f i
− −
h i+1 6
à 00 !
f ( x i+1 ) h i+1 f i+1
+ −
h i+1 6
Une dernière simplification est possible si on divise chaque terme de cette équation par :
ce qui donne
hi 00 00 h i+1 00
f i−1 + 2 f i + f i+1 = 6 f ([ x i−1 , x i , x i+1 ]) pour i = 1, ..., n − 1.
h i + h i+1 h i + h i+1
On remarque que le terme de droite fait intervenir les deux différences divisées. Il y a au
00
total ( n + 1) inconnues f i et on a que ( n − 1) équations. On doit donc fixer de façon arbitraire
deux des inconnues. Il existe plusieurs possibilités, mais la plus simple consiste à imposer
4.5. INTERPOLATION SPLINE CUBIQUE 59
00 00
f0 = f n = 0
on qualifie la spline naturelle la courbe qui en résulte. La spline naturelle impose que la
dérivé seconde est nulle aux deux extrémités et donc que la courbe y est linéaire. Un autre
choix possible consiste à imposer
00 00 00 00
f 0 = f 1 et f n = f n−1
ce qui revient à imposer une courbure constante dans le premier et le dernier intervalle.
Nous pouvons alors écrire ce système d’équations linéaires de n − 1 équations
00
2 u2 f1 w1
00
v2 2 u 3 f2 w2
v3 2 u4 v3 w3
=
. .. ... .. .. ..
.
00 .
.
vn−2 2 u n−1 f n−2 wn−2
00
vn−1 2 f n−1 wn−1
où
h i+1
u i+1 =
h i + h i+1
hi
vi = , i = 1, ..., n − 1
h i + h i+1
wi = 6 f ([ x i−1 , x i , x i+1 ])
Théorème 4.7 Soit f ∈ C 4 ([a, b]) sur l’intervalle ]a, b[, Si a < x0 < · · · < xn < b, alors
h4i−1
| f ( x) − P i ( x)| ≤ max | f 4 (²)|
384 ²∈]x i−1,i[
Exercice 4.1 Trouver l’expression des splines cubiques passant par les points suivants :
5.1.1 Introduction
L’intégration est un des problèmes les plus importants que l’on rencontre en analyse. En
effet, on rencontre souvent des intégrales dont le calcul par des méthodes analytiques est très
compliqué ou même impossible, car il n’existe pas d’expression analytique de la primitive de la
fonction à intégrer. Voici quelques exemples :
π
Z 1 Z
2
Z 1
− x2
p
e dx, 1 + cos2 ( x) dx, cos( x2 ) dx.
0 0 0
Dans ces cas, on peut appliquer des méthodes numériques pour évaluer la valeur de l’intégrale
donnée.
Dans ce chapitre, nous allons présenter le principe général du calcul approché d’intégrale
que nous appliquons dans le cas de la méthode des rectangles, trapèzes et Simpson.
5.1.2 Rappels
Rβ
1. Si f est continue sur [a, b], alors f admet une primitive donc α f ( t) dt existe pour tous
α, β ∈ [a, b].
2. Soient f :]a, b[−→ R et F : [a, b] −→ R, F est une primitive de f sur [a, b] si F est continue
0
sur [a, b], si F est dérivable sur ]a, b[ alors F ( x) = f ( x), quelque soit x ∈]a, b[.
3. Si F est une primitive de f alors G = F + cte est aussi une primitive de f .
4. Pour α, β ∈ [a, b] , si F et G sont deux primitives de f on a :
Z β
I = F (β) − F (α) = G (β) − G (α) = f ( t) dt.
α
60
5.1. L’INTÉGRATION NUMÉRIQUE 61
Fig. 5.3 – Subdivision de [a, b] et approximation de ab f (x)dx par la somme des surfaces hachurées
R
Z β
f ( t) dt = h f (γ) + R α,β ( f ), h = β − α.
α
h h2 0 h3 00
F (α) − F (γ) = − f (γ) + f (γ) − f (η), η ∈]α, γ[ (5.3)
2 8 48
5.2. FORMULE DES RECTANGLES ( AVEC POINT MILIEU ) 63
1 nX
−1 00 00
f (θ i ) = f (θ )
n i=0
Propriétés 5.1
00
1. Si f = 0 sur [a, b] c-à-d f est un polynôme de degré un ou moins, il n’y a pas d’erreur de
méthode.
00 Rb
2. Si f ≥ 0 l’approximation de a f ( t) dt fournie par Q n ( f ) est par défaut.
00
3. La méthode est convergente, en effet si M est un majorant de | f | sur [a, b] on a :
h2 1
|R n ( f )| ≤ ( b − a) M proportionnelle à 2 → 0.
24 n
Exemple 5.1
R2
Log(2) = 1 1t dt ' 0.6931471806
1 0 1 00 2 00
f ( x) = , f ( x) = − 2 , f ( x) = , | f ( x)| ≤ 2 = M, ∀ x ≥ 1
x x x3
a 0 +a 1
— Si n = 1 on a : h = 2−1 1 = 1, a 0 = 1, a 1 = 2 = 1 + 1 h donc γ0 = 2 = 32 d’où
1X
−1 3
µ ¶
2
Q1 = h f (γ i ) = h f (γ0 ) = f = = 0.66666666.
i =0 2 3
— Si n = 3 on a : h = 2−3 1 = 31 , a 0 = 1, a 1 = 1 + 1 31 = 43 , a 2 = 1 + 2 13 = 35 et a 3 = 1 + 3 13 = 2 donc :
a +a a +a a +a
γ0 = 0 2 1 = 76 , γ1 = 1 2 2 = 96 , γ2 = 2 2 3 = 11 6 d’où
3X
−1 1 6 6 6
µ ¶
478
Q3 = h f (γ i ) = h( f (γ0 ) + f (γ1 ) + f (γ2 )) = + + = = 0.68975468
i =0 3 7 9 11 693
— Si n = 9 on a : h = 91 , a 0 = 1, a 1 = 1 + 1 19 = 10 1
9 , a2 = 1 + 2 9 =
11
9 , a i = 1 + i 19 et a 9 = 2 donc :
a +a a 1 +a 2 a i +a i+1
γ0 = 0 2 1 = 19
18 , γ1 = 2 = 21
18 , γ i = 2 = 1918
+2i
d’où
9X
−1
Q9 = h f (γ i )
i =0
= h( f (γ0 ) + f (γ1 ) + ... + f (γ8 ))
1 18 18 18 18
= ( + + ... + + ... + )
9 19 21 19 + 2 i 35
14145553414
= = 0.69276237
20419054425
2
n Qn ( b − a) h24M |Q n − Q 3n | erreur exacte
1 0.66666667 8.310−2 − −2.710−2
3 0.68975468 4.610−3 2.310−2 −3.410−3
9 0.69276237 5.210−3 3.010−3 −3.910−4
5.3. LA MÉTHODE DES TRAPÈZES 65
Z β h
f ( t) dt = ( f (α) + f (β)) + R α,β ( f ).
α 2
00
Pour exprimer le reste R α,β ( f ), on suppose que f a une dérivée seconde f continue sur
[α, β] et introduisons la fonction auxiliaire ϕ( x) définie par :
α+β
ϕ( x) = F (γ + x) − F (γ − x) − x( f (γ + x) + f (γ − x)) − kx3 , γ= . (5.4)
2
k est une constante choisie telle que ϕ( h2 ) = 0. En exigeant cela on obtient pour k l’expression
suivante :
0 0 0
ϕ ( x) = − x( f (γ + x) − f (γ − x)) − 3 kx2
0
Le théorème des accroissements finis appliqué à f sur l’intervalle ]γ − ², γ + ²[ implique qu’il
existe η ∈]γ − ², γ + ²[ telle que
0 0 00
f (γ + ²) − f (γ − ²) = 2² f (η)
0 00
comme ϕ (²) = 0 on obtient k = − 32 f (η) et comme ϕ( h2 ) = 0 = F (β) − F (α) − h2 ( f (β) + f (α)) +
2 00 h 3
3 f (η)( 2 ) , on en déduit :
Z β h h3 00
f ( t) dt = ( f (β) + f (α)) − f (η), α<η<β
α 2 12
c’est la formule élémentaire pour la méthode des trapèzes.
66 CHAPITRE 5. INTÉGRATION NUMÉRIQUE
a i+1 h h3 00
Z
f ( t) dt = ( f (a i ) + f (a i+1 )) − f (² i ), a i < ² i < a i+1
ai 2 12
sur l’intervalle [a, b] on a donc :
b h nX−1 h3 nX−1 00
Z
f ( t) dt = ( f (a i ) + f (a i+1 )) − f (² i )
a 2 i=0 12 i=0
à !
f (a) nX −1 f ( b) h2 00
= h + f (a i ) + − ( b − a ) f (θ )
2 i =1 2 12
} | {z }
Rn( f )
| {z
Tn ( f )
Rb
T n ( f ) est la valeur approchée de a f ( t) dt et R n ( f ) est l’erreur de la méthode lorsqu’on
Rb
approche a f ( t) dt par T n ( f ). La figure suivante permet de schématiser cette méthode d’ap-
proximation :
Propriétés 5.2
00
— si f = 0 alors R n ( f ) = 0.
00
— si f > 0 l’approximation fournit par T n ( f ) est par excès.
00
— si f ≥ 0 et garde le même signe sur un intervalle [a, b] on peut encadrer l’intégrale
Rb
a f ( t) dt par : Z b
Qn( f ) ≤ f ( t) dt ≤ T n ( f ).
a
1
— la méthode est convergente : la convergence est en n2
.
— Pour limiter le nombre d’évaluations de f , on peut se limiter au cas où n est une puis-
sance de 2, alors dans ce cas |T2n − T n | fournit une estimation de l’erreur ainsi qu’un
test d’arrêt des itérations.
R2 1
Exemple 5.2 Log(2) = 1 t dt ' 0.6931471806
(b−a)h2 M
n Tn 12 |T2n − T n | erreur exacte
−2
1 0.75 8.310 − 5.710−2
2 0.7083333 2.110−2 4.710−2 1.510−2
4 0.6970238 5.210−3 1.110−2 3.410−3
8 0.69412183 1.310−3 2.910−3 9.810−4
On montre facilement que le polynôme de degré 2 qui passe par A , B et C est de la forme :
Rβ
On a donc α P ( x) dx = h6 ( f (α) + 4 f (γ) + f (β)) on propose donc la formule élémentaire sui-
vante :
Z β h
f ( t) dt = ( f (α) + 4 f (γ) + f (β)) + R α,β
α 6
Pour exprimer le reste, en est amené à supposer que f a une dérivé quatrième f 4 continue :
considérons la fonction auxiliaire : ϕ : [0, h2 ] −→ R définie par
x
ϕ( x) = F (γ + x) − F (γ − x) − ( f (γ + x) + f (γ − x) + 4 f (γ)) + kx5
3
k est une constante choisie telle que : ϕ( h2 ) = 0.
0
ϕ(0) = ϕ( h2 ) = 0, d’après le théorème de Rolle, il existe ²1 ∈]0, h2 [ telle que ϕ (²1 ) = 0. D’après
0
l’expression de ϕ ( x) donnée ci-dessous
0 2 4 x 0 0
ϕ ( x) = ( f (γ + x) + f (γ − x)) − f (γ) − ( f ( x + γ) − f (γ − x)) + 5 kx4
3 3 3
0 0
on conclut que ϕ (0) = 0, et comme ϕ (²1 ) = 0 on en déduit du théorème de Rolle qu’il existe
00
²2 ∈]0, ²1 [ telle que ϕ (²2 ) = 0
00 1 0 0 x 00 00
ϕ ( x) = ( f (γ + x) − f (γ − x)) − ( f ( x + γ) + f (γ − x)) + 20 kx3
3 3
00 00
ϕ (²2 ) = 0, ϕ (0) = 0 ; par application du théorème de Rolle de nouveau, il existe ²3 ∈]0, ²2 [
telle que ϕ3 (²3 ) = 0. Le même procédé appliqué à ϕ3 donne :
x
ϕ3 ( x) = − ( f 3 ( x + γ) − f 3 (γ − x)) + 60 kx2
3
²
ϕ3 (²3 ) = 0 implique 33 ( f 3 (²3 + γ) − f 3 (γ − ²3 )) = 60 k²23 .
Le théorème des accroissements assure l’existence de η ∈]γ − ²3 , γ + ²3 [ tel que
On a donc finalement :
1 4
k= f (η)
90
avec cette valeur de k mise dans l’expression de la fonction auxiliaire et en utilisant que ϕ( h2 ) =
0 on en déduit :
Z β
h h5 4
f ( t) dt = F (β) − F (α) = ( f (β) + f (α) + 4 f (γ)) − f (η)
α 6 2880
a i+1 h ³a +a ´ h5 4
Z
i i +1
f ( t) dt = F (a i+1 ) − F (a i ) = ( f (a i ) + f (a i+1 ) + 4 f )− f (η i )
ai 6 2 2880
5.4. MÉTHODE DE SIMPSON : ACCÉLÉRATION DE LA CONVERGENCE (1710-1761) 69
b h nX
−1 ³a +a ´ h5 nX−1
Z
i i +1
f ( t) dt = ( f (a i ) + f (a i+1 ) + 4 f )− f 4 (η i )
a 6 i=0 2 2880 i=0
à !
b h nX −1 nX −1 ³ a + a h4
Z ´
i i +1
f ( t) dt = f ( a) + f ( b ) + 2 f (a i ) + 4 f − ( b − a) f 4 (θ )
a 6 i =1 i =0 2 2880
| {z } | {z }
Rn( f )
Sn( f )
Rb
Le reste R n ( f ) représente l’erreur de méthode lorsqu’on remplace a f ( t) dt par la somme
finie S n ( f ).
Propriétés 5.3
Rb
— R n ( f ) = a f ( t) dt − S n ( f ).
— la méthode est convergente, sa convergence est réglée par le terme en h4 .
— S n ( f ) = 13 (2Q n ( f ) + T n ( f )).
— Pour limiter le nombre d’évaluations de f , on peut se limiter au cas où n est une puis-
sance de 2. Alors dans ce cas |S 2n − S n | fournit une estimation de l’erreur ainsi qu’un
test d’arrêt des itérations.
Exemple 5.3
R2 0 00
Log(2) = 1 1t dt ' 0.6931471806, f ( x) = − x12 , f ( x) = 2
x3
, f 3 ( x) = 6
x4
, f 4 ( x) = 24
x5
. On remarque
donc que f 4 ( x) est majorée par 24.
(b−a)h4 M
n nombre de point Sn 2880 |S 2n − S n | erreur exacte
−3
1 3 0.69444443 8.310 − 1.210−3
2 5 0.69325393 2.210−4 1.210−3 1.110−4
4 9 0.69315450 3.310−5 1.110−4 6.310−6
8 17 0.69314760 2.010−6 6.910−6 4.210−7
70 CHAPITRE 5. INTÉGRATION NUMÉRIQUE
5.4.4 Conclusion
Le tableau suivant résume les trois méthodes d’intégration numérique étudiées dans ce
chapitre.
Méthode Expression de l’approximation L’erreur de l’approximation
nX
−1 ³ a + a ´
i i +1 h2 00
Quadrature Q n ( f ) = h f R n ( f ) = 24 ( b − a ) f (θ )
Ãi=0 2 !
nX −1 f ( b)
f (a) h2 00
Trapèze Tn( f ) = h 2 + f (a i ) + R n ( f ) = 12 ( b − a ) f (θ )
i =1 2
à !
nX −1 nX −1 ³ a + a ´
i i +1 h4
Simpson S n ( f ) = h6 f (a) + f ( b) + 2 f (a i ) + 4 f R n ( f ) = 2880 ( b − a) f 4 (θ )
i =1 i =0 2
[ Sixième Chapitre \
Résolution numérique d’équations
différentielles
Notons qu’une équation d’ordre strictement supérieur à 1 peut-être aussi écrite sous la
forme (6.2). Considérons par exemple le problème d’ordre 2 :
00 0
(
y ( t) = g( t, y( t), y ( t))
0 (6.3)
y( t 0 ) = y0 , y ( t 0 ) = y1
où y : [0, +∞[−→ R est la fonction inconnue, g : [0, +∞[×R × R −→ R, y0 et y1 sont des réels
donnés (position et vitesse initiales). Posant alors
0
u 1 ( t) = y( t), u 2 ( t) = y ( t),
71
72 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
à !
u 1 ( t)
on remplace (6.3) par un système équivalent ou l’inconnue est le vecteur U ( t) = soit
u 2 ( t)
à ! à !
dU u 2 ( t) y0
( t) = , U ( t0 ) =
dt g( t, u 1 ( t), u 2 ( t)) y1
à !
u2
ce qui est un système de la forme (6.2) avec n = 2 et f ( t, u 1 , u 2 ) = . La même
g( t, u 1 , u 2 )
remarque vaut pour les équations d’ordre p
(
y p ( t) = g( t, y( t), ..., y p−1 ( t))
0
y p−1 ( t 0 ), ..., y ( t 0 ), y( t 0 ) donnés
et les méthodes numériques que nous allons décrire pourront leur être appliquées.
→ Exemples linéaires
0
(
y = ay
, a∈R
y(0) = y0
La solution est bien sûr y( t) = y0 e at . Bien qu’élémentaire, cet exemple nous permettra
d’analyser quelques propriétés importantes des algorithmes étudiés plus loin. Plus généra-
lement, si a dépend de t, l’unique solution est donnée par
µZ t ¶
y( t) = y0 exp a( x) dx
0
0
(
y = Ay
(6.4)
y(0) = y0 ∈ Rn
où y : [0, +∞[−→ Rn et A est une matrice d’ordre n. Si A est diagonale, le système se dé-
compose en n équations scalaires indépendantes. On a alors
..
. 0
yi ( t) = y0i eλ i t si A =
λi
..
0 .
X tn
+∞
e tA = An.
n=0 n!
6.1. QUELQUES REMARQUES SUR (??) 73
0
(
y = y2
(6.5)
y(0) = y0
1
( 0
y = y3
(6.6)
y(0) = y0
L’équation (6.5) s’intègre explicitement sur un intervalle où y ne s’annule pas :
0
0
2 y d 1 1 1 y0
y = y ⇐⇒ 2 = 1 ⇐⇒ (− ) = 1 ⇐⇒ − = t ⇐⇒ y( t) = .
y dt y y0 y( t) 1 − t y0
1
Ainsi, pour y0 > 0, la solution explose pour t∗ = y0 : il n’y a donc pas existence globale pour
tout t > 0.
d 3 2 3 2 3 2
µ ¶
0
− 31
y y = 1 ⇐⇒ y 3 = 1 ⇐⇒ y 3 ( t) = y03 + t.
dt 2 2 2
En particulier, si y0 = 0, on obtient comme solution
¶3
2 2
µ
y( t) = t
3
Seulement, on vérifie que y( t) = 0 est aussi solution. Donc, il n’y a pas unicité des solutions
de (6.6). En fait il y en a une infinité puisque pour tout a > 0
( ¡
2
¢ 23
ya ( t) = 3 ( t − a) , si t ≥ a
0, si 0 ≤ t ≤ a
est aussi une solution.
Théorème 6.1 (Cauchy-Lipshitz) On suppose que la fonction f vérifie les conditions sui-
vantes :
• f est continue par rapport a ses deux variables.
• f ( t, Y ) est Lipschitzienne en Y uniformément par rapport a t, c’est-a-dire :
Remarque 6.1 Parfois la condition (6.8) est trop forte ; la fonction f est seulement localement
Lipschitzienne, c’est-à-dire
Autrement, si tout point de [a, b] admet un voisinage sur lequel f est lipschitzienne en la
deuxième variable, dans ce cas, seule l’existence locale de la solution de (6.8) est assurée :
Théorème 6.2 Si f est continue sur [a, b] × Rn et vérifie (6.9), alors il existe un voisinage V
de t 0 et une unique solution Y de (6.7) de classe C 1 sur V .
Remarque 6.2 Même si la fonction f est très régulière, la fonction de (6.7) peut ne pas être
définie sur [a, b] tout entier.
Remarque 6.3 Dans les paragraphes suivants, sauf indication contraire, nous nous limite-
rons au cas d’un problème différentiel (6.7) relatif à n = 1 pour lequel nous supposons assurées
l’existence et l’unicité de la solution sur [a, b].
6.2. MÉTHODE D’EULER 75
Nous allons commencer par décrire une méthode très simple mais fondamentale : nous
mettrons à profit sa simplicité pour en analyser son erreur de discrétisation.
( t i+1 − t i )2 00
0
y( t i+1 ) = y( t i ) + ( t i+1 − t i ) y ( t i ) +
y (c i)
2
Puisque y( t) satisfait l’équation différentielle on peut écrire :
h2 00
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + y (c i)
2
h2 00
La méthode d’Euler consiste à négliger pour chaque indice i le terme 2 y ( c i ). On obtient
ainsi une estimation de la solution sur les points de la subdivision :
(
yi+1 = yi + h f ( t i , yi ), pour i = 0, ..., n − 1
(6.11)
y(a) = y0
00
Théorème 6.3 On peut montrer que suivant certaines conditions ( f lipschitzienne et y bor-
née sur [a, b]) l’approximation ( y0 , y1 , ..., yn ) donnée par la méthode d’Euler converge vers la
solution exacte ( y( t 0 ), y( t 1 ), ..., y( t n )) lorsqu’on augmente le nombre des points de la subdivision
c’est-a-dire lorsque h tends vers 0.
Définition 6.1 Une méthode numérique fournissant des valeurs approchées ( y0 , y1 , ..., yn ) de
la solution exacte ( y( t 0 ), y( t 1 ), ..., y( t n )) est dite d’ordre p s’il existe une constante K telle que :
max | y( t i ) − yi | ≤ K h p .
i =0,...,n
On peut vérifier que la méthode d’Euler est d’ordre 1 donc c’est une méthode qui ne converge
pas rapidement. En général on utilise des méthodes d’ordre plus élevé comme les méthodes de
Runge-Kutta qui peuvent atteindre l’ordre 4.
Evaluation de l’erreur e i
∂f h2 00
e i+1 = e i + he i (t i , vi ) + y (ξ i ), avec v i ∈ ( yi , y( t i )) et ξ i ∈] t i , t i + h[. (6.12)
∂y 2
6.2. MÉTHODE D’EULER 77
Majoration de l’erreur e i
Supposons de plus qu’il existe des constantes strictement positives M1 et M2 telles que :
¯∂f
¯ ¯
¯ 00
∀ t ∈ [a, b], ¯ ( t, y( t))¯¯ ≤ M1 et | y ( t)| ≤ M2 .
¯
∂y
Avec ces conditions l’égalité (6.12) entraîne pour tout i ∈ {0, ..., n − 1} :
h2
| e i+1 | ≤ | e i |(1 + hM1 ) + M2 .
2
Lemme 6.1 Considérons la suite des erreurs ( e i ) définie par e 0 = 0 et la relation (6.12). Il
vient la majoration d’erreur suivante
hM2 (t i − t0 )M1
|e i| ≤ (e − 1).
2 M1
Exemple 6.1
0
(
y = π cos(π t) y( t),
y(0) = 1
La solution exacte est : y = e sin(π t) .
0
(
y ( t) = f ( t, y( t)), ∀ t ∈ [a, b]
(6.13)
y(a) = y0 donné
où y est une fonctions dérivable sur [a, b] à valeurs dans R et f est une fonction de [a, b] × R
dans R.
Soit n ∈ N∗ et h le réel positif défini par : h = b−n a .
Notons, pour tout entier naturel i ∈ {0, ..., n} , t i le réel défini pas : t i = a + ih.
Nous supposons vérifiées les conditions de régularité qui autorisent les calculs développés.
Les méthodes de Runge-Kutta d’ordre 2 reposent sur la recherche d’une suite ( yi )0≤ i≤n de
valeurs approchées des y( t i ), définie par
(
yi+1 = yi + c 1 k 1 + c 2 k 2 , ∀ i ∈ {0, ..., n − 1}
(6.14)
y(a) = y0 donné
k 1 = h f ( t i , yi )
k 2 = h f ( t i + α h, yi + β k 1 )
Les réels c 1 , c 2 , α, β sont des constantes à déterminer pour que l’égalité yi+1 = yi + c 1 k 1 + c 2 k 2
copie au mieux le développement de Taylor qui fournit y( t i+1 ) en fonction de y( t i ).
6.3. MÉTHODE DE RUNGE-KUTTA 79
h2 ∂ f ∂ f
µ ¶
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + + f ( t i , y( t i )) + O ( h3 ). (6.15)
2 ∂t ∂ y
Par ailleurs, en utilisant un développement de Taylor pour la fonction f , nous obtenons :
k2 ∂f ∂f
= f ( t i + α h, yi + β k 1 ) = f ( t i , yi ) + α h ( t i , yi ) + β k 1 ( t i , yi ) + O ( h2 ).
h ∂t ∂y
∂f ∂f
µ ¶
2
yi+1 = yi + h( c 1 + c 2 ) f ( t i , yi ) + h c2 α + c2 β f ( t i , yi ) + O ( h3 ).
∂t ∂y
c1 + c2 = 1
.
c 2 α = c 2 β = 12
Il existe une infinité de solutions pour ( c 1 , c 2 , α, β) donc une infinité de méthodes de Runge-
Kutta d’ordre 2. Nous privilégions ici celles obtenue pour c 1 = c 2 et obtenons finalement
1
c1 = c2 = et α = β = 1.
2
Remarque 6.4 Historiquement, la notion d’ordre de convergence a été mise en évidence par
Runge : il définit l’ordre de convergence d’une méthode comme étant le nombre de termes qui
coïncident dans le développement de Taylor de la vrai valeur y( t i ) et de la valeur approchée
yi . Ainsi dans la méthode de Runge-Kutta 2 on a un ordre de convergence égal à 3.
b) Bilan
• Étant donné n ∈ N∗ et h = b−n a , pour résoudre sur [a, b] le problème (6.13) par la méthode
de Runge-Kutta d’ordre 2, on construit la suite ( yi )0≤ i≤n des valeurs approchées de la
solution y aux points t i = a + ih grâce à la relation de récurrence
1
yi+1 = yi + ( k 1 + k 2 ), ∀ i ∈ {0, ..., n − 1} (6.16)
2
y(a) = y0 (6.17)
(
k 1 = h f ( t i , yi ),
avec = (6.18)
k 2 = h f ( t i + h, yi + k 1 ).
80 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
• Etude de l’erreur
Remarquons que :
1 1 1 1
· ¸
k1 + k2 = h f ( t i , yi ) + f ( t i + h, yi + h f ( t i , yi )) .
2 2 2 2
h2 1
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + f ( t i , y( t i )) + O ( h3 ).
2
L’erreur de consistance ² i définie par
h2 1
² i = h f ( t i , y( t i )) + f ( t i , y( t i )) − hΦ( t i , y( t i ), h) +O ( h3 ).
| 2 {z }
H
1
yi+1 = yi + ( k 1 + 2 k 2 + 2 k 3 + k 4 ), ∀ i ∈ {0, ..., n − 1} (6.19)
6
y(a) = y0 (6.20)
k 1 = h f ( t i , yi ),
k = h f ( t + 1 h, y + 1 k ),
2 i 2 i 2 1
avec = 1 1 (6.21)
k 3 = h f ( t i + 2 h, yi + 2 k 2 ),
k 4 = h f ( t i + h, yi + k 3 ).