Académique Documents
Professionnel Documents
Culture Documents
!
& ! ! ' ( )
& ! * +%
" # $ $
+)
,!! " ! ' ( " %
% &
)
) !-.
) / !
' ( ))
+
+ 0
* & %
Chapitre 1
1.1 Généralités
1.1.1 Virgule flottante normalisée
√
Dans un calcul, les nombres irrationnels tels que π, 2,... ne sont utilisés d’une
façon exacte que s’il y a lieu de simplification ou d’une transformation qui les
ferait disparatre. La mme situation se présente pour les nombres sécrivant avec
un grand nombre de chiffres.
Ainsi, les nombres explicitement utilisés ne comportent qu’un nombre restreint
de chiffres.
La représentation des nombres en utilisant q’un nombre prédéfini de chiffres
n’est pas unique et chacune a ses avantages et ses inconvénients.
La représentation
5
6 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
où r et m sont des entiers fixés (ils sont les mêmes pour tous les nombres).
On écrit
Notons que lorsque |x| est inconnue, l’erreur relative et l’incertitude relative
sont définies respectivement par:
|x − x∗ | ∗ ∆x∗
et δx =
|x∗ | |x∗ |
L’utilisation de l’une ou l’autre des deux définitions conduit en général aux
mêmes conclusions.
8 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
∗ ∗
Exercice: Soient δx∗ = ∆x |x|
et dx∗ = ∆x|x∗ |
. x∗ étant une valeur approchée de
x. Pour simplifier, on suppose que x et x∗ sont positives.
1) Traduire par une égalité algébrique l’écriture: x = x∗ ± ∆x∗ .
2) Trouver les extremums dans l’intervalle [0, 1] de la fonction
x∗
f (t) =
x∗ − ∆x∗ + 2t∆x∗
3)Déduire que δx∗ et dx∗ sont liées par
1−s s
δx∗ = ∗
+ dx∗ avec s ∈ [0, 1] .
1 − dx 1 + dx∗
4) Donner le développement limité à l’ordre 2 de δx∗ en fonction de dx∗ .
5) Déduire qu’en général les deux définitions de l’erreur relatives reviennent
au même.
Exemple6: Soit x∗ = 623.809 103 . Il est donné sans indication sur l’erreur.
Cela doit sous-entendre que les six chiffres de x∗ sont significatifs. Faute de quoi
l’écriture est considérée incorrecte.
Exemple7: Soit x∗ = 623809. Pour ce nombre, la virgule est absente. On ne
peut rien dire de la qualité de ses chiffres. On peut considérer qu’il correspond à
0.623809 106 si non c’est que l’écriture est incorrecte.
Exemple8: Soit x∗ = 623809.0. Ce nombre suppose que ses sept chiffres sont
significatifs.
Exemple9: Soit x∗ = 23000. On ne sait pas si ce nombre est équivalent à
y = 0.23 105 ou à z = 0.23000 105 . y n’a que deux chiffres significatifs alors que
z en a cinq.
Problème: La loi des gaz parfaits est donnée par
P V = αT
Supposons que les données sont fournies avec la même erreur relative δ = 10−2 .
1◦ Calculer T en degré Celsius (on rappelle la relation T = t + 273.15 où T
est la température du gaz en Kelvin et t sa température en degré Celcius).
2◦ En mesurant la température, le thermomètre indique 20◦ C. Y a-t-il cohé-
rence avec la loi?
3◦ Trouver l’incertitude relative sur les données pour que l’écart soit inférieur
à 1◦ C.
1.2. CALCUL SUR ORDINATEUR 11
Non associativité
Dans l’ordinateur l’addition n’est pas associative.
Exemple1: t = 4. x = 0.7654 101 , y = 0.4856 10−3 , z = 0.3433 10−3 .
f l(f l(x + y) + f l(z)) = f l((0.7654 + 0.0000)101 ) + f l(z) = f l(0.7654 101 +
0.0000 101 ) = 0.7654 101
Par contre f l(f l(x)+f l(x+y)) = f l(f l(0.7654 101 )+f l(0.4856+0.3433)10−3 ))
= f l(0.7654 101 + 0.8289 10−3 ) = f l((0.7654 + 0.0001)101 ) = 0.7655 101 .
Exemple2: t = 4. x = 0.7654 101 , y = 0.4856 10−3
f l(106 ∗ (y+x)−x
y
) = f l(106 ∗ f l( f l(f l(y+x)−f
f l(y)
l(x))
)) = f l(106 ∗ f l( f l(x)−f
f l(y)
l(x)
)) =
0
0.0000 10
f l(106 ∗ y+(x−x)
y
) = f l(106 ∗ f l( f l(y)+f l(x−x)
f l(y)
)) = f l(106 ∗ f l( ff l(y)
l(y)
)) = 0.1000 107 .
Théoriquement, les deux formules devaient donner le même résultat.
Non distributivité
Dans l’ordinateur la multiplication n’est pas distributive par rapport à l’addition.
Exemple: t = 4, x = 0.8000 102 , y = 0.7497 105 , z = −0.7489 105 .
f l(x) ∗ f l(y + z) = f l(0.8000 102 ) ∗ (f l(0.7497 105 ) − f l(0.7489 105 ))
= f l(0.8000 102 ) ∗ f l(0.8000 102 )) = 0.6400 104 .
f l(x ∗ y) + f l(x ∗ z) = f l(0.5998 107 ) − f l(0.5991 107 ) = 0.7000 104 .
On a Z 1
xn−1 (10 + x) − 10xn−1
In = dx
0 10 + x
Z 1 Z 1
xn−1
= xn−1 dx − 10 dx
0 0 10 + x
D’où la relation récursive:
1 11
In = n
− 10In−1 , n = 1, ..., k avec I0 = log 10
εn = −10εn−1
εk = (−10)k ε0
16 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
Nous voyons que l’erreur s’amplifie d’une façon exponentielle, ne laissant ainsi
aucune possibilité à ce que le résultat soit correct (prendre par exemple: k = 30).
La formule récursive utilisée est numériquement instable.
Notre formule cause des problèmes à cause de la puissance croissante du co-
efficient 10. Pour remédier à cela, inversons la récurrence
1 1
In−1 = 10n
− I ,
10 n
n = N, N − 1, ..., k
Supposons qu’on veuille calculer I30 . On part d’une valeur approchée (par
exemple) de I40 , avec une erreur ε.
En remontant à I30 l’erreur induite est alors
ε30 = ( −1
10
)10 ε
Cela donne
1 1
11(n+1)
≤ In ≤ 10(n+1)
1
Comparons In et 11(n+1)
.
1 R 1 xn 1 R1 R 1 xn −xn+1
0 < In − 11(n+1)
= 0 10+x − 11 0
xn dx = 0 11(10+x) dx
Il en résulte que
1 1
0 < In − 11(n+1)
≤ 110(n+1)(n+2)
1
En prenant 11(n+1) comme approximation initiale de In , l’incertitude relative
1
est de l’ordre de 10(n+2) .
Exemple2: Soit à calculer l’intégrale
R 1 x30
I30 = 0 0.1+x dx
On a cette foi-ci
1.2. CALCUL SUR ORDINATEUR 17
1
In = n
− 0.1In−1 , n = 1, ..., k avec I0 = log 11.
Suite à une erreur ε0 sur le calcul de I0 , l’erreur sur Ik sera εk = 10−k ε0 .
C’est une bonne formule! Nous voyons donc qu’une formule peut être stable
pour certaines valeurs et instable pour d’autres. Aussi, elle peut être instable en
l’utilisant sous une forme et stable sous une autre forme.
Exemple3: S = x1 − x+1 1 1
, T = x(x+1) ;
S et T sont mathématiquement équivalentes. Pour x = 0.2 104 La valeur
exacte est
S = T = 0.24987... 10−6
Pour t = 4, on obtient:
f l( x1 ) = 0.5000 10−3 , f l(x + 1) = 0.2001 104 , f l( x+1
1
) = 0.4998 10−3 .
On obtient
f l(S) = 0.2000 10−6 et f l(T ) = 0.2499 10−6
Exemple4: t = 4. Soit à résoudre x2 + 62.10x + 1 = 0.
La solution donnée avec 7 chiffres exacts est
x1 = −0.161023 10−1 et x2 = −0.6208390 102
La résolution
√ par la méthode des radicaux donne
∆ = f l( 3852) = 0.6206 102
2 2 2
f l(x1 ) = f l( −0.62100.2000
10 +0.6206 10
101
) = f l( f l(−0.0004)10
0.2000 101
) = −0.2000 10−1
2 2 2
f l(x2 ) = f l( −0.62100.2000
10 −0.6206 10
101
) = f l( f l(−0.1242)10
0.2000 101
) = −0.6210 102 .
Pour x1 et x2 , les incertitudes relatives sont respectivement, 2.4 10−1 et
3.2 10−4 . L’erreur sur x1 est importante. Nous voyons au numérateur de x1
l’apparition de 3 zéros après la virgule. Il y a donc une perte de trois chiffres
significatifs. On doit éviter la soustraction de deux nombres voisins (cancella-
tion). Pour cela, on peut √multiplier
√
et diviser la formule de x1 par le conjugué
(−b+ ∆)∗(−b− ∆) 2c
du numérateur (x1 = √
2a∗(−b− ∆)
= b+√ ∆
). Dans ce cas
1
f l(x1 ) = f l( 0.6210−0.2000 10
102 +0.6206 102
) = f l(−0.01610 102 ) = −0.1610 10−1 .
L’incertitude relative est cette fois-ci 6.2 10−4 .
Une autre alternative serait de considérer la relation liant les deux racines:
x1 ∗ x2 = ac . x2 ne présente pas de cancellation. Une fois x2 calculé, on calcule x1
1
par f l(x1 ) = f l( f l(x 2)
).
18 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
a1 + ... + a10
Algorithme:
s = a1
Pour i = 1, ..., 9 Faire
s = s + ai+1
Fin Faire
Programme (en langage C)
#<include,stdio.h>
main()
{ float a[10]; int n=9;
for(i=0;i<=9;i++) scanf("%f",&a[i]);
/* Calcul de la somme */
s=a[0];
for(i=0;i<=9;i++) s+=a[i];
printf(" La somme est:%f\n",s);
return 0;}
1.4. LECTURES 19
1.4 Lectures
1.4.1 Représentation dans un ordinateur particulier
Dans le modèle, que nous considérons tout nombre réel se présente sous la forme
±.d1 ...dn 16e . Le mot machine a 32 bits. Le premier bit est réservé au signe: 0
pour + et 1 pour −. Les sept bits suivants sont réservés à la caractéristique c,
codée en binaire (la lecture se fait de la droite vers la gauche). L’exposant e est
déduit de c par la formule: e = c − 64. Les vingt quatre derniers bits (n = 24)
sont réservés à la mantisse et sont affectés de la gauche vers la droite par les
poids respectifs 2−i pour i = 1, ..., 24. Le poids 2−i traduit le fait que di est le ième
chiffre binaire après la virgule (nous faisons la même chose lorsque nous écrivons
un nombre en base décimale: 0.547 = 510−1 + 410−2 + 710−3 ). Le constructeur
impose aussi à ce que les quatre premiers bits de la mantisse ne soient pas
identiquement nuls (cela est voulu pour que la conversion du nombre en base
16 soit normalisée). Un nombre x représenté dans l’ordinateur est dit nombre
machine et se note f l(x) (il se lit ”float x”). Les bits d’un mot machine sont
numérotés de 0 à 31, en allant de la gauche vers la droite.
Considérons le mot machine suivant
01000010101100110000010000000000
Son signe: +
Son exposant: e = 0 × 1 + 1 × 2 + 1 × 26 − 64 = 66 − 64 = 2
Sa mantisse: m = 2−1 + 2−3 + 2−4 + 2−7 + 2−8 + 2−14
Le nombre représenté est: m162 = 179.015625
- Les bits 8 à 11 ne peuvent pas être simultanément nuls, ils offrent donc
4
2 − 1 possibilités.
- Les bits 8 à 31 permettent 220 possibilités.
Le seul nombre non compté est le nombre zéro que l’ordinateur gère d’une
façon particulière.
L’ordinateur utilise donc: 2∗27 ∗(24 −1)∗220 = 15∗228 = 4026531840 nombres
machine. Cela correspond à environ 4 109 nombres machine en v.f.n..
00000000000100000000000000000000
011111111111111111111111111111111
01000010101101000000000000000000
01000010101101000000000000000001
01000010101011111111111111111111
Précision machine
Nous supposons que l’ordinateur travaille en mode arrondi à t digits.
Soit x = ±.d1 ...dt dt+1 ...bm , un réel exprimé en v.f.n. dans une base b (d1 , d2 , ...
des chiffres de cette base). Soit xt le nombre machine obtenu en arrondissant x à
t digits. On a
Propriété:
|x−xt |
|x|
≤ 2b b−t .
Preuve: Puisqu’il s’agit d’une erreur relative, l’exposant et le signe n’intervi-
ennent pas. Soit donc
x = .d1 ...dt dt+1 ....
Si dt+1 < b/2 alors f l(x) = 0.d1 ...dt . Donc
|x − f l(x)| = 0.0...0dt+1 ... = 0.dt+1 ...b−t .
Or 0.dt+1 ... < 0. 2b = 2b b−1 . Donc
|x − f l(x)| < 12 b−t .
D’un autre côté, la représentation étant normalisée, on a forcément 0.d1 ...dt ≥
b−1 . D’où
|x−xt |
|x|
< 2b b−t .
Si dt+1 ≥ b/2 alors f l(x) = 0.d1 ...(dt + 1). Donc
|x − f l(x)| = d1 b−1 + ... + (dt + 1)b−t − (d1 b−1 + ... + dt b−t + dt+1 b−(t+1) + ...)
Double précision
Nous avons vu qu’un mot machine de 32 bits, permet de représenter un nombre
réel avec 7 chiffres décimaux significatifs. Cela peut se révéler insuffisant pour
assurer une bonne précision. Il est cependant possible de loger un nombre, non
pas dans un seul mot machine (dite simple précision), mais dans deux mots et
d’avantage. Travailler avec des mots machines de longueur double (64 bits) se
dit travailler en double précision. Dans ce cas, l’exposant est représenté sur 11
bits et la mantisse sur 52 bits. Les 52 bits sont affectés de gauche à droite par les
poids 2−1 , ..., 2−52 .
Remarque: Dans le cas où la base est 2 au lieu de 16 et selon les normes de
l’organisme appelé I.E.E.E. (Institute for Electrical and Electronic Engeneers),
la mantisse occupe 53 bits au lieu de 52. Cela vient du fait que, l’ordinateur
travaillant en virgule flottante normalisée, le premier bit vaut constamment 1. Il
n’est donc pas nécessaire de le conserver en mémoire. Ainsi, tout se passe comme
si la mantisse avait 53 bits. Il en est d’ailleurs de même dans le cas de la simple
précision. Là aussi, si la base est 2 au lieu de 16, les normes de l’I.E.E.E. imposent
à ce que l’exposant occupe 8 bits et une mantisse équivalente à 24 bits. Cette
remarque est à titre de mémoire et ne sera pas pris en rigueur dans la suite.
Exercice: Calculer la précision machine dans le cas de la double précision.
Qu’elle est le nombre de chiffres significatifs?
Nombres entiers
Dans les sections précédentes, il était question des nombres introduits dans l’ordi-
nateur, en tant que nombres réels. Il est cependant possible de distinguer les
nombres entiers en les déclarant en tant que tels. La représentation des nombres
entiers est différente de celle des nombres rationnels (réels). Pour un nombre
entier, il n’ y a pas d’exposant. Il s’en suit que, pour un mot machine de n
bits, les nombres entiers représentables sont ceux de l’intervalle [−2n−1 , 2n−1 − 1].
Ainsi, pour un mot de 32 bits, le plus grand nombre représentable est:
L’ensemble des nombres entiers représentables sont donc les entiers de l’intervalle
[−2147483648, +2147483647]
24 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
où s = ±1, q est un entier positif, r est un entier strictement supérieur à 1 (en
général r = 2) et wk ∈ [0, r[.
Tout réel est de la forme:
Pp
x = sbe k=0 dk b−k ou x = 0.
EPSILON(X)
X est déclaré réel. On obtient b1−p : Le plus grand nombre non négligeable
devant 1.
PRECISION(X)
IN T ((p − 1) ∗ LOG10(b)) + k
NEAREST(X,S)
] − br , +br [
r r r r
[−bb (bn−r−1 − b−1 ), bb (bn−r−1 − b−1 )] ≈ [−bb , bb ]
1.4.4 Numération
Nous savons que tout nombre réel positif x peut s’écrire
(an an−1 ...a0 a−1 ...a−m )2 = an 2n + an−1 2n−1 + ... + a0 20 + a−1 2−1 + ... + a−m 2−m
(27)10 = (11011)2
Exemple1: (36)10
36/2 = 18 reste 0. 18/2 = 9 reste 0. 9/2 = 4 reste 1.
4/2 = 2 reste 0. 2/2 = 1 reste 0. 1/2 = 0 reste 1.
(36)10 = (100100)2
3- Cas général
Convertir la partie entière, puis la partie fractionnaire et regrouper en séparant
par la virgule.
Exemple: (36, 3125)10 = (100100, 0101)2
Problème: En fouillant dans les archives d’un certain pays, on a relevé selon
les époques qu’il était constitué respectivement de 11, 22 et 16 tribus. Nous savons
en outre que le nombre de tribus n’a pas changé et que les nombres indiqués
correspondent à des bases de numérations différentes et sont toutes inférieures ou
égales à 10.
Trouver le nombre de régions en base 10 et la base de numération de chaque
époque.
30 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
Chapitre 2
f (x∗ ) = 0 ⇔ F (x∗ ) = x∗
31
32 CHAPITRE 2. RACINE D’UNE ÉQUATION
Si non: Si f (ai )f (zi ) < 0 poser ai+1 = ai , bi+1 = zi , zi+1 = (ai+1 + bi+1 )/2.
i = i + 1 Aller en 2.
α ∈ [an , bn ] ⇔ an −b
2
n
≤ α − zn ≤ bn −an
2
⇔ |α − zn | ≤ bn −a
2
n
L’assertion 1) conclut.
L’assertion 2) de la proposition, nous donne l’incertitude absolue ε = b−a 2n
.
Supposons que b − a = 1. Ainsi, pour assurer (en l’absence d’erreurs d’arrondi)
une incertitude absolue de l’ordre de 10−p , on doit avoir 2n ≥ 10p . En composant
p
par le Log à base 10, on obtient, n ≥ 0.3 . Il faut donc au moins dix itérations pour
espérer trois chiffres significatifs. La convergence est lente et elle l’est d’autant
plus lorsque l’évaluation de f est coûteuse en nombre d’opérations arithmétiques.
La majoration |α − zn | ≤ b−a 2n
, nous permet de choisir le nombre maximal N
d’itérations à faire.
Pour assurer une certaine précision ε, on peut prendre
|zn − zn−1 | ≤ ε
ou
zn − zn−1
≤ε
zn
ou encore
|f (zn )| ≤ ε.
3) z = (a + b)/2
4) Si f (z) = 0 ou (b − a)/2 ≤ ε; α = z;
Imprimer ”Nombre d’itérations”; i; ”=”; ”Racine α=”; Stop
Si non:
Si i = n Imprimer ”Précision non satisfaite”; Stop
Si non:
Si f (a) ∗ f (z) < 0; b = z; i = i + 1; Aller en 3)
Si non: a = z; i = i + 1; Aller en 3
L’algorithme ci dessus suppose qu’au départ la condition f (a)f (b) < 0 est
satisfaite. C’est une condition nécessaire au démarrage de l’algorithme. Pour
obtenir a et b, on peut par exemple, faire une représentation graphique de f. Il
est également possible d’adjoindre un algorithme, de sorte que la recherche de
l’intervalle initial se fasse d’une façon autonome. Nous donnons ci-dessous un
algorithme de démarrage, où l’on se donne un point a et un pas h.
D’une façon intuitive, l’algorithme consiste a chercher un segment où la valeur
absolue de la fonction décroı̂t d’un côté et croı̂t de l’autre.
Algorithme de démarrage
1) Données: a, h
2) b = a
3) b = b + h; s = f (a); t = f (b)
4) Si: s ∗ t ≤ 0; Stop
Si non:
Si |s| < |t|; h = −2 ∗ h; Aller en 3)
Si non:
h = 2 ∗ h; a = b; s = t; Aller en 3)
La méthode de bissection a l’avantage de converger sous de faibles conditions
sur la fonction f . Elle a l’inconvénient d’être lente. D’un autre côté on dispose
de méthodes très rapides, mais elles nécessitent le démarrage à partir d’un point
assez proche de la racine. La méthode de bissection est généralement utilisée
pour fournir un point de démarrage à une méthode plus rapide.
Exercice: Soit (zn ) la suite générée
par la méthode de bissection.
zn −zn−1 zn
1) Montrer que le test zn ≤ ǫ; n’a de sens que si limn→∞ ( zn−1 ) = 1.
Intuitivement, on peut voir que si la racine recherchée est nulle, le rapport
zn
zn−1
peut ne pas converger vers 1. Dans une telle situation la méthode peut
tourner indéfiniment sans que le test ne soit satisfait. Cela est l’objet de la suite
de l’exercice.
2.2. MÉTHODE DES APPROXIMATIONS SUCCESSIVES 35
Soit f une fonction traversant l’axe des x en zéro (par exemple f (x) = x3 ).
On fait démarrer la méthode de√bissection à partir de l’intervalle [a1 , b1 ] avec
a1 = −1 et b1 = 1 − 2r où r = 1−2 5 .
Pour rendre les calculs très simples, remarquer que r est racine de l’équation:
2r2 − r − 1 = 0.
2) Montrer par récurrence que la méthode de bissection donne
|F (x) − F (x∗ )| ≤ k |x − x∗ |
|x − x∗ | ≤ k |x − x∗ |
xn+1 = F (xn )
Puisque F opère de [a, b] dans [a, b] , la suite (xn ) est entièrement dans [a, b] . F
étant k-contractante, on a alors
Soit p ∈ N ∗ . On a
2.2. MÉTHODE DES APPROXIMATIONS SUCCESSIVES 37
|xn+p − xn | est donc majorée indépendamment de p, par une quantité qui tend
vers zéro lorsque n tend vers +∞.
La suite (xn ) vérifie donc le critère de Cauchy et par suite elle converge vers
une limite x∗ .
Comme xn ∈ [a, b] pour tout n, x∗ ∈ [a, b]. La continuité de F entraı̂ne que
x∗ est le point fixe de F .
i) De ce qui précède on a
1
|xn+p − xn | ≤ k n 1−k |x1 − x0 |
découle
Donc
|xn − xn−1 | ≤ ε.
Ainsi, on aurait
k
|xn − x∗ | ≤ ε.
1−k
Le conditionnel sous-entend qu’à cause des erreurs d’arrondis l’inégalité est seule-
ment approximative.
Nous voyons que si 1 − k est petit, le test peut être satisfait alors que l’erreur
|xn − x∗ | est encore grande.
on peut par exemple approximer k par
|xn − xn−1 |
kn =
|xn−1 − xn−2 |
Définition2: Une suite (xn ) de limite x∗ (xn 6= x∗n ∀n) est dite d’ordre p, si
−x∗ |
∃A > 0, ∃B > 0 indépendantes de n telles que A ≤ |x|xn+1
n −x ∗ |p ≤ B.
La définition précédente est utilisée également pour définir l’ordre d’une méthode.
Une méthode est dite d’ordre p (sous une certaine hypothèse H), si toute suite
convergente fournie par la méthode (sous l’hypothèse H) est au moins d’ordre p.
Proposition: Soit (xn ) une suite de limite x∗ . Si ∃c 6= 0 tel que
|xn+1 − x∗ |
lim p = c
n→+∞ |xn − x∗ |
Exercice2:
Soit F : R → R.
1) On suppose qu’il existe un intervalle [a, b] tel que
F ([a, b]) ⊂ [a, b] et F est k-contractante dans [a, b].
i) Montrer que F possède un point fixe α dans [a, b].
ii) Montrer que α est unique.
2) On prend F (x) = x2 + x + 0.5.
i) Trouver un intervalle [a, b] dans lequel F est k-contractante.
ii) F possède t-elle un point fixe?
3) On suppose cette fois-ci que F possède un point fixe α dans ]a, b[ et qu’elle
est k-contractante dans [a, b].
On considère l’itération: xn+1 = F (xn ).
i) Soit Iη ⊂ [a, b] un intervalle de la forme Iη = [α − η, α + η].
40 CHAPITRE 2. RACINE D’UNE ÉQUATION
f (xn )
xn+1 = xn − ′
f (xn )
f ′ (xn ) − f ′ (cn )
= en
f ′ (xn )
42 CHAPITRE 2. RACINE D’UNE ÉQUATION
∗ ∗ |f ′ (x∗ )|
′
∃η : ∀x ∈ Iη = [x − η, x + η] ⊂ [a, b] , |f (x)| ≥ .
2
f ′ étant continue dans le compact Iη , elle y est uniformément continue. Donc
f ′ (x∗ )
∃τ ≤ η : x, y ∈ Iτ ⇒ |f ′ (x) − f ′ (y)| ≤ .
4
D’où
1
xn ∈ Iτ ⇒ |en+1 | ≤ |en |
2
La majoration obtenue entraine en particulier
x0 ∈ Iτ ⇒ xn ∈ Iτ ∀n
On a donc
1
x0 ∈ Iτ ⇒ |en | ≤ |e0 | ∀n
2n
D’où la convergence.
La deuxième assertion est immédiate. Il suffit d’effectuer un développement
de Taylor à l’ordre deux de f (x) au voisinage de x∗ .
Dire que la méthode est d’ordre deux signifie que toute suite obtenue par
application de la méthode (sous les conditions du théorème) vérifie une relation
de la forme:
|xn+1 − x∗ | = kn (xn − x∗ )2
où la suite (kn ) est bornée.
Ainsi, si par exemple kn est voisin de 1 et si |xn − x∗ | est de l’ordre de 10−3 ,
|xn+1 − x∗ | sera de l’ordre de 10−6 . Le nombre de chiffres exacts est doublé.
Le théorème suivant est plus précis.
Théorème2:Supposons que f est de classe C 2 sur un intervalle I = [x∗ − r, x∗ + r]
′
et que f (x) 6= 0 pour tout
x dans I.
′′
Soit M = maxx∈I ff ′ (x)
(x) 2
et h = min(r, M ). Alors
2.3. MÉTHODE DE NEWTON 43
2 n
∗ ∗ 2 ∗ M
∀x0 ∈ [x − h, x + h] , |xn − x | ≤ |x0 − x∗ | .
M 2
Preuve: On a
f (xn )
xn+1 − x∗ = xn − x∗ −
f ′ (xn )
(xn − x∗ )f ′ (xn ) − f (xn )
=
f ′ (xn )
La formule de Taylor à l’ordre 2 donne
(xn − x∗ )2 f ′ (cn )
xn+1 − x∗ = −
f ′ (xn )
où cn ∈ [xn , x∗ ] . Donc
M
|xn+1 − x∗ | ≤ (xn − x∗ )2 .
2
Pour pouvoir itérer il suffit que la suite (xn ) reste dans un même sous intervalle
de I.
Soit h ≤ r et Ih = [x∗ − h, x∗ + h] .
Pour que xn ∈ Ih ⇒ xn+1 ∈ Ih , il suffit d’avoir M2 h2 ≤ h.
Cela est équivalent à
2
h≤
M
2
Il suffit donc de prendre h = min(r, M ).
Posons α = M2 .
On a alors
n−1
Y i n
x0 ∈ Ih ⇒ |xn − x∗ | ≤ α2 (x0 − x∗ )2 .
i=0
On a
n−1
Y n−1
X
i
ln( α2 ) = ln(α) 2i
i=0 i=0
n
= (2 − 1)ln(α)
Donc
n−1
Y i i−1
α2 = α2 .
i=0
44 CHAPITRE 2. RACINE D’UNE ÉQUATION
D’où 2n
∗ 2 M
|xn − x | ≤ (x0 − x∗ ) .
M 2
x0 6= 0 donné,
1 a
xn+1 = (xn + )pourn = 0, 1, ...
2 xn
2) Soit a résoudre dans [a, b] une équation f (x) = 0. On suppose que f possède
une racine double α ∈]a, b[ et qu’elle est séparée.
2.3. MÉTHODE DE NEWTON 45
Puisque α est l’unique racine dans ]a, b[ et qu’elle est double, f garde un signe
constant dans un intervalle Iη = [α − η, α + η] ⊂ [a, b]. De plus, f (x) = 0 ⇔
|f (x)| = 0. On peut donc considérer que f est positive dans Iη (à défaut, on
remplace f par -f). q
Soit donc g(x) = f (x) x ∈ Iη .
i) Montrer que α est une racine simple de g.
ii) Ecrire l’itération de la méthode de Newton, pour la fonction g.
iii) Donner une condition suffisante surf pour que g soit de classe C 1 .
iv) Montrer que si f est de classe C 2 , il existe un intervalle Iτ ⊂ Iη tel que si
x0 ∈ Iτ alors la méthode converge vers α.
iv) Montrer que si f est de classe C 3 et x0 ∈ Iτ alors
Systèmes linéaires
47
48 CHAPITRE 3. SYSTÈMES LINÉAIRES
Description de la méthode
La méthode d’élimination de Gauss, comporte deux phases. La première phase
consiste à transformer le système initial en un système équivalent (ayant même
solution que le premier) dont la matrice est triangulaire supérieure. La deuxième
phase est la résolution du système obtenu en commençant par le bas (remontée).
Décrivons la méthode sur le système linéaire Ax = b défini par
E1 : 2x1 + 3x2 − x3 = 5
E2 : 3x1 + x2 + 2x3 = 4
E3 : x1 − 3x2 + x3 = 2
E2 = E2 − αE1
3.1. MÉTHODES DIRECTES 49
Cela signifie que la ligne E2 est remplacée par l’ancienne expression de laquelle
on a retranché αE1 . Il s’agit de soustraction terme à terme.
Etape 1: Elimination de x1 des lignes E2 et E3
Divisons la ligne E1 par le coefficient de x1 . Ce coefficient est appelé le
premier pivot, il vaut 2.
Effectuons E2 = E2 − 3E1 /2. Cela donne
E2 : 0x1 − 27 x2 + 27 x3 = − 72
De même E3 = E3 − 1E1 /2 donne
E3 : 0x1 − 29 x2 + 23 x3 = − 12
Etape 2 : Elimination de x2 de la ligne E3 .
Le sous-système à considérer est
E2 : − 27 x2 + 72 x3 = − 27
E3 : − 29 x2 + 32 x3 = − 21
2x1 + 3x2 − x3 = 5
− 27 x2 + 27 x3 = − 72
−3x3 = 4
x3 = − 34 , x2 = − 31 , x1 = 7
3
Algorithme de la méthode
Par souci d’économie de place mémoire, nous n’utilisons qu’une seule matrice.
Algorithme (Elimination de Gauss)
Pour k = 1, ..., n − 1 Faire
Division par le pivot ak,k
Pour l = k + 1, ..., n Faire
yl = ak,l /ak,k
Fin Faire
α = bk /ak,k
Eliminations
Pour i = k + 1, ..., n Faire
Pour j = k + 1, ..., n Faire
ai,j = ai,j − ai,k ∗ yj
Fin Faire
bi = bi − ai,k ∗ α; ai,k = 0
Fin Faire
Fin Faire
On peut vérifier que la remontée consiste à calculer les xi par:
Pn
xi = (bi − k=i+1 ai,k xk )/ai,i pour i = n − 1, ..., 1
L’algorithme d’élimination qui en résulte est très utilisé. Il est comme suit:
Algorithme bis(élimination de Gauss)
Pour k = 1, ..., n − 1 Faire
Pour i = k + 1, ..., n Faire
ai,k = ai,k /ak,k
Pour j = k + 1, ..., n Faire
ai,j = ai,j − ai,k ∗ ak,j
Fin Faire
52 CHAPITRE 3. SYSTÈMES LINÉAIRES
bi = bi − ai,k ∗ bk ; ai,k = 0
Fin Faire
Fin Faire
Nous verrons plus loin que cet algorithme, en plus de l’économie de place
mémoire qu’il offre (gain d’un vecteur), il permet de factoriser A sous la forme
A = LU .
Remarque: L’algorithme bis de l’élimination de Gauss est mathématiquement
équivalent à l’algorithme qui le précède. Mais les résultats numériques fournies
par l’un et l’autre peuvent être différents. Dans l’algorithme bis, on ne divise
pas la ligne du k eme pivot par le pivot, mais on divise progressivement les n − k
derniers éléments de la k eme colonne. Du point de vu numérique la différence peut
provenir du fait que a ∗ cb 6= ac ∗ b. Prenons par exemple: t = 4, a = 3, b = 7 et
c = 3. Le premier membre donne 7.009 et le second donne 7. Reprendre l’exemple
avec a = 7 et b = c = 3.
Pivotage
Nous pouvons voir que l’algorithme de l’élimination de Gauss fonctionne tant que
les pivots sont non nuls. A défaut, il y aura une division par zéro. Cela peut
arriver bien que la matrice A soit inversible. Pour éviter une division par zéro,
on permute la ligne de pivot nul avec l’une des lignes suivantes. La ligne retenue
servira alors de ligne de pivot. Si aucune de ces lignes ne donne un pivot non nul,
c’est que la matrice n’est pas inversible.
Exemple: Résoudre par l’élimination de Gauss le système
3x1 + 2x2 − x3 + x4 = 5
2x1 + 34 x2 + x3 − 2x4 = 73
−x1 − x2 + 2x3 + x4 = 1
x 1 + x2 + x 3 − x4 = 2
3 2 −1 1 : 5
0 ⊙ 5
− 83 : −1
3
0 − 31 53 4
3
: 83
1 4
0 3 3
− 43 : 13
3.1. MÉTHODES DIRECTES 53
Nous voyons que le pivot qui doit servir à la deuxième étape est nul (celui-ci
est représenté par ⊙). On permute alors la ligne 2 et la ligne 3. L’étape 2 consiste
alors à recommencer l’étape 1 sur la sous-matrice
− 13 5
3
4
3
: 38
0
5
3
− 83 : −1
1 4
3 3
− 43 : 31
On obtient
80
(90 − 0.02 0.03 )y = 9.02 − 0.02 8.03
0.03
(90 − 0.02 × 0.2667 104 )y = 9.02 − 0.5352 101
0.3666 102 y = 0.36668 101
y = 0.1001
En reportant dans la première ligne on a
x = (8.03 − 80 × 0.1001)/0.03
x = (8.03 − 8.008)/0.03
x = 0.7333
La solution exacte est: x = 1, y = 0.1.
Nous voyons que l’erreur relative commise sur y est 10−3 . Celle-ci a entraı̂née
une erreur relative sur x de 2.7 103 . Une permutation des lignes n’apportera
rien puisque les coefficients de x des deux lignes sont de même ordre de grandeur.
On peut penser à permuter les lignes et les colonne de sorte que 90 soit le pivot.
Cela apporte une amélioration, mais la précision reste encore faible.
La méthode d’élimination de Gauss est utilisée en général, pour la résolution
de systèmes de taille relativement petite et dont la matrice n’a pas une structure
particulière (symétrie ...). Pour les matrices ayant une structure particulière, on
dispose de méthodes bien appropriées.
Exercice1: Résoudre par l’élimination de Gauss le système
3x1 + 2x2 − x3 + x4 = 5
2x1 + 43 x2 + x3 − 2x4 = 73
−x1 − x2 + 2x3 + x4 = 1
x 1 + x2 + x 3 − x4 = 2
3.1. MÉTHODES DIRECTES 55
(S2 )
On multiplie A à droite par une matrice diagonale inversible D2 .On obtient ainsi
le nouveau système
D1 AD2 y = D1 b avecx = D2 y.
On résout ensuite le système
Cy = d où C = D1 AD2 , d = D1 b
et on calcule x par
x = D2 y.
Le choix des matrices D1 et D2 est tel que les coefficients de chaque lignes soient
assez voisins (en valeur absolue). Avec les notations de l’exercice3, cela signifie
que le rapport αβ soit voisin de 1. Cela s’appelle l’équilibrage de la matrice
A.
Exercice5:On considère le système linéaire dont la matrice dont la matrice a
pour éléments ai,j = i + j − 1 i, j = 1, ..., n et comme second membre, le vecteur
P
de composantes bi = nj=1 ai,j
Ecrire un programme de l’élimination de Gauss avec pivotage partiel.Résoudre
le système linéaire pour n = 3, avec et sans pivotage. (Vous constateriez que
sans pivotage x1 = 0, x2 = 3, x3 = 0 est affichée comme résultat alors que sans
pivotage, il n’yaura pas de solution: a3,3 = 0.).
3.1.2 Décomposition LU
Décomposition par éliminations
Nous savons que l’élimination de Gauss conduit à un système triangulaire supérieur.
On montre (voir exercice ci-dessous) que l’élimination revient à multiplier le
système initial par une matrice triangulaire inférieure à diagonale unité qu’on
notera L−1 . Ainsi, les deux étapes de la méthode d’élimination de Gauss se
schématisent par:
- Calculer U = L−1 A et L−1 b où L est triangulaire inférieure à diagonale unité.
- Résoudre U x = L−1 b
Il s’agit donc d’une décomposition (on dit aussi factorisation) de la matrice
A sous la forme A = LU , où L est triangulaire inférieure à diagonale unité et U
est triangulaire supérieure. Cette décomposition est appelée la décomposition
LU de A. Lorsqu’elle existe, la décomposition est unique (voir exercice sus-
mentionné).
3.1. MÉTHODES DIRECTES 57
Dans certains cas, nous avons besoin de connaı̂tre la matrice L. Nous savons
déjà que sa diagonale est formée par des 1. Il suffit donc de connaı̂tre les autres
éléments de sa partie inférieure. Dans la section ”Algorithmes de la méthode”,
nous avons donné un algorithme bis de l’élimination de Gauss. En remplaçant
dans cet algorithme
ai,k = 0 par Li,k = ai,k ; ai,k = 0
on obtient la partie manquante de la matrice L.
Si on se contente de supprimer ai,k = 0 de l’algorithme mentionné, la matrice
A qu’on récupère à la fin des éliminations contient dans sa partie supérieure
les éléments de U (nous le savions) et dans sa partie strictement inférieure les
éléments de L privée de sa diagonale. Il suffit donc de compléter la diagonale par
des 1 et le reste par des zéros pour écrire L.
Remarques: La stratégie du pivotage partiel revient à multiplier la matrice
A par une matrice de permutations P rendant tous les pivots de la nouvelle ma-
trice P A non nuls. Ainsi, pour une matrice inversible, il existe toujours une ma-
trice de permutations P pour laquelle la matrice P A possède une décomposition
LU .
L’interprétation de l’élimination de Gauss en tant que factorisation en un
produit de deux matrices triangulaires a donner naissance à plusieurs méthodes
basées elles aussi sur la factorisation. Ainsi pour ces méthodes, la résolution d’un
système linéaire est ramenée à la résolution facile de deux systèmes triangulaires.
Exercice1: Montrer que la méthode d’élimination de Gauss permet de cal-
culer le déterminant d’une matrice.
Exercice2: On se donne le système linéaire Ax = b et on suppose que
l’élimination de Gauss peut se faire sans pivotage.
1- Vérifier que l’étape correspondante à l’élimination de x1 consiste à effectuer
le produit L1 A où L1 est définie par
1 0 0 ··· 0
− aa1,12,1
1 0 ··· 0
.. .. ..
L1 = . 0 1 . .
.. .. . .
. . . 1 0
an,1
− a1,1 0 · · · 0 1
iii- Déduire qu’en travaillant dans la même matrice A, les éléments de la partie
ai,k
inférieure de L sont les ak,k pour i = k + 1, ..., n; k = 1, ..., n.
4- Montrer que lorsque la décomposition A = LU existe, elle est unique.
Méthode de Doolittle
Pour effectuer la décomposition A = LU , outre l’élimination de Gauss, on dis-
pose de plusieurs méthodes. La méthode de Doolittle en est une et consiste à
déterminer les coefficients des matrices L et U de la façon suivante:
Puisque L = (li,j ) sera triangulaire inférieure à diagonale unité, on a li,i = 1
pour i = 1, ..., n et li,j = 0 pour i < j.
De même, U = (ui,j ) sera triangulaire supérieure et donc ui,j = 0 pour i > j.
On veut que A = LU .
Ecrivons alors l’expression de la ième ligne et celle de la ième colonne des deux
membres. On obtient
P
ai,j = ik=1 li,k uk,j pour j = 1, ..., n
P
aj,i = jk=1 lj,k uk,i pour j = 1, ..., n
- Pour i = j
Pi−1
ui,i = ai,i − k=1 li,k uk,i pour i = 2, ..., n
Interpolation polynômiale
63
64 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
soit minimal.
On montre que ces abscisses sont définies par:
b−a 2i + 1 b+a
xi = cos( π) + pour i = 0, ..., n.
2 2N + 2 2
M (b − a)n+1
|f (x) − Pn (x)| ≤ .
(n + 1)! 22n+1
Pn (n)
Pn (x) = i=0 Li (x)f (xi )
(n)
où Li est un polynôme de degré inférieur ou égal à n .
(n) (n)
Pour avoir Pn (xj ) = f (xj ) , il suffit que Li (xj ) = 0 si j 6= i et Li (xi ) = 1.
(n) (n) Q
Li (xj ) = 0 pour j 6= i entraı̂ne Li (x) = c j6=i (x − xj ). Q
Compte tenu de
(n) (n) (x−xj )
Li (xi ) = 1 , on a c = Q 1 . Donc Li (x) = Q j6=i(xi −xj )
(x −xj )
j6=i i j6=i
Pn (n)
Pn (x) = i=0 Li (x)f (xi )
66 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
On a alors
Pn (x0 ) = f (x0 ) = y0 ⇒ a0 = y0
Pn (x1 ) = f (x1 ) = y1 ⇒ a1 = xy11 −y
−x0
0
y1 −y0 y −y
x1 −x0
− x2 −x1
Pn (x2 ) = f (x2 ) = y2 ⇒ a2 = 2
x0 −x2
1
Propriété:
4.1. INTERPOLATION POLYNÔMIALE DE LAGRANGE 67
Pk f (xi )
[x0 , ..., xk ]f = i=0 V ′ (xi )
k
f (x0 )
[x0 ] = ′ .
V0 (x − x0 )
Hypothèse de récurrence:
i
X f (xj )
[x0 , ..., xi ]f = ′ .
j=0 Vi (xj )
et
′ ′
Vi+1 (xj ) = (xj − xi+1 )Vi (xj ) pourj = 0, ..., i.
Cela donne ′
′ Vi+1 (xj )
Vi (xj ) = pourj = 0, ..., i
(xj − xi+1 )
et ′
′ V (xj )
W (xj ) = i+1 pourj = 1, ..., i + 1
(xj − x0 )
D’aprés l’hypothèse de récurrence, on a
i
X i+1
X
f (xj ) f (xj )
[x0 , ..., xi ]f = ′ et [x1 , ..., xi+1 ]f = ′
j=0 Vi (xj ) j=1 W (xj )
68 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
Preuve: On a
Q
(n) (x − xj ) Vn (x)
Li (x) = Q j6=i = Q
j6=i (xi − xj ) (x − xi ) j6=i (xi − xj )
Vn (x)
= .
(x − xi )Vn′ (xi )
Donc
n
X f (xi )
Pn (x) = Vn (x) ′
i=1 (x − xi )Vn (xi )
On a donc
n
X f (xi )
f (x) − Pn (x) = f (x) − ′
i=1 (x − xi )Vn (xi )
" n
#
f (xi ) X f (xi )
= Vn (x) − ′
V( x) i=1 (x − xi )Vn (xi )
Posons W (t) = (t − x)Vn (t) = Vn+1 (t) où xn+1 = x. Ils’en suit que
′ ′ ′
Vn+1 (x) = Vn (x) et Vn+1 (xi ) = −(x − xi )Vn (xi )
D’où
n+1
X f (xi )
f (x) − Pn (x) = Vn (x) ′
i=0 Vn+1 (xi )
Pn (x) = P0 (x) + (P1 (x) − P0 (x)) + ... + (Pn (x) − Pn−1 (x))
Comme le degré de Pk (x) − Pk−1 (x) vaut au plus k − 1 et (Pk − Pk−1 )(xi ) = 0
pour i = 0, ...k − 1, on a
D’où
ck = [x0 , ..., xk ]
D’où l’expression de Pk (x).
Les différences divisées peuvent être disposées comme dans le tableau ci-
dessous
[x0 ]f
i [x0 , x1 ]f
[x1 ]f i [x0 , x1 , x2 ]f
i [x1 , x2 ]f i [x0 , x1 , x2 , x3 ]f
[x2 ]f i [x0 , x1 , x2 ]f
i [x2 , x3 ]f
[x3 ]f
Une fois les différences divisées sont calculées, on peut calculer la valeur du
polynôme en une ou plusieurs valeurs de x.
Nous donnons un algorithme pour calculer les différences divisée et la valeur du
polynôme en utilisant le schéma de Horner.
William George Horner (1786-1837), mathématicien anglais.
Algorithme: Formule de Newton.
/* Calcul des différences divisées.*/
Pour i = 0, ..., n Faire
ai = f (xi )
Fin Faire
Pour i = 1, ..., n Faire
70 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
∆0 fi = fi
∆fi = fi+1 − fi
∆k fi = ∆(∆k−1 fi ) k = 1, 2, ...
Soit xi = x0 + ih i = 0, ..., n, une subdivision de l’intervalle [a, b] . Soit f une
fontion de [a, b] dans R.
Posons fi = f (xi ).
74 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
Chapitre 5
Gauss est à l’origine de l’approximation aux moindres carrés. La planète Cérès ve-
nait d’être découverte, quelque mesures ont été prises avant qu’elle ne disparaisse
derrière le soleil. Il fallait prévoir l’endroit où elle réapparaı̂tra. Plusieurs savons
se sont penchés sur la question. Les calculs de Gauss ont été les plus précis.
L’approximation discrète aux moindres carrés (on dit aussi, meilleur approxi-
mation discrète au sens des moindres carrés), a les mêmes objectifs que l’interpolation.
Il s’agit dans les deux cas de trouver une fonction relativement simple (polynôme
ou autre), qui donnerait des valeurs suffisamment proches de celles d’une certaine
grandeur f .
L’approximation discrète aux moindres carrés est en général utilisée lorsque
le nombre d’abscisses est grand. Les raisons de son utilisation sont multiples.
L’interpolation avec un grand nombres d’abscisses, ne conduit pas forcément
à une grande précision. Aussi, plus le nombre d’abscisses d’interpolation est
grand, plus les instabilités numériques sont importantes. A cause de cela, le
degré du polynôme d’interpolation ne dépasse pas en général 7. Dans divers
problèmes, les points (xi , yi ) dont on dispose, forment un nuage dont il est im-
possible de faire passer par ces points, une courbe suffisamment lisse et traduisant
le phénomène. La courbe recherchée est plutôt une courbe intermédiaire qui ne
passe pas forcément par tous les points. L’approximation (au sens d’une cer-
taine norme) s’impose alors. Aussi, dans certaines situations, nous disposons
d’informations sur la forme de la courbe de f . Celle-ci est par exemple une droite,
mais les points (xi , yi ) disponibles, ne sont pas alignés. Là aussi l’approximation
aux moindres carrés est le moyen adéquat.
75
76CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS
Il s’agit donc de minimiser la somme des carrés des erreurs. D’où l’appellation
”Approximation discrète aux moindres carrés”.
Etudions ce problème:
Soit Ψ : Rn → R , définie par
PN Pn
Ψ(a1 , ..., an ) = i=1 ( j=1 aj ϕj (xi ) − yi )2
∂Ψ(a1 , ..., an )
= 0 pourk = 1, ..., n.
∂ak
∂Ψ(a1 ,...,an ) PN Pn
∂ak
=0⇔ i=1 2ϕk (xi )( j=1 aj ϕj (xi ) − yi ) = 0
Pn PN PN
⇔ j=1 i=1 aj ϕj (xi )ϕk (xi ) − i=1 ϕk (xi )yi = 0
Pn PN PN
⇔ j=1 aj [ i=1 ϕj (xi )ϕk (xi )] = i=1 ϕk (xi )yi
Nous avons obtenu une condition nécessaire. Nous devons voir sous quelle
condition elle est suffisante. soient ϕek , k = 1, ..., n et fe les vecteurs de RN
définis par
ϕk (x1 ) y1
. e .
ϕek = .. , f = ..
ϕk (xN ) yN
e .
Soit ge ∈ Φ n
2
2
ge − fe
=
(ge − ff∗ ) + (ff∗ − fe)
2
2 D E
=
ge − ff∗
+
ff∗ − fe
− 2 ge − ff∗ , ff∗ − fe
2
2
=
ge − ff∗
+
ff∗ − fe
Il en découle
2
2
ge − fe
≥
ff∗ − fe
∀ge ∈ Φ
e
n
78CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS
Il est connu qu’une matrice carrée est singulière (non inversible) si et seulement
si l’une de ses colonnes est combinaison linéaire des autres colonnes. Sans nuire
à la généralité, nous supposons que la première colonne est combinaison linéaire
des autres. Cela donne
hϕe1 , ϕe1 i hϕe1 , ϕei i
. Pn
..
.. =
i=1 λi .
hϕn , ϕ1 i
e e hϕn , ϕi i
e e
Les vecteurs de part et d’autre de l’égalité ont les mêmes composantes. Cela
se traduit par
Pn
hϕej , ϕe1 i = i=1 λi hϕej , ϕei i pour j = 1, ..., n.
Donc
P P
hϕej , ϕe1 − ni=1 λi ϕei i = 0 pour j = 1, ..., n ⇔ ϕe1 − ni=1 λi ϕei = 0
P
⇔ ϕ1 (xk ) − ni=1 λi ϕi (xk ) = 0 pour k = 1, ..., N
5.1. CADRE GÉNÉRAL 79
Pn
Cela signifie que la fonction ϕ = ϕ1 − i=1 λi ϕi possède au moins N racines
distinctes.
Pour que le problème ait pour toute valeur de N ≥ n une et une seule solution,
il suffit donc que toute fonction de Φn ait moins (au sens strict) de n racines.
Définition: Un sous éspace-vectoriel F de C([a, b]) de dimension n vérifie la
condition de Haar, si tout élément non nul de F possède moins (au sens strict)
de n racines.
Une base {ϕ1 , ..., ϕn } de F , est dite alors système de Tchébycheff.
Alfred Haar (1885-1933), mathématicien hangrois.
Pafnouty Lvovitch Tchébycheff (1821-1894), mathématicien russe.
Exemple: L’espace Pn des polynômes de degré inférieur ou égal à n, vérifie
la condition de Haar.
{1, x, ..., xn } est un système de Tchébycheff.
Théorème: Soit Φn un sous-éspace vectoriel de C([a, b]), engendré par une
base {ϕ1 , ..., ϕn }.
On suppose que Φn vérifie la condition de Haar.
Soient x1 , ..., xN des abscisses distinctes dans [a, b] et y1 , ..., yN des réels donnés,
avec N ≥ n.
Il existe alors une et une seule fonction f ∗ ∈ Φn telle que
PN ∗ PN
i=1 (f (xi ) − yi )2 = ming∈Φn i=1 (g(xi ) − yi )2
Pn PN PN
j=1 aj [ i=1 ϕj (xi )ϕk (xi )] = i=1 ϕk (xi )yi pour k = 1, ..., n
Pn
f∗ = j=1 aj ϕj
y = beax
1) Caractériser le minimum de Ψ.
Vous constateriez que a et b, ne peuvent pas être explicités.
2) Au lieu de y = beax , prenons l’équation équivalente, Log(y) = Log(b) + ax.
C’est une expression polynômiale.
i) Formuler l’approximation discrète aux moindres carrés.
ii) Donner l’expression de a et log(b).
Exercice2: Les valeurs connues d’une certaine fonction f sont:
1 1 1 1
f (−1) = −1, f (− ) = − , f (0) = 0, f ( ) = , f (1) = 1
2 4 2 4
5.2. APPROXIMATION POLYNÔMIALE AUX MOINDRES CARRÉS 81
Intégration numérique
Z b
I= f (x)dx
a
sont nombreuses.
Chaque méthode, concerne une classe particulière de fonctions à intégrer. Cela
nécessite l’écriture d’un programme complexe et volumineux.
Aussi, ces méthodes ne permettent au fait d’intégrer qu’un nombre restreint
de fonctions. Un exemple où aucune méthode de calcul direct ne donne la solution
est l’intégrale
Z 1q
1 + (cos x)2 dx.
0
D’un autre côté, il est souvent question d’intégrer une fonction ne pouvant être
connue qu’en un nombre limité d’abscisses. Les méthodes numériques ont l’avantage
d’être générales, faciles à utiliser sur ordinateur et peuvent fournir la solution avec
une grande précision.
L’expression intégration numérique est utilisée en général pour désigner
l’intégration approchée des intégrales simples et multiples. Dans le cas d’intégrale
simple on utilise l’expression quadrature numérique alors que dans le cas de
plusieurs variables, on dit Cubature numérique.
Il est question
Ra
ici d’intégration d’une fonction à une seule variable (quadrature
numérique): b f (x)dx.
83
84 CHAPITRE 6. INTÉGRATION NUMÉRIQUE
Les méthodes (on dit aussi formules) obtenues de cette façon sont dites de type
interpolation: Elles sont exactes sur Pn (In = I ∀f ∈ Pn ).
Un choix simple des abscisses d’interpolation, consiste à les prendre équidistantes:
b−a
xi = a + ih pour i = 0, ..., N avec h = .
N
Dans ce cas, In est dite formule de Newton-Cotes.
Roger Cotes (1682-1716) mathématicien anglais.
On montre cependant que si les abscisses d’interpolation sont quelconques ou
équidistantes, la méthode devient numériquement instable lorsque le degré n du
polynôme augmente et l’erreur de quadrature peut ne pas diminuer (la méthode
ne converge pas).
Pour obtenir des méthodes numériquement stables et convergentes, on dispose
principalement de deux moyens.
Le premier moyen consiste à décomposer l’intervalle [a, b] en deux ou plusieurs
sous-intervalles et interpoler séparément sur chacun des sous-intervalles par des
polynômes d’un bas degré. Ces méthodes sont dites méthodes composites.
Dans les méthodes composites f est donc approchée sur l’intervalle [a, b] par des
morceaux de polynômes et non pas par un seul et même polynôme. Parmi ces
6.2. MÉTHODE DES TRAPÈZES 85
Sur chaque segment [xi , xi+1 ] l’intégrale de f est ainsi assimilée à la surface
du trapèze ayant pour sommets: (xi , 0), (xi , f (xi ), (xi+1 , 0), (xi+1 , f (xi+1 )
On prend ainsi
Pn−1 R xi+1
In = i=0 xi Pi (x)dx
En développant, on obtient
h
In = [f (x0 ) + 2f (x1 ) + ... + 2f (xn−1 ) + f (xn )]
2
dite méthode des trapèzes ou méthode composite du trapèze.
86 CHAPITRE 6. INTÉGRATION NUMÉRIQUE
h
In = [f (x0 ) + 2f (x1 ) + ... + 2f (xn−1 ) + f (xn )] .
2
Si f est de classe C 2 dans [a, b],alors
b−a 2 ′′
∃β ∈ [a, b] tel que In − I = 12
h f (β).
Posons x = xi + th.
R1 1 ′′
Ji = h3 0( t(t − 1)f (c
2 i ))dt
t(t−1) ne change pas de signe dans l’intervalle [0, 1]. La formule de la moyenne
donne
′′ R1 1
Ji = h3 f (ci ) 0 2 t(t − 1)dt
1 3 ′′
= − 12 h f (ci )
′′
f étant continue, soit
′′ ′′
M = max f (x) et m = min f (x)
x∈[a,b] x∈[a,b]
On a
Pn−1 ′′
f (ci )
m≤ i=0
n
≤M
Donc
n 3 ′′
In − I = 12
h f (β)
b−a 2 ′′
= 12
h f (β).
La méthode est donc exacte sur l’espace des polynômes de degré inférieur ou égal
à 1.
on considère que la source principale des erreurs réside dans le calcul des f (xi ).
Supposons qu’au lieu de la valeur exacte de f (xi ), la quantité qui intervient
réellement dans le calcul de In est f (xi ) + εi . Ainsi, au lieu d’avoir exactement
In, on aura plutôt
88 CHAPITRE 6. INTÉGRATION NUMÉRIQUE
Pn
In = i=0 ai (f (xi ) + εi )
Pn Pn
= i=0 ai f (xi ) + i=0 ai ε i
Pn
= In + i=0 ai εi
P
Malgré la petitesse des erreurs εi , la somme ni=0 ai εi peut devenir très
grande lorsque n devient grand (ou d’une façon équivalente, lorsque h devient
petit puisque h = b−a
n
).
Définition: Une formule de quadrature
n
X
In = ai f (xi ),
i=0
6.2.2 Convergence
Il s’agit de voir sous quelles conditions on a
lim In = I.
n→+∞
b−a 2 ′′
In − I = 12
h f (β) où β ∈ [a, b]
b−a
D’un autre côté h = n
, donc
(b−a)3
|In − I| ≤ 12n2
M.
D’où la convergence.
On montre qu’au fait, la méthode des trapèzes converge pour f seulement
continue sur [a, b] .
b − a (4)
In − I = h4 f (α) où α ∈ [a, b] .
180
Nous voyons que la formule est exacte pour tout polynôme de degré inférieur
ou égal à 3.
R √
Exercice1: Soit à calculer l’integrale I = 12 xdx, par la méthode des
trapèzes. Pour cela on décompose l’intervalle [a, b] en dix parties égales.
1) Estimer l’erreur qui en résultera. √ √
√ 2) Calculer I
√10 en utilisant√les valeurs suivantes:
√ 1.1 = 1.049,
√ 1.2 =√1.095,
1.3 =√1.140, 1.4√ = 1.183, 1.5 = 1.225, 1.6 = 1.265, 1.7 = 1.304 1.8 =
1.342, 1.9 = 1.378 2 = 1.414.
3) Estimer l’erreur qui résulterait de la méthode de Simpson.
R
Exercice2: Soit l’intégrale I = 01 3x2 dx.
1) Evaluer I par la méthode des trapèzes en prenant h = 0.1.
2) Quel est le nombre de chiffres exacts?
R
Exercice3: Comme valeur approchée de l’intégrale I = ab f (x)dx, on prend
h i
b−a
J= 6
f (a) + 4f ( a+b
2
) + f (b)
Equations différentielles
93
94 CHAPITRE 7. EQUATIONS DIFFÉRENTIELLES
7.2.1 Consistance
Définition1: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est dite consistante avec le
problème de Cauchy si pour toute solution y de l’équation
N
X −1
lim |y(xn+1 ) − y(xn ) − hΦ(h, xn , y(xn ))| = 0
h→0
i=0
Définition: La quantité
∃τ ≤ η1 : |x − s| ≤ τ ⇒ |y(x) − y(s)| ≤ η2 .
Donc
ǫ
∀h ≤ τ |f (xn + tn h, y(xn + tn h) − f (xn , y(xn ))| ≤
b−a
Donc
N
X −1
|y(xn+1 ) − y(xn ) − hf (xn , y(xn ))| =
i=0
N
X −1
ǫ
h |f (xn + tn h, y(xn + tn h)) − f (xn , y(xn ))| ≤ hN = ǫ.
i=0 b−a
D’où la consistance.
7.2.2 Convergence
Définition: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est convergente si
Donc
7.2. MÉTHODE D’EULER 97
Récursivement, on obtient
(1+hk)n −1
|y(xn+1 ) − yn+1 | ≤ (1 + hk)n |y(x0 ) − y0 | + k
ε
k(b−a)
≤ e k −1 ε
D’où la convergence.
7.2.3 Ordre
Définition: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est dite d’ordre p si
y(x
n+1 ) − y(xn )
max
∃M indépendant de h tel que − Φ(h, xn , y(xn ) ≤ M hp
0≤n≤N h
où tn ∈ [a, b] .
f étant de classe C 1 , y ′′ est alors bornée sur [a, b]:
∂
∃M tel que maxt∈[a,b] ∂x f (tn , y(tn )) + f (tn , y(tn )) ∂y f (tn , y(tn )) ≤ M
avec |αn | ≤ M .
d’un autre côté
yn+1 = yn + hf (xn , yn )
Donc
(1+hk)n+1
|y(xn+1 ) − yn+1 | ≤ (1 + hk)n+1 |y(x0 ) − y0 | + k
Mh
k(b−a)
≤ e k −1 )M h
yn+1 = yn − hyn
= (1 − h)n+1 y0
% & '
(& )
)
% & & $
'
!
*
!! " #
$ %
+ ' , "
- & ./
+ 01 2
!
& ! ! ' ( )
3 .
3 * 4
& ! * +%
" # $ $
+)
,!! " ! ' ( " %
% &
)
) !-.
5 ) "
""
) / !
' ( ))
+
+ 0
$
$
( $
5 ) $"
* & 2
103 BIBLIOGRAPHIE
B ibliogr aphie