Initiatio A Lanalyse Numerique
Initiatio A Lanalyse Numerique
Robert Rolland
C.N.R.S. Institut de Mathématiques de Luminy, case 930, F13288
Marseille cedex 9, France.
E-mail address: [email protected]
Table des matières
Préface vii
Chapitre 1. Approximations de solutions d’équations 1
1.1. Introduction 1
Chapitre 2. Les outils classiques d’approximation 7
2.1. Introduction 7
2.2. La formule de Taylor 9
2.3. La formule d’Euler-Maclaurin 9
Chapitre 3. Interpolation des fonctions 15
3.1. Introduction 15
3.2. Interpolation de Lagrange 15
3.3. Le problème général de l’interpolation 25
3.4. Quelques exemples importants 25
Chapitre 4. Calcul numérique des intégrales définies 33
4.1. Introduction 33
4.2. Mise en œuvre de méthodes interpolatoires 33
4.3. Présentation générale des quadratures élémentaires - Ordre d’une
méthode 45
4.4. Accélération de convergence - Méthode de Romberg 45
Chapitre 5. Analyse numérique des équations différentielles 49
5.1. Introduction 49
5.2. Généralités sur les méthodes 50
Annexe A. Représentation des nombres 57
A.1. Introduction 57
A.2. Les nombres réels 57
A.3. Les entiers 59
v
Préface
Cet ouvrage est une initiation à l’analyse numérique. Les notions qui y sont
exposées et développées concernent les objets et méthodes de base de ce vaste
domaine des mathématiques. Le niveau est celui des deux ou trois premières années
d’Université. Nous n’abordons pas les méthodes techniquement très élaborées. Nous
n’abordons pas non plus l’immense domaine des équations aux dérivées partielles
et équations fonctionnelles générales faisant intervenir les résultats généraux sur les
espaces fonctionnels.
Nous essayons de montrer comment l’algèbre linéaire d’une part et quelques
outils classiques de l’analyse d’autre part, permettent de poser clairement les
problèmes d’approximation, d’interpolation, de calculs d’intégrales et de solu-
tions d’équations différentielles. Nous donnons les méthodes numériques classiques
concernant ces questions.
Robert Rolland
vii
CHAPITRE 1
1.1. Introduction
Nous voulons résoudre numériquement l’équation :
(1.1) f (x) = 0
où f est une fonction suffisamment régulière. Nous supposerons f au moins
continue, parfois de classe C 1 ou plus. Il existe de nombreuses méthodes sophis-
tiquées pour attaquer ce problème. Nous donnons ici deux idées importantes à
la base de la plupart de ces méthodes : d’une part la dichotomie, d’autre part
l’approximation de Newton. Ces deux idées seront illustrées par deux méthodes
correspondantes.
1.1.1. Dichotomie. Nous supposons que nous avons isolé le zéro c que nous
voulons calculer, c’est-à-dire que nous avons trouvé un intervalle [a,b] tel que :
c ∈]a, b[,
∀x ∈ [a, b] \ {c}, f (x) 6= 0
Nous supposerons en outre que f change de signe en c, donc que :
f (a)f (b) < 0.
La méthode de calcul de c par dichotomie est très simple : on coupe l’intervalle sur
lequel on travaille en deux et on teste sur lequel des deux sous-intervalles obtenus
se trouve c. On réitère le procédé à partir du sous-intervalle déterminé. Après n
itérations on localise le nombre c sur un intervalle de longueur (b − a)/2n . Voici les
détails :
On fixe ǫ > 0,
A := a ;
B := b ;
E := ǫ ;
tant que B − A > E faire
C := (A + B)/2 ;
si f (C) = 0 alors
retourner C ;
sortir ;
finsi ;
si f (A)f (C) < 0 alors
B := C ;
sinon
A := C ;
1
2 1. APPROXIMATIONS DE SOLUTIONS D’ÉQUATIONS
finsi ;
fintq ;
retourner C ;
x0
x
a x0 b
alors la fonction f (x) admet un point fixe x0 et un seul sur l’intervalle [a, b]. La
suite (ui )i définie précédemment converge vers le point fixe x0 .
Démonstration. D’après le théorème des accroissements finis :
|u2 − u1 | = |f (u1 ) − f (u0 )| ≤ k|u1 − u0 |,
|u3 − u2 | = |f (u2 ) − f (u1 )| ≤ k|u2 − u1 | ≤ k 2 |u1 − u0 |,
et en itérant ce calcul :
|un − un−1 | ≤ k n−1 |u1 − u0 |.
1.1. INTRODUCTION 3
On en déduit que si n ≥ p :
k p (1 − k n−p )
|un − up | ≤ |u1 − u0 |.
1−k
Donc la suite (un )n est une suite de Cauchy, elle converge vers un point x0 . Ce
point est un point fixe, en effet, un+1 = f (un ), comme la suite de terme général un
converge vers x0 et que la fonction f est continue, on conclut que f (un ) converge
vers f (x0 ) et donc que x0 = f (x0 ). On peut voir que le point fixe est unique en
constatant que si s est un point fixe alors :
|un − s| = |f (un−1 ) − f (s)| ≤ k|un−1 − s|,
et en itérant ce calcul :
|un − s| ≤ k n |u0 − s|.
Ceci prouve en effet que s est la limite de la suite de terme général un , et donc que
s = x0 .
Exemple 1.2 (Construction d’une table trigonométrique). Les propriétés géo-
métriques des lignes trigonométriques permettent de calculer facilement sin(π/6),
sin(π/4), sin(π/3), sin(π/5) ainsi évidemment que les cosinus des mêmes angles.
En utilisant la formule qui donne le sinus d’une différence on trouve sin(π/30),
en utilisant la formule qui donne le sinus de l’arc moitié on obtient sin(π/60). On
a donc une table donnant les sinus (et les cosinus) de 3◦ en 3◦ . Il faudrait donc
calculer sin(π/180) pour avoir une table trigonométrique donnant les lignes de tous
les angles en degré entier. On utilise alors la formule :
sin(3x) = 3 sin(x) − 4 sin3 (x).
On cherche alors à résoudre cette équation connaissant la valeur a = sin(3x).
L’équation se ramène à :
1
sin(x) = (4 sin3 (x) + a).
3
Donc si on pose :
1
f (u) = (4u3 + a),
3
on est amené à chercher un point fixe de f . Ici u est proche de 0 (sin(π/180)), donc la
dérivée est dans un voisinage du point fixe bien plus petite que 1 en valeur absolue,
et le théorème précédent s’applique. On peut prendre par exemple u0 = a/3.
1.1.3. Méthode de Newton. Il s’agit ici de remplacer la fonction f dont on
cherche un zéro par sa tangente en un point voisin du zéro cherché (cf. figure 2).
Ainsi à partir d’un point u0 proche de la solution x0 de l’équation f (x) = 0
(qu’on supposera unique, tout au moins dans un intervalle adapté), on construit
la tangente à la courbe y = f (x) au point (u0 , f (u0 ). Cette tangente coupe l’axe
des abscisses au point u1 . On itère cette construction à partir de la valeur u1 pour
obtenir le point u2 . Le calcul de l’équation de la tangente au point d’abscisse x et
de son intersection avec l’axe des x montre que si on introduit :
f (x)
F (x) = x − ,
f ′ (x)
alors on peut écrire :
u1 = F (u0 ), u2 = F (u1 ), · · · , un = F (un−1 ), · · ·
4 1. APPROXIMATIONS DE SOLUTIONS D’ÉQUATIONS
x
u1 u0
1 2 √ 1 √ 2
un + − 2 ≤ un − 2 ,
2 un 2
c’est-à-dire :
√ 1 √ 2
|un+1 − 2| ≤ un − 2 .
2
La convergence est donc quadratique.
1.1.3.2. Exemple 2. Considérons la fonction :
1
f (x) = a − ,
x
où a > 0, que nous étudierons pour x > 0. En appliquant la méthode de Newton
à l’équation f (x) = 0, nous obtiendrons une façon de calculer 1/a. Introduisons la
fonction :
F (x) = x(2 − ax).
Soit I l’intervalle ouvert ]0, 2/a[. Si u0 ∈ I alors 0 < F (u0 ) ≤ 1/a. Posons ensuite
u1 = F (u0 ) et par récurrence un = F (un−1 ). La suite (un )n≥1 est croissante,
majorée par 1/a, donc converge vers le point fixe 1/a de F . En renumérotant la
1
suite on peut supposer par exemple que |u1 − 1/a| ≤ 10a . Nous pouvons écrire :
|aun+1 − 1| = |2aun − a2 u2n − 1| = (aun − 1)2 .
Donc : 2n
n 1
|aun+1 − 1| = (au1 − 1)2 ≤ ,
10
ou encore : 2n
1 1 1
un+1 − ≤ .
a a 10
Là encore nous avons obtenu une convergence quadratique.
CHAPITRE 2
2.1. Introduction
Lorsqu’on souhaite approcher une fonction, ses valeurs en des points particu-
liers, des sommes de séries, ou des valeurs d’intégrales etc. on est amené à utiliser
les outils de l’analyse et en particulier le calcul intégral. Nous verrons par la suite
diverses méthodes d’approximation d’objets divers de l’analyse, en particulier l’in-
terpolation en des points bien choisis par des fonctions élémentaires tout aussi bien
choisies. Ici nous commençons par un outil très simple mais particulièrement effi-
cace : l’intégration par partie. Si l’on veut bien laisser de côté le volet anecdotique
du calcul exact de certaines primitives, il faut comprendre l’intégration par partie
comme l’écriture d’une expression sous forme d’une partie principale (la partie tout
intégrée) et d’un reste (la deuxième intégrale)
Z x Z x
f ′ (t)g(t)dt = [f (t)g(t)]xa − f (t)g ′ (t)dt.
a a
puisse être considérée comme un reste, il faut qu’elle soit négligeable devant la
partie tout intégrée
[f (t)g(t)]xa .
Cette remarque nous indique comment choisir, quand on fait une intégration par
partie d’un produit de deux fonctions, celle qu’on intègre et celle qu’on dérive : celle
qu’on dérive est en général celle qui varie peu, de manière à obtenir une dérivée
petite. Attention ceci ne s’applique pas pour l’utilisation de l’intégration par partie
pour des calculs de primitives, ni pour l’établissement de formules théoriques où
l’on veut obtenir une forme particulière pour le terme tout intégré.
Dans la suite de ce chapitre, nous donnons deux applications très impor-
tantes de l’intégration par partie : la formule de Taylor et la formule d’Euler-
Maclaurin. Ces deux formules constituent des outils de base des méthodes d’ap-
proximation. Nous exprimerons toutes ces formules asymptotiques en utilisant des
restes intégraux qui donnent des formules exactes, et en évitant au maximum les
formules faisant intervenir des restes écrits avec des points dont on ne connait pas la
valeur mais juste une localisation. En général, dans un vrai problème on n’a jamais
vraiment besoin de ces formules et les formules avec reste intégral ainsi que l’outil
”intégration par partie” permettent d’obtenir les évaluations dont on a besoin.
et cette fois-ci en itérant le calcul on tombe sur une formule stable qui nous permet
d’écrire tout de suite
e3
Ip ∼ .
p
Si on veut pousser le développement plus loin on obtient :
3 1 4 1
Ip = e − +o .
p p2 p2
Bien sûr la formule de récurrence trouvée est la même que dans le premier
calcul, écrite différemment. Mais justement ceci nous permet de voir que si on a
une vision ”à l’envers” de l’intégration par partie, alors la suite des calculs qu’on
est amené naturellement à faire conduit à de mauvaises situations.
condition Z 1
P3 (t)dt = 0
0
alors P3 (t) = t3 /6 − t2 /4 + t/12. On obtient après une nouvelle intégration par
partie :
Z 1
W = 1/2 (f (1) − f (0)) − 1/12 (f1′ (t) − f ′ (0)) − P3 (t)f (3) (t)dt.
0
Arrêtons là le développement et écrivons en conclusion
Z 1 Z 1
f (t)dt = 1/2 (f (0) + f (1)) − 1/12 (f ′ (1) − f ′ (0)) − P3 (t)f (3) (t)dt.
0 0
1 x2 x 1
Q0 = 1 Q1 = x − − +
Q2 =
2 2 2 12
x3 x2 x
Q3 = − + .
6 4 12
Proposition 2.3. Pour n ≥ 2, Qn (1) = Qn (0).
R1
Preuve. En effet on doit avoir 0 Qn−1 (u)du = 0. Mais comme Qn est une primitive
R1
de Qn−1 on a 0 Qn−1 (u)du = Qn (1) − Qn (0), d’où le résultat.
xn−1
Proposition 2.4. Si n ≥ 1, Qn (x + 1) − Qn (x) = (n−1)! .
Preuve. On constate que l’égalité est vraie pour n = 1. Supposons la vraie pour
n, par primitivation on obtient alors l’égalité à l’ordre n + 1 à une constante près.
Mais la proposition précédente permet de conclure à la nullité de cette constante
d’intégration.
Pp
Cette égalité permet de calculer des sommes du type k=1 k n . Par exemple si
n = 2 on obtient
p
1X 2
Q3 (p + 1) − Q3 (1) = k ,
2
k=1
ce qui donne
p
X p(p + 1)(2p + 1)
k2 = .
6
k=1
On notera
Bk = (−1)k+1 (2k)!Q2k (0).
Ainsi les Bk (nombres de Bernoulli) sont des rationnels positifs. Les premiers
nombres de Bernoulli sont
B1 = 1/6 B2 = 1/30 B3 = 1/42 B4 = 1/30.
2.3.3. Formule d’Euler-Maclaurin. Soit f une fonction réelle de classe C ∞
sur [0, 1].
Z 1
f (1) − f (0) = f ′ (t)dt,
0
Z 1
′
f (1) − f (0) = [Q1 (t)f (t)]10 − Q1 (t)f (2) (t)dt,
0
Z 1
′ ′
f (1) − f (0) = 1/2(f (1) + f (0)) − Q1 (t)f (2) (t)dt,
0
et par récurrence on montre que :
Théorème 2.8. Soit f une fonction réelle de classe C ∞ sur [0, 1]. Alors pour
tout n ≥ 1 :
n
1 X (−1)k Bk (2k)
f (1) − f (0) = f ′ (1) + f ′ (0) + f (1) − f (2k) (0)
2 (2k)!
k=1
Z 1
− Q2n+1 (x)f (2n+2) (x)dx.
0
Théorème 2.10. Soit f une fonction réelle de classe C ∞ sur [a, b]. Soit a =
a0 < a1 < · · · < aq1 < aq = b le partage de [a, b] en q intervalles de même longueur
h = (b − a)/q. Alors pour tout n ≥ 1 :
q−1
X
h ′
f (b) − f (a) = f (aq ) − f (a0 ) = (f (b) + f ′ (a)) + h f ′ (as )
2 s=1
n
X (−1)k Bk h2k
+ f (2k) (b) − f (2k) (a)
(2k)!
k=1
Z q−1
!
h v X
−h2n−1 Q2n+1 f (2n+2) (as + v) dv.
0 h s=0
1 1 1
Rp − Rr = + + ··· + 2,
(p + 1)2 (p + 2)2 r
1 1 1 1 1 1 1 1
Rp − Rr = − − 2
+ + − + Tp,r ,
p r+1 2 p (r + 1)2 6 p 3 (r + 1)3
et en faisant tendre r vers +∞ :
1 1 1
Rp = − + 3 + Tp ,
p 2p2 6p
où Tp se calcule facilement en utilisant le théorème 2.10. Un calcul simple (compa-
raison d’une somme de série avec une intégrale) permet de voir que :
1
Tp = O ,
p4
14 2. LES OUTILS CLASSIQUES D’APPROXIMATION
3.1. Introduction
L’interpolation est un sujet très vaste lié aux questions d’approximation
des fonctions. Très grossièrement il s’agit de trouver dans une classe fixée de fonc-
tions (par exemple les fonctions polynomiales) un élément réalisant un certain
nombre de contraintes. Souvent ces contraintes sont liées à la donnée d’une fonc-
tion f qu’on cherche à approcher par un procédé d’interpolation (par exemple la
fonction cherchée doit prendre la même valeur que f en des points donnés). On se
trouve alors confronté à plusieurs problèmes de natures différentes. Tout d’abord
un problème algébrique, celui de trouver le ou les éléments de la classe choisie
qui réalise les contraintes. Ensuite un problème d’approximation qui consiste lors-
qu’on est parti d’une fonction f à mesurer la qualité de l’approximation théorique
obtenue. Enfin un problème algorithmique, celui de déterminer un algorithme per-
formant qui permette de calculer facilement et de manière aussi exacte que possible
la ou les solutions.
Dans un premier temps nous partirons d’un exemple important : l’interpolation
de Lagrange.
Théorème 3.1. Pour tout élément (y0 , y1 , ..., yn ) de Cn+1 il existe un polynôme
P (X) de degré ≤ n et un seul (polynôme d’interpolation de Lagrange) tel que
15
16 3. INTERPOLATION DES FONCTIONS
N (X)
Lk (X) =
(X − xk )N ′ (xk )
où N (X) = (X − x0 )(X − x1 )...(X − xn ).
Ecriture sous la forme de Newton. L’inconvénient des polynômes Lk (X) est que
chacun d’eux fait intervenir tous les points d’interpolation et donc si on rajoute un
nouveau point tout calcul fait à partir des polynômes Lk (X) doit être entièrement
refait.
3.2. Interpolation DE LAGRANGE 17
Prenons alors les polynômes Nk (X) = (X −x0 )(X −x1 )...(X −xk−1 ) où 0 ≤ k ≤
n (avec N0 = 1). Ces polynômes forment aussi une base de Cn [X] et le polynôme
d’interpolation se décompose sur cette base sous la forme de Newton
n
X
P (X) = bk Nk (X).
k=0
Le problème est alors de calculer les coefficients bk . Pour ce faire définissons les
différences divisées successives des valeurs yi par rapport aux points xi
[y0 ] = y0
[y1 , ..., yk ] − [y0 , ..., yk−1 ]
[y0 , y1 , ..., yk ] =
xk − x0
Théorème 3.2. Les coefficients de la décomposition du polynôme d’ interpo-
lation de Lagrange de degré n dans la base de Newton sont donnés par
bk = [y0 , y1 , ..., yk ]
où
0 ≤ k ≤ n.
Preuve. La formule à démontrer est clairement vraie si on a n = 0. Supposons
la formule vraie pour les polynômes de degré n−1 interpolant en n points. Soit alors
Pn−1 (X) le polynôme d’interpolation de Lagrange associé aux points x0 , x1 , ..., xn−1
et aux valeurs y0 , y1 , ..., yn−1 , Qn−1 (X) le polynôme d’interpolation de Lagrange
associé aux points x1 , x2 , ..., xn et aux valeurs y1 , y2 , ..., yn et
Xn
P (X) = bk Nk (X)
k=0
le polynôme d’interpolation de Lagrange associé aux points x0 , x1 , ..., xn et aux
valeurs y0 , y1 , ..., yn . Il est facile de voir que
n−1
X
Pn−1 (X) = bk Nk (X)
k=0
si bien qu’il reste simplement en vertu de l’hypothèse de récurrence à établir la
formule pour le coefficient bn .
Pour cela définissons
(X − x0 )Qn−1 (X) − (X − xn )Pn−1 (X)
P̃n (X) = .
xn − x0
On vérifie que
P̃n (xi ) = yi
pour 0 ≤ i ≤ n. Donc
P̃n (X) = P (X).
En égalant les coefficients du terme de degré n dans l’expression des polynômes Pn
et P̃n on obtient la relation cherchée.
En comparant l’expression de Newton du polynôme Pk d’interpolation en k + 1
points avec celle de Lagrange on trouve en regardant les coefficients des termes de
degré k
18 3. INTERPOLATION DES FONCTIONS
k
X yj
[y0 , y1 , ..., yk ] = ′ .
j=0
Nk+1 (xj )
Il est clair dans cette représentation que le rajout d’un nouveau point ne fait
que rajouter un nouveau terme au polynôme, les autres termes restant identiques.
f (x) = (x − a)g(x).
De plus d’après le théorème de dérivation sous le signe intégrale on voit que la
fonction g(x) est de classe C p et que pour tout 0 ≤ q ≤ p
Z 1
(q)
g (x) = uq f (q+1) (a + (x − a)u)du
0
et par suite
1
|g (q) (x)| ≤ supt∈[a,x]|f (q+1) (t)|.
q+1
Majoration de l’erreur. Soit f une fonction de classe C n+1 , P le polynôme d’in-
terpolation de Lagrange qui prend les mêmes valeurs que f aux point x0 , x1 , ..., xn
et I un intervalle compact contenant x, x0 , x1 , ..., xn . Appliquons alors le théorème
précédent à f (x) − P (x). On obtient
1
|f (x) − P (x)| ≤ |(x − x0 )(x − x1 )...(x − xn )|supt∈I |f (n+1) (t)|
(n + 1)!
3.2.3. L’aspect algorithmique.
3.2. Interpolation DE LAGRANGE 19
Le calcul des différences divisées. L’algorithme des différences divisées est très
simple. Il utilise l’écriture du polynôme d’interpolation sous la forme de Newton. Les
coefficients sont alors calculés par la formule de récurrence établie précédemment
[y0 ] = y0
[y1 , ..., yk ] − [y0 , ..., yk−1 ]
[y0 , y1 , ..., yk ] = .
xk − x0
si bien que le calcul se fait conformément à la figure 1.
Le nombre d’opérations à effectuer est en O(n2 ).
[y0 ]
❍
❍❍
❍❍
❥
❍
[y0 , y1 ]
❍
❍❍
✯
✟ ❍❍
✟✟ ❥
❍
✟✟
[y1 ] ✟ [y0 , y1 , y2 ]
❍❍
❍❍ ❍
❍❍
❍❍ ✟✟
✯ ❍❍
❥ ✟ ❥
✟✟
[y1 , y2 ] ✟ [y0 , y1 , y2 , y3 ]
❍❍
❍❍ ✯
✟
✟
✯ ❍❍
✟✟ ❥ ✟✟
✟✟ ✟✟
[y2 ] ✟ [y1 , y2 , y3 ]
❍❍
❍❍
❍❍
❥ ✟✟
✯
✟✟
✟
[y2 , y3 ] ✟
✟✟
✯
✟✟
[y3 ] ✟✟
Nous allons dans la suite mettre en place une méthode de résolution qui calcule
les coefficients des polynômes Pj , donc qui calcule l’inverse de la matrice B.Pour
calculer les coefficients de Pj on sera amené à calculer les coefficients de
N
Y
Nj (x) = (x − xn )
n=1
n6=j
On remarque que
b 1
au = an−u .
b
n
A un coefficient près le même algorithme permettra de calculer la transformée de
Fourier et son inverse.
Notons
Pba (X) = ba0 + b an−1 X n−1
a1 X + ... + b
On voit alors que
2iπu
au = Pba (e n ).
Cette dernière remarque met en évidence un aspect très important de la transformée
de Fourier discrète : l’aspect interpolation . En effet il est facile de trouver grâce à ce
que nous avons vu le polynôme d’interpolation de Lagrange qui prend les valeurs au
2iπu
aux points xu = e n ; C’est le polynôme Pba (X) dont les coefficients sont donnés
par la transformée de Fourier discrète de la suite a = (a0 , a1 , ..., an−1 ) des valeurs
prises aux points d’interpolation .
Le calcul explicite : transformée de Fourier rapide. Il existe divers façons
proches les une des autres de calculer une transformée de Fourier discrète. Toutes
ces variantes sont des algorithmes de transformée de Fourier rapides (FFT). Nous
nous placerons ici dans le cas où le nombre d’éléments de la suite à transformer est
n = 2m . Pour tout r > 0 et tout 0 ≤ k ≤ 2r − 1 posons
2ikπ
W2kr = e− 2r .
Remarquons que
r
W2kr = (W2kr+1 )2 = (W2k+2
r+1 )
2
r
W2kr+1 = −W2k+2
r+1
par exemple
(W83 )2 = (W87 )2 = W43
W83 = −W87 .
On rappelle que si
a = (a0 , a1 , ..., a2m −1 )
et si
1 2m −1
Pa (X) = a 0 + a 1 X + ... + a 2m −1 X
2m
alors
au = Pa (W2um ).
b
3.2. Interpolation DE LAGRANGE 23
notons
r−1
P0 (X) = p0 + p2 X + ... + p2r −2 X 2 −1
et
r−1
P1 (X) = p1 + p3 X + ... + p2r −1 X 2 −1
alors
P (X) = P0 (X 2 ) + XP1 (X 2 )
ce qui donne si 0 ≤ k ≤ 2r−1 − 1
P (W2kr ) = P0 (W2kr−1 ) + W2kr P1 (W2kr−1 )
et
r−1
P (W2k+2
r ) = P0 (W2kr−1 ) − W2kr P1 (W2kr−1 ).
Ces dernières formules vont nous donner un algorithme pour calculer les valeurs
de la transformée de Fourier.
Remarquons tout d’abord que si on a tabulé les valeurs de W2km alors on dispose
aussi des valeurs de W2kr pour tout r ≤ m.
1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
M8 =
3
1
0 0 0 −1 0 0 0
0 1 0 0 0 −1 0 0
0 0 1 0 0 0 −1 0
0 0 0 1 0 0 0 −1
S1 , S2 , S3 les matrices diagonales définies par
(x − x1 )2 (3x0 − x1 − 2x)
H0,x0 (x) =
(x0 − x1 )3
(x − x0 )2 (3x1 − x0 − 2x)
H0,x1 (x) =
(x1 − x0 )3
(x − x1 )2 (x − x0 )
H1,x0 (x) =
(x0 − x1 )2
(x − x0 )2 (x − x1 )
H1,x1 (x) = .
(x0 − x1 )2
Il ressort de toutes ces considérations que le problème a une solution unique
(polynôme d’interpolation de Hermite) donnée par
P (x) = y0 H0,x0 (x) + y1 H0,x1 (x) + y0′ H1,x0 (x) + y1′ H1,x1 (x).
Si nous sommes partis d’une fonction f de classe C 4 sur un intervalle com-
pact I contenant les points x0 , x1 , et si nous appelons P le polynôme d’interpola-
tion de Hermite associé aux points x0 , x1 et aux valeurs f (x0 ), f (x1 ), f ′ (x0 ), f ′ (x1 ),
alors comme dans l’exemple de l’interpolation de Lagrange, l’application répétée
du théorème de division des fonctions différentiables nous donne l’approximation
1
|f (x) − P (x)| ≤ (x − x0 )2 (x − x1 )2 sup |f (4) (t)|.
4! t∈I
3.4. QUELQUES EXEMPLES IMPORTANTS 27
Nous allons exploiter maintenant les conditions sur la dérivée première. Pour 2 ≤
j ≤ n − 1 on a
hj+1 hj+1 yj+1 − yj
f ′ (x+
j ) = −Mj − Mj+1 +
3 6 hj+1
hj hj yj − yj−1
f ′ (x−
j ) = Mj−1 + Mj +
6 3 hj
si bien que
hj hj + hj+1 hj+1 yj+1 − yj yj − yj−1
Mj−1 + Mj + Mj+1 = − .
6 3 6 hj+1 hj
On dispose donc de n − 2 équations linéaires pour déterminer les n inconnues
M1 , M2 , · · · , Mn . Il convient donc si on espère avoir une solution unique de donner
deux conditions supplémentaires. Pour la suite du calcul nous imposerons donc les
valeurs de la dérivée de f en x1 et en xn , c’est-à-dire
f ′ (x1 ) = y1′
f ′ (xn ) = yn′ .
On a alors !
6 y2 − y1
2M1 + M2 = − y1′
h2 h2
et !
6 ′ yn − yn−1
Mn−1 + 2Mn = y − .
hn n hn
Si on pose
λ1 = 1
λ
n = 0
hj+1
λj = hj +hj+1 2≤j ≤n−1
µj = 1 − λj 1≤j≤n
et !
y2 −y1
b1 = 6
− y1′
h2 h2
!
6 yn −yn−1
bn = hn yn′ − hn
!
6 yj+1 −yj yj −yj−1
bj
= hj +hj+1 hj+1 − hj 2≤j ≤n−1
et donc si la dérivée de g(x) est petite on peut approcher cette énergie de flexion
par
Z b 2
g ′′ (t) dt.
a
Nous allons voir que les fonctions splines cubiques minimisent cette dernière
expression. Sur C 2 [a, b] on définit un semi-produit scalaire par
Z b
< f, g >= f ′′ (t)g ′′ (t)dt
a
qui donne la semi-norme
Z !1/2
b
|f | = |f ′′ (t)|2 dt .
a
4.1. Introduction
Nous voulons calculer numériquement les intégrales définies
Z b
f (x)dx
a
où f est une fonction suffisamment régulière pour assurer l’existence des dérivées
et des bornes supérieures dont nous aurons besoin.
Les méthodes que nous décrivons dans un premier temps s’appuient sur la
démarche suivante :
– On découpe l’intervalle d’intégration en N morceaux de même longueur
a = x0 < x1 < · · · < xN = b
b−a
où xi+1 − xi = N .
– Sur chaque morceau on calcule la valeur approchée de l’intégrale
Z xi+1
f (x)dx
xi
en remplaçant sur l’intervalle [xi , xi+1 ] la fonction f par une fonction po-
lynômiale qui interpole f .
Les diverses méthodes qui entrent dans ce cadre diffèrent par le degré des po-
lynômes d’interpolation utilisés et par le choix des points des segments [xi , xi+1 ] en
lesquels on interpole f . En particulier pour ce dernier point, nous verrons comment
choisir au mieux les points d’interpolation. Il faut éviter de confondre les points
xi du partage en N morceaux du segment initial, avec les points des partages des
intervalles [xi , xi+1 ], que nous serons amenés à introduire pour appliquer sur ces
intervalles des méthodes interpolatoires.
Comme nous le verrons ces méthodes peuvent être éventuellement complétées
par une méthode d’accélération de convergence. Enfin nous donnerons un abord
purement analytique d’une classe de formules de calcul approchée d’intégrales.
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
00000000001
1111111111
−1
on obtient Z Z
1 1
(1)
f (u)du − 2f (−1) ≤ m (f ) (u + 1)du,
−1 −1
ou encore
|e| ≤ 2m(1) (f ).
Un calcul analogue sur l’intervalle [xi , xi+1 ] donne
Z xi+1
f (t)dt = (xi+1 − xi )f (xi ) + ei ,
xi
avec
(xi+1 − xi )2 (1)
|ei | ≤ mi (f ).
2
Enfin sur l’intervalle [a, b] nous obtenons la formule globale
Z b
(b − a)
f (u)du = [f (x0 ) + · · · + f (xN −1 )] + E,
a N
avec
(b − a)2 (1)
|E| ≤ M (f ).
N
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
111111111111111
000000000000000
00000000001
1111111111
−1
Ainsi Z Z
1 1
f (t)dt = f (0)dt + e = 2f (0) + e
−1 −1
En écrivant Z u
f (u) = f (0) + f ′ (t)dt,
0
36 4. CALCUL NUMÉRIQUE DES INTÉGRALES DÉFINIES
on obtient
Z 1 Z 1 Z u
′
f (u)du = 2f (0) + f (t)dt du.
−1 −1 0
Donc
Z 1 Z u Z 1 Z u
′ (2)
f (t)dt du = − (t − u)f (t)dt du.
−1 0 −1 0
On en conclut que
Z 1
|e| = f (u)du − 2f (0) ≤ 1/3m(2) (f ).
−1
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
00000000001
1111111111
−1
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
00000000001
1111111111
−1
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
−1 −
√
3
√
3
1
3 3
Cette formule appliquée aux polynômes Pα et Pβ donne les valeurs explicites des
constantes λα et λβ , ce qui permet d’écrire
2β 2α
I= δα + δβ .
β−α α−β
Ceci veut dire que pour tout polynôme P ∈ R1 [X] on a
Z 1
2β 2α
P (u)du = P (α) + P (β).
−1 β − α α −β
Pour une fonction f on va donc avec cette méthode écrire
Z 1
2β 2α
f (u)du = f (α) + f (β) + e,
−1 β−α α−β
et l’erreur e est nulle pour les polynômes de degré ≤ 1. Peut-on choisir les points α
et β pour que la formule reste exacte (e = 0) pour un degré supérieur ? La réponse
est donnée par :
Proposition 4.1. Il existe un couple et un seul de points α et β tels que pour
tout polynôme P de degré ≤ 3 on ait
Z 1
2β 2α
P (u)du = P (α) + P (β);
−1 β−α α−β
ces points sont
−1 1
α= √ β= √ .
3 3
De plus, quels que soient les points α et β il existe un polynôme de degré 4 qui ne
vérifie pas la formule précédente.
Preuve. le calcul se fait à partir de la formule exacte pour les polynômes de degré
≤ 1 en imposant que cette formule reste exacte pour le polynôme X 2 et le polynôme
X 3 (ce qui est nécessaire et suffisant pour que la formule reste exacte pour les
polynômes de degré ≤ 3). Un calcul simple nous donne les points α et β attendus
ainsi que les coefficients explicites de la formule.
40 4. CALCUL NUMÉRIQUE DES INTÉGRALES DÉFINIES
avec
(b − a)5 M (4) (f )
|E| ≤ .
N4 4320
Remarque 4.3. En fait bien qu’au départ on ait travaillé sur une interpolation
de Lagrange de degré 1, tout se passe ensuite de la même façon que pour une
interpolation d’Hermite de degré 3. C’est ce qui fait la performance de la méthode.
4.2. MISE EN ŒUVRE DE MÉTHODES INTERPOLATOIRES 41
−1 1
Cette valeur de γ est 0. De plus il existe un polynôme de degré 4 pour lequel cette
formule n’a pas lieu.
Ce point γ = 0 étant choisi on obtient la formule dite des 3 niveaux.
Proposition 4.5. Pour tout polynôme de degré ≤ 3
Z 1
1
P (t)dt = [P (−1) + P (1) + 4P (0)].
−1 3
La méthode de Simpson consiste donc à utiliser cette formule pour approcher
l’intégrale :
Z 1
1
[f (−1) + f (1) + 4f (0)] + e.
f (u)du =
−1 3
Soit H le polynôme de degré ≤ 3 tel que
H(−1) = f (−1) H(0) = f (0) H(1) = f (1) H ′ (0) = f ′ (0).
On a alors
Z 1 Z 1 Z 1
|e| = f (u)du − H(u)du ≤ |f (u) − H(u)| du.
−1 −1 −1
Le choix des racines du polynôme de Legendre Pn pour les points ai est un très
bon choix dans le mesure où
Proposition 4.6. Pour tout polynôme de degré ≤ 2n − 1 on a
Z 1
P (u)du = λa1 P (a1 ) + · · · + λan P (an ).
−1
Preuve. Il suffit de montrer que la formule est vraie pour les polynômes
d’une base de l’espace R2n−1 [X] des polynômes de degré ≤ 2n − 1. La famille
(P0 , · · · , Pn−1 , P0 Pn , · · · , Pn−1 Pn ) est une base de R2n−1 [X] (tous les degrés sont
représentés une fois et une seule). Il est clair que P0 , · · · , Pn−1 vérifient la formule
puisque ces polynômes sont de degré ≤ n − 1. Quand aux Pi Pn (0 ≤ i ≤ n − 1)
il estR clair en utilisant l’orthogonalité de la suite des polynômes de Legendre
1
que −1 Pi (u)Pn (u)du = 0 et que sachant que les ai sont les racines de Pn ,
δi (Pj Pn ) = Pj (ai )Pn (ai ) = 0. Ils vérifient donc eux ausi la formule.
Toute autre famille de points est moins bonne que la famille (ai ).
Proposition 4.7. Soient α1 , · · · , αn des points distincts de l’intervalle [−1, 1]
dont l’un au moins n’est pas racine du polynôme de Legendre de degré n. Alors il
existe un polynôme Q de degré ≤ 2n − 1 tel que
Z 1
Q(u)du 6= λα1 Q(α1 ) + · · · + λαn Q(αn ).
−1
Cette propriété optimale des racines des polynômes de Legendre peut être uti-
lisée pour avoir une meilleure majoration de l’erreur quand on remplace l’intégrale
à calculer par l’intégrale du polynôme d’interpolation de Lagrange de degré ≤ n − 1
en n points de l’intervalle. C’est ainsi √ que nous
√ avons procédé pour la méthode
de Gauss, avec n = 2. Les point −1/ 3 et 1/ 3 sont les racines du polynôme de
2
Legendre de degré 2 (P2 (X) = 3X2 −1 ).
5X 2 − 3X
P3 (X) = ,
2
ce qui donne pour racines
√ √
3 3
a1 = − √ a2 = 0 a3 = √ .
5 5
Un calcul simple donne alors pour tout polynôme P de degré ≤ 5
Z 1 " √ ! √ !#
1 3 3
P (u)du = 5P − √ + 8P (0) + 5P √ .
−1 9 5 5
où
li
X
ηi,j ∈ [xi , xi+1 ] et ωi,j = 1.
j=0
On essaie d’adapter les paramètres pour que la méthode soit la meilleure possible.
Définition 4.8. On dit qu’une méthode de quadrature est d’ordre N si la
formule approchée est exacte pour les polynômes de degré ≤ N et inexacte pour
au moins un polynôme de degré N + 1.
P li
Remarquons que puisque j=0 ωi,j = 1, une méthode de quadrature
élémentaire est toujours au moins d’ordre 0.
Le lecteur est invité à préciser les paramètres qui correspondent aux diverses
méthodes décrites précédemment.
un − a = λk n + O(k ′n )
où k et k sont des réels tels que 0 < |k ′ | < |k| < 1 et où λ est un réel non nul.
′
Alors
un+1 − a = λk n+1 + O(k ′n )
kun − ka = λk n+1 + O(k ′n )
et par suite
un+1 − kun
− a = O(k ′n ).
1−k
On construit de cette manière une suite
un+1 − kun
vn =
1−k
qui converge vers a plus vite que la suite initiale u.
Plus généralement on peut supposer que
un − a = λ1 k1n + λ2 k2n + · · · + λp kpn + O(kp+1
n
)
où
0 < |kp+1 | < |kp | < · · · < |k1 | < 1
46 4. CALCUL NUMÉRIQUE DES INTÉGRALES DÉFINIES
et où λ1 , · · · , λn sont des réels non nuls. Pour toute suite w, notons Rk w la suite
définie par
wn+1 − kwn
Rk wn = .
1−k
Alors
un+1 − k1 un
Rk1 un = .
1 − k1
Puisque
un+1 − a = λ1 k1n+1 + λ2 k2n+1 + · · · + λp kpn+1 + O(kp+1
n
)
et que
k1 un − k1 a = λ1 k1n+1 + λ2 k1 k2n + · · · + λp k1 kpn + O(kp+1
n
)
on obtient
un+1 − k1 un − (a − k1 a) = (λ′2 k2n + · · · + λ′p kpn )(1 − k1 ) + O(kp+1
n
)
où
(k2 − k1 ) (kp − k1 )
λ′2 = λ2 , · · · , λ′p = λp .
1 − k1 1 − k1
On en déduit que
Rk1 un − a = λ′2 k2n + · · · + λ′p kpn ) + O(kp+1
n
).
Par conséquent on peut itérer le procédé et on obtient alors
n
Rkp Rkp−1 · · · Rk1 un − a = O(kp+1 ).
Remarque 4.9. Reprenons la formule de Richardson à l’ordre 1. Il se peut que
k ne soit pas connu. On pose alors
un+1 − µn un
vn =
1 − µn
où
un+1 − un
µn = .
un − un−1
Dans ces conditions
µn − k = O ((k ′ /k)n ) ,
donc
vn − a = O(k ′n ).
Remarque 4.10. On peut donner une version continue de la formule de Ri-
chardson.
Soit f (y) telle que limy→0 f (y) = α0 . On suppose que
f (y) = α0 + α1 y + · · · + αp y p + O(y p+1 ).
Soit alors 0 < r < 1 et y0 > 0.
Formons la suite
Am,0 = f (rm y0 ),
et remarquons que
lim Am,0 = α0 ,
m→∞
Am,0 = α0 + α1 y0 rm + · · · + αp y0p (rp )m + O (rp+1 )m .
4.4. ACCÉLÉRATION DE CONVERGENCE - MÉTHODE DE ROMBERG 47
5.1. Introduction
5.1.1. Position du problème. Nous nous intéressons ici aux méthodes à
un pas d’intégration des équations différentielles du premier ordre. Précisons le
problème que nous nous posons. Nous cherchons à résoudre numériquement le
problème de Cauchy
y ′ = f (x, y)
(5.1)
y(x0 ) = y0 .
Dans toute la suite on supposera qu’il existe un voisinage compact V du point
(x0 , y0 ) tel que la fonction f soit continue sur V et lipschitzienne par rapport à y
uniformément par rapport à x. C’est-à-dire qu’il existe une constante L telle que
pour tout x, tout y1 , tout y2 tels que (x, y1 ) ∈ V et (x, y2 ) ∈ V on ait
|f (x, y2 ) − f (x, y1 )| ≤ L|y2 − y1 |.
Nous noterons aussi
M = sup |f (x, y)|.
(x,y)∈V
Soit T > 0 tel que
[x0 − T, x0 + T ] × {y | |y − y0 | ≤ M T } ⊂ V.
On sait alors qu’il existe une solution unique qu’on notera φ du problème de Cauchy
(5.1) définie sur l’intervalle [x0 − T, x0 + T ].
Nous allons chercher à approcher la fonction φ sur l’intervalle [x0 , x0 + T ] (ou
sur l’intervalle [x0 − T, x0 ]).
Dans certains cas on sera amené à faire des hypothèses plus fortes sur la
régularité de la fonction f , ce qui entrainera une plus forte régularité de la fonction
solution φ.
5.1.2. Notations. On choisit un partage
x0 < x1 < · · · < xn = x0 + T
de l’intervalle d’étude [x0 , x0 + T ], et on pose
hk = xk+1 − xk .
On définit aussi
H= max hk .
0≤k≤n−1
La fonction φ étant la solution du problème (5.1) on pose pour 0 ≤ k ≤ n
yk = φ(xk ).
49
50 5. ANALYSE NUMÉRIQUE DES ÉQUATIONS DIFFÉRENTIELLES
Une première idée pour calculer y1 = φ(x1 ) = φ(x0 +h0 ) est d’utiliser cette formule,
donc d’écrire
Z h0
y1 = y0 + φ′ (x0 + t)dt,
0
puis d’évaluer l’intégrale
Z h0
φ′ (x0 + t)dt
0
par une méthode de calcul numérique approché d’intégrales.
ce qui donne
y1 = y0 + h0 φ′ (x0 ) + O(h20 ).
Ceci nous conduit à prendre pour approximation du point y1 le point u1 défini par
u1 = u0 + h0 f (x0 , u0 ),
où u0 est une approximation de y0 . Cette méthode nous donne au rang k
uk = uk−1 + hk−1 f (xk−1 , uk−1 ).
Cette méthode est appelée méthode de la tangente d’Euler en raison de l’in-
terprétation géométrique suivante.
5.2.1.2. Interprétation géométrique. On peut voir une équation différentielle
comme la donnée d’un champ de vecteurs : à tout point (x, y) on fait correspondre le
vecteur (1, f (x, y)) de coefficient directeur f (x, y). Le problème de Cauchy consiste
à trouver la ligne de champ qui passe par le point (x0 , y0 ). On la construit de
manière approchée en traçant une ligne polygonale partant de (x0 , y0 ) et suivant
tout d’abord la direction de la tangente de coefficient directeur f (x0 , y0 ) à la trajec-
toire en ce point. On arrive à un point (x1 , y1 ) et en ce point on prend la direction
indiquée par le champ de vecteurs, c’est-à-dire la droite de coefficient directeur
f (x1 , y1 ). Évidemment en général dès le point (x1 , y1 ) on a quitté la bonne trajec-
toire. Mais on peut espérer que si on fait de tous petits pas, on ne décolle pas trop
(cf. figure 1).
x0 x0+h x0+2h
v1 = u0 + h0 f (x0 , y0 )
52 5. ANALYSE NUMÉRIQUE DES ÉQUATIONS DIFFÉRENTIELLES
y1
v1
(dans ce calcul on considèrera que v0 = y0 ). Est-il la peine d’aller plus loin dans la
méthode des approximations successives ? Une évaluation de l’erreur nous donne
∂f
f (x1 , φ(x0 + h0 )) − f (x1 , v1 ) = (y1 − v1 ) (x1 , y1 ),
∂y
ce qui donne en utilisant l’évaluation de l’erreur de la méthode d’Euler
|f (x1 , φ(x0 + h0 )) − f (x1 , v1 )| = O(h20 ).
En conséquence, il n’est pas utile d’aller plus loin pour rester dans les limites d’une
erreur en 0(h30 ) et on obtient en définitive
h0
y1 = y0 + (f (x0 , y0 ) + f (x1 , v1 )) + 0(h30 ),
2
où
v1 = y0 + h0 f (x0 , y0 ).
En conclusion nous sommes amenés à prendre le schéma suivant
u0 est une valeur initiale proche de y0
(5.2) vk = uk−1 + hk−1 f (xk−1 , uk−1 )
uk = uk−1 + hk−1 (f (xk−1 , uk−1 ) + f (xk , vk ))
2
Cette méthode est appelée méthode d’Euler modifiée et admet l’interprétation
géométrique suivante.
5.2. GÉNÉRALITÉS SUR LES MÉTHODES 53
5.2.3.2. Deuxième idée : une formule d’intégration. Cette idée, que nous avons
évoquée au début de cette section, consiste à partir de q > 0 nombres réels
c1 , c2 , · · · , cq distincts ou non, d’écrire des formules de quadrature numérique du
type :
Z ci Xq
(5.4) ψ(t)dt ≈ ai,j ψ(cj )
0 j=1
et :
Z 1 q
X
(5.5) ψ(t)dt ≈ bj ψ(cj ).
0 j=1
on obtient :
q
X
Kk,i
= f xk,i , uk + hk ai,j Kk,j
j=1
(5.7) q
X
uk+1
= u k + hk bj Kk,j .
j=1
Le schéma ainsi décrit peut être explicite : le calcul de uk,i (ou de Kk,i ) ne fait
intervenir que des uk,j (des Kk,j ) avec j < i, c’est-à-dire déjà calculés, ou implicite
dans le cas contraire.
Il reste à savoir comment choisir les coefficients ai,j , bj , cj , c’est-à-dire quelles
formules de quadrature choisir. Toutes ces méthodes rentrent sous la dénomination
commune de méthode de Runge-Kutta. Cependant une de ces méthodes porte le
nom de méthode de Runge-Kutta classique.
5.2.4. Les méthodes de Runge-Kutta. Nous retrouvons bien entendu par
ce principe général les cas déjà traitées.
• Métode d’Euler. Dans ce cas on prend q = 1, c1 = 0, a1,1 = 0, b1 = 1.
Avec ces valeurs on retrouve effectivement la méthode d’Euler.
• Méthode d’Euler modifiée. Dans cette méthode aussi appelée méthode
de Heun on prend q = 2, c1 = 0, c2 = 1, a1,1 = 0, a1,2 = 0, a2,1 = 1, a2,2 = 0,
b1 = 1/2, b2 = 1/2. Les méthodes d’intégration utilisées sont d’une part la
méthode des rectangles pour la méthode d’intégration numérique (5.4) où
i = 2 (pour i = 1 il n’y a rien à faire) et celle des trapèzes pour la méthode
d’intégration numérique (5.5).
Toujours pour q = 2 on peut généraliser cette méthode en prenant un
nombre 0 < α ≤ 1 puis c1 = 0, c2 = α, a1,1 = 0, a1,2 = 0, a2,1 = 1, a2,2 = 0,
b1 = 1 − 1/(2α)), b2 = 1/(2α). Pour α = 1 on obtient la méthode de Heun,
pour α = 1/2 on obtient une méthode basée sur la méthode du milieu pour
la méthode d’intégration numérique (5.5) et la métode des rectangles pour
le calcul (5.4).
• Méthode de Runge-Kutta classique. On prend q = 4, c1 = 0, c2 =
1/2, c3 = 1/2, c4 = 1, a2,1 = 1/2, a3,2 = 1/2, a4,3 = 1, les autres ai,j sont
nuls, b1 = 1/6, b2 = 1/3, b3 = 1/3, b4 = 1/6.
On peut alors écrire le shéma de calcul de la façon suivante :
Kk,1 = f (x
k , uk )
hk hk
Kk,2 = f xk + , uk + Kk,1
2 2
hk hk
(5.8) Kk,3 = f xk + , uk + Kk,2
2 2
Kk,4 = f (xk+1 ,uk + hk Kk,3 )
Kk,1 Kk,2 Kk,3 Kk,4
uk+1 = u k + hk + + + .
6 3 3 6
ANNEXE A
A.1. Introduction
Nous nous intéressons à la façon de définir les objets que nous allons utiliser
dans les calculs sur machine pour représenter les nombres. Ceci passe par au moins
deux stades :
• La définition de la nature mathématique de ces objets
• Leur représentation interne
Nous regarderons les cas des réels et des entiers.
A.2.3. Cas concrets. Les bases utilisées sont 2 et 10. Chacune a ses avan-
tages.
La base 2 sera choisie quand surtout des pas de calcul et peu d’affichages
(langages de programmation généralistes par exemple).
La base 10 sera choisie si on a des affichages à chaque pas (calculette par
exemple) et donc beaucoup de traductions en décimal à faire.
La norme IEEE-754 régit le cas de la base 2.
57
58 A. REPRÉSENTATION DES NOMBRES
sE7 · · · E0 x1 · · · x23 .
Il existe aussi une notion de double précision étendue avec un stockage sur
≥ 80 bits.
F (u + (v + w)) = F (u + F (v + w)) .
Or il se peut que F (u + v) = u et F (u + w) = u tandis que F (u + F (v + w)) 6= u.
Par exemple si b = 10, p = 11 on prend u = 1, v = w = 5 × 10−11 .