Vous êtes sur la page 1sur 11

MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.1 : p.

1/2

**** EXERCICE 1 ****

1◦ ) a) Ecriture de X = 411 en base 2.


nombres quotients par 2 restes
411 205 1
205 102 1
102 51 0
51 25 1 2
Par divisions successives par 2, on obtient : D’où : X = 110 011 011 .
25 12 1
12 6 0
6 3 0
3 1 1
1 0 1

b) Ecritures de Y = 0, 37157 et Z = −411, 37157 en base 2, avec 8 chiffres binaires après la virgule.
Ci-après, pour un nombre réel x > 0, on note :
sa partie entière par E(x) ∈ IN, et sa partie fractionnaire par Pf(x) = x − E(x) ∈ [ 0, 1[ ;
et rappelons que (E(x), Pf(x)) est l’unique couple ∈ IN × [ 0, 1[ et vérifiant : x = E(x) + Pf(x).
• Ecriture de Y = 0, 37157 en base 2, avec 8 chiffres binaires après la virgule.
Posons x1 = Y = 0, 37157. Par multiplications successives par 2, puis extraction, à chaque fois, de la partie
entière et de la partie fractionnaire du résultat, on obtient :
k xk 2xk E(2xk ) Pf(2xk )
1 0, 37157 0 , 74314 0 0, 74314
2 0, 74314 1 , 48628 1 0, 48628
3 0, 48628 0 , 97256 0 0, 97256
2
4 0, 97256 1 , 94512 1 0, 94512 D’où : Y ≃ 0, 010 111 11 .
5 0, 94512 1 , 89024 1 0, 89024
6 0, 89024 1 , 78048 1 0, 78048
7 0, 78048 1 , 56096 1 0, 56096
8 0, 56096 1 , 12192 1 0, 12192

∗∗∗ Remarque/Commentaire n◦ 1 :
2 2
Bien noter qu’on a écrit ci-dessus « Y ≃ 0, 010 111 11 » , et non « Y = 0, 010 111 11 » (comme
écrit par presque toute la classe).
La 1ère raison est que vu que la dernière partie fractionnaire dans le tableau précédent (i.e. 0, 12192)
2
n’est pas nulle, alors Y ̸= 0, 010 111 11 . Ceci se déduit simplement de la logique mathématique derrière
la construction de ce genre de tableau.
La 2 ème raison est que le symbole ≃ sert pour noter une égalité à ±1 près sur le dernier chiffre affiché
2
dans le nombre de droite. En effet, ici, les calculs du tableau entraînent que | Y −0, 010 111 11 | < 2 −8 .

• Ecriture de Z = −411, 37157 en base 2, avec 8 chiffres binaires après la virgule.


On voit que Z = −(X + Y ). Ainsi, signe(Z) = “ − ” et on a :
( )
| Z | = X + Y, avec X ∈ IN et Y ∈ [ 0, 1[ =⇒ E(| Z |) = X = 411 et Pf(| Z |) = Y = 0, 37157. (E1.1 )

On déduit alors, de 1◦ )a) et du résultat précédent sur Y , que : Z = −110 011 011, 010 111 11
2
.

2◦ ) Utilisons ce qui précède pour trouver les représentants respectifs de Y et Z dans la mémoire
d’un ordinateur utilisant le système de réels-machine R (2, 15, −400, 400).
•• Rappelons d’abord que :
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.1 : p.2/2

• le système de réels-machine R = R (2, 15, −400, 400) est l’ensemble des nombres réels r qui peuvent se
mettre sous la forme r = ∗M × be , avec :
1. b = 2, la base utilisée par cet ordinateur pour représenter les nombres réels ;
2. ∗ = signe(r) ∈ { +, −}, le signe du nombre réel r ;
2
3. M = mantR (r) = 0, c1 c2 · · · c15 , la mantisse (normalisée) du nombre réel r en base b = 2,
où : ∀ i = 1 (1) 15, ci = 0 ou 1, avec c1 ̸= 0 =⇒ c1 = 1 ;
4. e = expoR (r) ∈ [ − 400 (1) 400 ], l’exposant du réel x dans la base b = 2 ;
• on a aussi 0 ∈ R , mais cela ne nous concerne pas ici ;
• pour un nombre réel arbitraire x donné, lorsqu’il n’y a pas débordement (i.e. ni overflow, ni underflow),
on note x R son représentant dans le système de réels-machine R = R (2, 15, −400, 400), obtenu
par arrondissement au plus près. Donc x R est l’élément de R le plus proche de x.
•• Pour Y , nous allons d’abord trouver son écriture normalisée en base 2, avec une mantisse à 15 chiffres binaires.
Pour cela, ayant déjà vu précédemment que les deux 1ers chiffres, après la virgule, de l’écriture en base 2 de Y
sont 0 et 1 ̸= 0, alors il faut préalablement trouver son écriture en base 2 avec 16 chiffres binaires après la virgule.
Pour obtenir cette dernière, continuons la construction du tableau précédent jusqu’au rang k = 16, ce qui donne :
k xk 2xk E(2xk ) Pf(2xk )
9 0, 12192 0 , 24384 0 0, 24384
10 0, 24384 0 , 48768 0 0, 48768
11 0, 48768 0 , 97536 0 0, 97536
12 0, 97536 1 , 95072 1 0, 95072
13 0, 95072 1 , 90144 1 0, 90144
14 0, 90144 1 , 80288 1 0, 80288
15 0, 80288 1 , 60576 1 0, 60576
16 0, 60576 1 , 21152 1 0, 21152

=⇒ Y ≃ 0, 010 111 110 001 111 1 = 0, 10 111 110 001 111 1 × 2 −1 .


2 2

Et comme la dernière partie fractionnaire dans ce dernier tableau est 0, 21152 < 0, 5, alors, en arrondissant au
plus près, on déduit que :
= 0, 10 111 110 001 111 1 × 2 −1 .
2
Y R

•• De (E1.1 ) et de ce qui vient d’être fait pour Y , on déduit que pour Z, on a :


2 2
Z ≃ −110 011 011, 010 111 110 001 111 1 = −0, 110 011 011 010 111|| 110 001 111 1 × 2 9 , (E1.2 )
2
=⇒ Z R = −0, 110 011 011 011 000 × 2 9 . (E1.3 )

∗∗∗ Remarque/Commentaire n◦ 2 :
Le symbole || dans (E1.2 ) est mis juste à droite du 15 ème chiffre de la mantisse de Z en base 2.
Cependant, contrairement à ce que presque toute la classe a fait (à une remarquable exception près), il
ne suffit pas de couper l’écriture de cette mantisse après ce 15 ème chiffre pour en déduire le représentant
de Z dans le système de réels-machine R (2, 15, −400, 400). Il faut aussi regarder les chiffres qui viennent
après le 15 ème pour voir comment arrondir exactement la mantisse de Z au plus près.
Dans le cas présent, on observe que le 16 ème chiffre de la mantisse de Z est 1 = b/2 (N.B. le
chiffre 1 joue donc en base b = 2 le rôle que joue 5 en base b = 10), et qu’il y a au moins un chiffre
non nul après celui là. Par conséquent, pour obtenir le représentant de Z dans le système de réels-
machine R (2, 15, −400, 400), la mantisse à 15 chiffres binaires de Z doit être arrondie à celle qui lui
est immédiatement supérieure, i.e. ajouter +1 au 15 ème chiffre, mais en tenant compte du fait qu’on
est en base 2, et donc propager les retenues en conséquence vers la gauche jusqu’à ce qu’il n’y en est
plus (soit une retenue nulle). D’où le résultat donné en (E1.3 ).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fin de la Correction de l’EXERCICE 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.2 : p.1/2

**** EXERCICE 2 ****


1◦ ) a) Calculons pL0, 2, 5, −1, 1 f sous forme de Newton pour les données :
f (0) = 3, f (2) = 1, f (5) = −2, f (−1) = −2, f (1) = 0.
en gardant les points d’interpolation dans l’ordre donné.
Pour ces données et cet ordre des points d’interpolation, on a, par la forme de Newton, ∀ x ∈ IR :
(pL0, 2, 5, −1, 1 f )(x) = f (0) + f [ 0, 2 ] · x + f [ 0, 2, 5 ] · x(x − 2) + f [ 0, 2, 5, −1 ] · x(x − 2)(x − 5)
+ f [ 0, 2, 5, −1, 1 ] · x(x − 2)(x − 5)(x + 1).
Il suffit alors de calculer les coefficients f [ 0, 2 ], f [ 0, 2, 5 ], f [ 0, 2, 5, −1 ] et f [ 0, 2, 5, −1, 1 ] par le tableau :

0: f (0) = 3

2: f (2) = 1 −→ f [ 0, 2 ] = −1
↘ ↘
5: f (5) = −2 −→ f [ 2, 5 ] = −1 −→ f [ 0, 2, 5 ] = 0
↘ ↘ ↘
1 1
−1 : f (−1) = −2 −→ f [ 5, −1 ] = 0 −→ f [ 2, 5, −1 ] = − −→ f [ 0, 2, 5, −1 ] =
3 3
↘ ↘ ↘ ↘
1 1 5
1: f (1) = 0 −→ f [ − 1, 1 ] = 1 −→ f [ 5, −1, 1 ] = −→ f [ 2, 5, −1, 1 ] = − −→ f [ 0, 2, 5, −1, 1 ] = −
4 12 12
• Conclusion : ∀ x ∈ IR,
1 5
(pL0, 2, 5, −1, 1 f )(x) = 3 − x + x(x − 2)(x − 5) − x(x − 2)(x − 5)(x + 1) .
3 12

∗∗∗ Remarque/Commentaire n◦ 3 :
Ce qui a été ahurissant dans le traitement de cette question, c’est que, malgré les prescriptions
explicites faites en Cours sur ce qui serait attendu lors des évaluations comme organisation de la
présentation pour ce genre de calculs, une proportion incroyable de la Classe (particulièrement dans
le Groupe B) a trouvé bon d’y répondre dans une jungle indescriptible confondant, sans aucun état
d’âme, la feuille de composition avec le brouillon. Du jamais vu à ce niveau !!!

b) Base de l’espace vectoriel (à préciser) dans laquelle pL0, 2, 5, −1, 1 f a été ainsi écrit.
On sait que le polynôme pL0, 2, 5, −1, 1 f ∈ IR4 [x], lequel est un IR-espace vectoriel. Avec sa forme de Newton
obtenue ci-dessus, ce polynôme a été écrit dans la base suivante de cet espace vectoriel :
( )
B New
4; 0, 2, 5, −1 = 1, x, x(x − 2), x(x − 2)(x − 5), x(x − 2)(x − 5)(x + 1) .

Il s’agit de la base de Newton de IR4 [x] relativement au quadruplet de réels (0, 2, 5, −1) .

∗∗∗ Remarque/Commentaire n◦ 4 :
Pour cette question, une démarche très populaire dans les copies a consisté, à répondre « la base de
Newton de l’espace vectoriel IR4 [x] » , puis passer à la question suivante. OK pour l’espace vectriel, mais
KO s’agissant de la base. Le problème est qu’il y a une infinité de bases de Newton de IR4 [x].
En effet, chaque( fois qu’on fixe 4 nombres réels a1 , a2 , a3 , a4 (distincts ou pas), on peut construire )
BNew
4; a1 , a2 , a3 , a4 = 1, x − a1 , (x − a1 )(x − a2 ), (x − a1 )(x − a2 )(x − a3 ), (x − a1 )(x − a2 )(x − a3 (x − a4 ) ,
la base de Newton de IR4 [x] relative à a1 , a2 , a3 , a4 . Donc parler de « la base de Newton de
IR4 [x] » , sans autre spécification, ne veut rien dire.
D’autre part, il faut bien noter que la base de Newton qui intervient ici est B New 4; 0, 2, 5, −1 , et non
B4; 0, 2, 5, −1,1 comme écrit par beaucoup. En effet, une particularité de la forme de Newton du p.i.L.
New

fait que le dernier point d’interpolation (ici x4 = 1) n’intervient pas dans la base de Newton pertinente
ici. Une manière de s’en souvenir est qu’un p.i.L. à n + 1 points d’interpolation appartient à IRn [x],
mais une base de Newton du IR-e.v. IRn [x] se construit à partir de la donnée de n réels seulement.
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.2 : p.2/2

c) Schéma de Hörner de pL0, 2, 5, −1, 1 f dans la base ci-dessus.


1 5
On a, ∀ x ∈ IR : (pL0, 2, 5, −1, 1 f )(x) = 3 − x + x(x − 2)(x − 5) − x(x − 2)(x − 5)(x + 1)
3 12
( 1 5 )
= 3 + x −1 + (x − 2)(x − 5) − (x − 2)(x − 5)(x + 1)
3 12
( ( 1 5 ))
= 3 + x − 1 + (x − 2) 0 + (x − 5) − (x − 5)(x + 1) ,
3 12
1 5
=⇒ (pL0, 2, 5, −1, 1 f )(x) = 3 + x (−1 + (x − 2)(0 + (x − 5)( − (x + 1) ))) ,
3 12

1 5
ou, mieux : (pL0, 2, 5, −1, 1 f )(x) = 3 + x(−1 + (x − 2)(x − 5)( − (x + 1) )) .
3 12

2◦ ) a) Même sans faire le moindre calcul, on est sûr, d’avance, que pL0, 2, 5, −1, 1 f s’annule en x = 1.
Disons pourquoi.
On sait que, par définition, pL0, 2, 5, −1, 1 f prend les mêmes valeurs que f aux 5 points 0, 2, 5, −1, 1. Or, dans
les données, f (1) = 0. Il s’ensuit que (pL0, 2, 5, −1, 1 f )(1) = 0. Ainsi, pL0, 2, 5, −1, 1 f s’annule bien en x = 1. Cqfd.
b) Sans faire de nouveaux calculs, extrayons, des calculs effectués en 1◦ ) a) ci-dessus, une expres-
sion de pL0, 2, 5, −1, 1 f sur IR montrant directement que ce polynôme s’annule en x = 1, en nous
justifiant clairement.
Partons de ce que pL0, 2, 5, −1, 1 f = pL1, −1, 5, 2, 0 f , grâce à l’invariance d’un p.i.L. par permutation de ses points
d’interpolation. Or, par la forme de Newton, on a, ∀ x ∈ IR :
(pL1, −1, 5, 2, 0 f )(x) = f (1) + f [ 1, −1 ] · (x − 1) + f [ 1, −1, 5 ] · (x − 1)(x + 1)
+ f [ 1, −1, 5, 2 ] · (x − 1)(x + 1) (x − 5)
+ f [ 1, −1, 5, 2, 0 ] · (x − 1)(x + 1) (x − 5)(x − 2).
Toujours du fait de l’invariance signalée ci-dessus, on sait qu’on a :
f [ 1, −1 ] = f [ − 1, 1 ],
f [ 1, −1, 5 ] = f [ 5, −1, 1 ],
f [ 1, −1, 5, 2 ] = f [ 2, 5, −1, 1 ],
f [ 1, −1, 5, 2, 0 ] = f [ 0, 2, 5, −1, 1 ].
D’où, d’après la dernière ligne du tableau des différences divisées construit en 1◦ )a) :
1 1 5
f [ 1, −1 ] = 1, f [ 1, −1, 5 ] = , f [ 1, −1, 5, 2 ] = − , f [ 1, −1, 5, 2, 0 ] = − .
4 12 12
En injectant les valeurs de ces derniers coefficients dans la forme de Newton de pL1, −1, 5, 2, 0 f écrite ci-dessus, puis
tenant compte de ce que f (1) = 0 et pL0, 2, 5, −1, 1 f = pL1, −1, 5, 2, 0 f , il vient :
1 1 5
(pL0, 2, 5, −1, 1 f )(x) = (x − 1) + (x − 1)(x + 1) − (x − 1)(x + 1)(x − 5) − (x − 1)(x + 1)(x − 5)(x − 2) .
4 12 12
Cette dernière expression de pL0, 2, 5, −1, 1 f est une somme de termes ayant tous (x−1) en facteur, donc s’annulant
chacun pour x = 1. Il s’ensuit que c’est une expression de pL0, 2, 5, −1, 1 f sur IR montrant directement que ce
polynôme s’annule en x = 1.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fin de la Correction de l’EXERCICE 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.3 : p.1/2

**** EXERCICE 3 ****


Dans ce qui suit, x0 , · · · , xn sont n + 1 réels 2 à 2 distincts (n ∈ IN), et on pose : Q = ℓ0 + · · · + ℓn ,
où ℓ0 , · · · , ℓn sont les n + 1 polynômes de base de l’interpolation de Lagrange associés à x0 , · · · , xn .
Par ailleurs, les notations sont celles du Cours, mais on rappelle que [ 0 (1) n ] = { 0, · · · , n}.
I - 1◦ ) Soit un indice i ∈ [ 0 (1) n ]. Rappelons les propriétés qui caractérisent ℓi .
ℓi est caractérisé par le fait que c’est l’unique polynôme de IR[x] de degré 6 n (i.e. ∈ IRn [x]) et vérifiant :
∀ j ∈ [ 0 (1) n ], ℓi (xj ) = δij , i.e. ℓi (xi ) = 1 et ℓi (xj ) = 0 si i ̸= j.
2◦ ) a) Calculons Q(xi ), ∀ i ∈ [ 0 (1) n ].

n ∑
n ∑
n
Pour i ∈ [ 0 (1) n ], on a : Q(xi ) = ℓj (xi ) = ℓi (xi ) + ℓj (xi ) = 1 + 0 = 1. Par conséquent,
j =0 j =0 j =0
j ̸= i j ̸= i

∀ i ∈ [ 0 (1) n ], Q(xi ) = 1 . (E3.1 )

b) Déduisons à quoi est égal Q(x), ∀ x ∈ IR.


Du fait que IRn [x] est un IR-e.v., on tire :
( )
Q = ℓ0 + · · · + ℓn , avec, ∀ i ∈ [ 0 (1) n ], ℓi ∈ IRn [x] =⇒ Q ∈ IRn [x]. (E3.2 )
La conjonction de (E3.1 ) et (E3.2 ) implique que :
Q est un polynôme de IRn [x] qui la prend la valeur 1 en chacun des n + 1 réels distincts x0 , · · · , xn . (E3.3 )
Mais nous connaissons déjà un polynôme de IRn [x] ayant cette propriété : le polynôme constant P0 égal à 1
sur IR. Or, un Théorème du Cours dit que pour les n + 1 réels distincts x0 , · · · , xn donnés, on a :
∀ y0 , · · · , yn ∈ IR, ∃ ! P ∈ IRn [x]/ ∀ i ∈ [ 0 (1) n ], P (xi ) = yi . (E3.4 )
En prenant yi = 1, ∀ i ∈ [ 0 (1) n ], l’unicité dans ce Théorème impliqu’on a, nécessairement : Q = P0 . D’où :
∀ x ∈ IR, Q(x) = 1 . (E3.5 )

II - Soit maintenant une fonction f : IR −→ IR / x0 , · · · , xn ∈ Df , et on pose Pn = pLx0 ···xn f .


1◦ ) a) Rappelons la définition de Pn .
L’une ou l’autre des définitions suivantes est valable :
• Définition :
Pn est l’unique polynôme de degré 6 n qui coïncide avec la fonction f en x0 , · · · , xn .

• Définition 1’ :
Pn est l’unique polynôme de degré 6 n qui prend les mêmes valeurs que f en x0 , · · · , xn .

• Définition 1” :
Pn est l’unique polynôme de IRn [x] vérifiant : Pn (x0 ) = f (x0 ), · · · , Pn (xn ) = f (xn ) .

• Définition 1” ’ :
Pn est l’unique polynôme de degré 6 n qui interpole la fonction f en x0 , · · · , xn .

∗∗∗ Remarque/Commentaire n◦ 5 :
Pn = pLx0 ···xn f est appelé « polynôme d’interpolation de Lagrange de la fonction f
relativement aux n + 1 points x0 , · · · , xn » .
Mais cela ne le définit pas, car cela ne dit pas ce qu’il est : ce n’est que son appellation !!!

b) Donnons ( sans démonstration) 2 expressions différentes de Pn sur IR.


MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Exo.3 : p.2/2

• Forme de Lagrange de Pn :

n
∀ x ∈ IR, Pn (x) = f (x0 ) · ℓ0 (x) + · · · + f (xn ) · ℓn (x) = f (xi ) · ℓi (x) ;
i=0

• Forme de Newton de Pn :

n
∀ x ∈ IR, Pn (x) = f (x0 ) + f [ x0 , · · ·, xk ] · (x − x0 ) · · · (x − xk−1 )
k=1
= f (x0 ) + f [ x0 , x1 ] · (x − x0 ) + f [ x0 , x1 , x2 ] · (x − x0 )(x − x1 )
+ · · · + f [ x0 , · · ·, xn ] · (x − x0 ) · · · (x − xn−1 ).

c) Données qu’il faut pour calculer la valeur de Pn en un réel x donné et résultat attendu.
• Données :
n ∈ IN ;
x0 , · · · , xn ∈ IR ; /* x0 , · · · , xn ∈ Df , et 2 à 2 distincts */
y0 , · · · , yn ∈ IR ; /* tels que ∀ i = 0 (1) n, yi = f (xi ) */
x ∈ IR ; /* Point en lequel on veut calculer la valeur du polynôme Pn */
• Résultat attendu :
y ∈ IR ; /* y = Pn (x) = (pLx0 ···xn f )(x) */
2◦ ) On se place ici dans une situation où les valeurs de f en x0 , · · · , xn ne sont pas connues
en valeur exacte, mais plutôt à travers des valeurs approchées respectives ye0 , · · · , yen . Et on
suppose que chacune de ces valeurs approchées est entâchée d’une incertitude absolue 6 ε, où
ε est une constante réelle > 0 donnée.
Montrons alors qu’on ne pourra, au mieux, espérer calculer P en un réel x donné qu’à
travers une valeur approchée ye ayant une incertitude absolue 6 ε · gn (x), où gn est une fonction
de IR −→ IR, à préciser et telle que gn > 1 sur IR.
D’après la forme de Lagrange de Pn rappelée en 1◦ )b) et les données décrites en 1◦ )c) ci-dessus, on a, avec la
valeur réelle x donnée :

n
y = Pn (x) = y0 · ℓ0 (x) + · · · + yn · ℓn (x) = yi · ℓi (x).
i=0
Mais si on n’a pas les valeurs exactes de y0 , · · · , yn , mais plutôt des valeurs approchées respectives ye0 , · · · , yen ,
alors le mieux qu’on pourra faire est d’essayer de calculer comme valeur approchée de y = Pn (x) :

n
e
ye = Pn (x) = ye0 · ℓ0 (x) + · · · + yen · ℓn (x) = yei · ℓi (x).
i=0
Il s’ensuivra une erreur absolue δye sur la valeur de y donnée par (où δyei = yei − yi , ∀ i = 0 (1) n) :
∑n ∑ n ∑n ∑ n
δye = ye − y = yei · ℓi (x) − yi · ℓi (x). = yi − yi ) · ℓi (x) =
(e δyei · ℓi (x).
i=0 i=0 i=0 n i=0


D’où une incertitude absolue | δye | sur la valeur de y : | δye | = | ye − y | = δyei · ℓi (x) ;

i=0
∑n ∑ n
=⇒ | δye | 6 | δyei | · | ℓi (x) | 6 ε · | ℓi (x) |, car, par hypothèse, | δyei | 6 ε, ∀ i = 0 (1) n,
i=0 i=0


n ∑
n
=⇒ | δye | 6 ε · | ℓi (x) |, i.e. | δye | 6 ε · gn (x), avec gn : IR −→ IR définie par : gn (x) = | ℓi (x) |.
i=0 i=0

∑n

Or, gn (x) >

ℓi (x) , i.e. gn (x) > | Q(x) |. D’où gn (x) > 1, grâce à (E3.5 ) obtenu en I

- 2◦ )b). Cqfd.
i=0

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fin de la Correction de l’EXERCICE 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Prob. : p.1/5

**** PROBLEME ****

On s’intéresse ici au problème du calcul de la valeur de A = ex + y , où x et y sont 2 nombres réels.


..................................................................................................................
I - 1◦ ) Données et résultat attendu ici.
• Données :
x, y ∈ IR ;
• Résultat attendu :
A ∈ IR ; /* A = ex + y */
2◦ ) Dans toute la suite de ce I , on suppose qu’il y a des erreurs de données dans ce problème.
a) Ce que cela signifie en pratique.
e et ye.
Cela signifie qu’on n’a pas les valeurs exactes de x et y, mais plutôt 2 valeurs approchées respectives x
b) Ce qui pourrait avoir causé de telles erreurs.
Ces erreurs de données sur les valeurs respectives des réels x et y peuvent être dues à l’une des causes suivantes :
− des erreurs de mesure lorsque les valeurs de x et y ont été produites par des mesures physiques avec des
appareils et/ou des relevés de terrain par des humains, et donc entâchées d’erreurs ;
− les valeurs de x et y ont été obtenues à partir de calculs précédents, donc probablement entâchées d’une
accumulation (plus ou moins importante) d’erreurs de données précédentes dans ces calculs, et/ou d’erreurs
de méthode dans la phase de conception de ces calculs, et/ou d’erreurs d’arrondi dans ces calculs ;
− et lorsqu’aucune des 2 situations précédentes n’est réalisée, il ne faut pas négliger le fait que les valeurs de x et
y, même initialement exactes, vont probablement cesser de l’être dès leur entrée dans l’ordinateur ,
du fait de leur arrondissement dans R , l’ensemble fini des nombres réels connus par la machine.
c) Conséquence concrète que ces erreurs de données auront sur le résultat attendu du problème.
e + ye.
e = ex
On ne pourra pas calculer la valeur exacte de A = e x + y , mais plutôt sa valeur approchée A
d) Expression de l’ erreur relative sur le résultat en fonction des erreurs relatives sur les données.
Soient εxe, εye, εAe, les erreurs relatives respectives sur x, y, A. Par définition, on a :
δ e−x
x δye ye − y δe e−A
A
εxe = xe = , εye = = , εAe = A = ;
x x y y A A
=⇒ (e x = x+x εxe, ye = y +y εye) =⇒ A e = e x + y + x εxe + y εye = e x + y · e x εxe + y εye =⇒ A
e = A· e x εxe + y εye ,

A · e x εxe + y εye − A
=⇒ εAe = =⇒ εAe = e x εxe + y εye − 1 .
A
3◦ ) Quand on dira que le problème considéré ici est bien conditionné ou mal conditionné.
Le problème considéré ici sera dit :
• bien conditionné lorsque, en l’absence de tout autre type d’erreur, l’incertitude relative sur le résultat | εAe |
est, au pire, du même ordre de grandeur que max{ | εxe |, | εye | }, la plus grande des incertitudes relatives sur
les données x et y ;
• mal conditionné lorsqu’une petite valeur de | εxe | et/ou | εye | peut entraîner une grande valeur de | εAe |, et
ce même sans l’intervention d’aucun autre type d’erreur.
N.B. Pour chacun de ces 2 cas de figure, donnons des valeurs numériques le produisant et justifions pourquoi.
Ceci était à la libre inspiration de chacun(e), pourvu que ce soit convaincant. Mais ça ne l’a jamais
été, tous les exemples proposés étant plus ou moins bâclés.
∗∗∗ Remarque/Commentaire n◦ 6 :
Comme on a pu le constater ci-dessus, les réponses à toutes les questions de cette partie I ont été
exprimées en fonction du problème posé ici, à savoir le calcul de A = ex + y à partir de la donnée
des 2 réels x et y. Ceci est à contraster avec ce qui a été lu dans l’écrasante majorité des copies où
les réponses aux questions 2◦ )a), b), c), d) et 3◦ ) ci-dessus ont consisté à réciter de vagues « fax »
génériques, sans se soucier du contexte du problème dans lequel ces questions étaient posées !!!
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Prob. : p.2/5

..................................................................................................................
• • • Dans toute la suite, on supposera qu’il n’y a pas d’erreurs de données dans ce problème.
..................................................................................................................
II - On admet ici qu’en plus des 4 opérations arithmétiques de base (i.e. +, −, × et ÷), l’ordinateur
utilisé pour le calcul de A sait calculer la fonction exponentielle, et avec la précision-machine.
Alors on peut calculer A par l’une des 2 formules : (1) A = e x + y ou (2) A = e x e y .
1◦ ) Celle de ces 2 formules qui serait, a priori, d’exécution plus rapide par ordinateur, et pourquoi.
A priori, la formule (1) sera la plus rapide lors de l’exécution par ordinateur. En effet, elle effectue une opération
arithmétique de base (une addition), puis une évaluation de la fonction exponentielle, contre, pour la formule (2) :
2 évaluations de la fonction exponentielle, suivie d’une opération arithmétique de base (une multiplication).
∗∗∗ Remarque/Commentaire n◦ 7 :
De plus, il est utile de signaler que cette plus grande rapidité de la formule (1) par rapport à la
formule (2) sera encore plus accentuée par le fait qu’une opération arithmétique de base s’exécute
beaucoup plus vite par ordinateur qu’une évaluation de fonction mathématique. Motif : la première
est implémentée au niveau du processeur de l’ordinateur (ou hardware) alors que la seconde l’est dans
un algorithme écrit dans un langage de programmation (donc au niveau logiciel ou software), lequel
appellera le processeur plusieurs fois pour effectuer ses calculs (par des opérations arithmétiques de
base) pour aboutir au résultat final de la fonction.

2◦ ) Ce que signifie « avec la précision-machine » .


Cela signifie ici que si on note R, l’ensemble des nombres réels connus par cet ordinateur, alors la représentation
de la fonction exponentielle par ordinateur est une fonction de R −→ IR, qui à r 7−→ er , vérifiant :


∀ r ∈ IR, s’il n’y a pas débordement, alors er − er 6 εR · er ;
i.e. la valeur approchée de la fonction exponentielle en tout r ∈ R calculée par l’ordinateur (du moment qu’il n’y
a pas débordement) a une incertitude relative 6 εR , l’epsilon-machine, ce qui est la précision maximale garantie
pour un calcul sur les réels avec cet ordinateur.
∗∗∗ Remarque/Commentaire n◦ 8 :
Rappelons que sur la plupart des ordinateurs contemporains, on a : εR = 2−52 ≃ 2, 22 × 10−16 .

3◦ ) a) Disons pourquoi quelque soit la formule utilisée pour calculer A, il y a peu de chances que
l’ordinateur nous renvoie comme résultat la valeur exacte de A.
Pour calculer A, l’ordinateur fera un certain d’opérations arithmétiques de base et d’évaluations de fonctions
sur des nombres réels. Or, le résultat de chacune de celles ci sera (dû aux limites de la représentation des nombres
réels par ordinateur) très probablement, entâché d’une erreur d’arrondi . C’est cette accumulation d’erreurs
d’arrondi qui fera qu’il y aura peu de chances que l’ordinateur nous renvoie, à la sortie, la valeur exacte de A.
b) Mais, pour être plus précis, pour chacune des 2 formules ci-dessus de A, expliquons pas à pas
ce qui va faire, au cours des calculs, qu’à la sortie le résultat de l’ordinateur ne soit pas exact.
Rappelons d’abord qu’il a été demandé d’admettre, dans ce II et le III , qu’il n’y a pas d’erreurs de données
dans ce problème. Cela signifie qu’on considère que les valeurs de x et y stockées en mémoire d’ordinateur sont
exactes, donc même pas entâchées d’erreur d’arrondi. Cependant, si on calcule A respectivement par
• Formule (1) : A = ex + y .
Alors l’ordinateur va faire les calculs dans l’ordre :
1. tentative de calcul de x + y, ce qui va plutôt donner r = x + y ∈ R , d’où une 1ère erreur d’arrondi ;
2. tentative de calcul de er , ce qui va plutôt donner er ∈ R (et qui sera aussi le résultat final), d’où
une 2 ème erreur d’arrondi.
• Formule (2) : A = ex ey .
Alors l’ordinateur va faire les calculs dans l’ordre :
1. tentative de calcul de ex , ce qui va plutôt donner r1 = ex ∈ R , d’où une 1ère erreur d’arrondi ;
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Prob. : p.3/5

2. tentative de calcul de ey , ce qui va plutôt donner r2 = ey ∈ R , d’où une 2 ème erreur d’arrondi ;
3. tentative de calcul du produit r1 × r2 , ce qui va plutôt donner r = r1 × r2 ∈ R (et qui sera aussi le
résultat final), d’où une 3 ème erreur d’arrondi.
...............................................................................................................
III - On se place ici dans la situation où l’ordinateur ne sait faire que les 4 opérations arithmétiques de base,
et, par conséquent, ne sait pas calculer la fonction exponentielle. On se propose alors de calculer, comme
valeur approchée de A, le nombre A e donné par (où ε est un réel > 0 donné) :

N
(x + y)k
e=
A e | 6 ε.
, avec N ∈ IN / | A − A (P.1 )
k!
k=0

1◦ ) a) Raison pour laquelle on est sûr qu’il existe un entier N tel que (P.1 ) soit réalisée.

+∞
(x + y)k
On sait que A = ex + y = . D’où : lim e = A ∈ IR.
A
k! N → +∞
k=0
e | 6 ε.
Par définition de la limite finie d’une suite réelle, il s’ensuit qu’il existe bien N ∈ IN/ | A − A
b) Décrivons ( dans les grandes lignes) comment on peut faire pour trouver un tel entier N .
Cf. Chapitre « Sommation numérique des séries » de l’U.E. « Séries et Intégrales généralisées » .
2◦ ) On suppose ici avoir déjà déterminé un entier N approprié, i.e. vérifiant (P.1 ). Mais on doit,
ensuite, concrètement calculer A.e Il faut donc concevoir un algorithme efficace pour calculer
e
A sur notre ordinateur. Pour cela, disons quelle expression mathématique B l’algorithme sera
obligé de calculer d’entrée, en stockant sa valeur pour la suite, pourquoi et comment.
Il s’agit de l’expression mathématique : B = x + y .
1. Raison :
Si on ne calcule pas B, une fois pour toutes, au tout début de l’algorithme de calcul de A,e cette expression
sera ré-évaluée plusieurs fois au sein de cet algorithme. Ceci traduirait une grossière inefficacité algorithmique,
car aboutissant à allonger inutilement le temps d’exécution de cet algorithme en machine
2. Principe d’action :
Dès le début de l’algorithme, on exécutera l’instruction suivante : B ←− x + y ;

Ainsi, la valeur de B aura été calculée, puis stockée dans une variable appelée B. Dans la suite de l’algorithme,
chaque fois qu’on aura besoin de cette valeur, il suffira de la lire dans la variable B.
3◦ ) a) Trouvons le schéma de Hörner approprié ici.
2 3 4 N −1 BN
e = 1 + B + B + B + B + ··· + B
A +
2! 3! 4! (N − 1) ! N!
B 2 B 3 B 4 B N −1 BN
= 1+B+ + + + ··· + +
2 2·3 2·3·4 2 · 3 · 4 × · · · × (N − 1) 2 · 3 · 4 × · · · × (N − 1) · N
( B B 2 B 3 B N −2 B N −1 )
= 1+B 1+ + + + ··· + +
2 2·3 2·3·4 2 · 3 · 4 × · · · × (N − 1) 2 · 3 · 4 × · · · × (N − 1) · N
( B ( B B 2 B N −3 B N −2 ))
= 1+B 1+ 1+ + + ··· + +
2 3 3·4 3 · 4 × · · · × (N − 1) 3 · 4 × · · · × (N − 1) · N
( B ( B ( B B N −4 B N −3 )))
= 1+B 1+ 1+ 1+ + ··· + +
2 3 4 4 × · · · × (N − 1) 4 × · · · × (N − 1) · N
= ··· ,
( ( ( ( ( B ( B )) ))))
=⇒ e = 1 + B 1 + B 1 + B 1 + B 1 + ··· + B
A 1+ 1+ ··· . (P.2 )
2 3 4 N −2 N −1 N
b) Déduisons une analyse mathématique pertinente permettant de mettre clairemment en évidence
comment on peut calculer le résultat attendu ici à partir des données disponibles.
Précisons d’abord les données et le résultat attendu ici :
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Prob. : p.4/5

• Données :
N ∈ IN ;
x, y ∈ IR ;
• Résultat attendu :
Ae ∈ IR ; /* A e donné par (P.1 ). */
Pour calculer ce résultat à partir des données ci-dessus et en utilisant le schéma de Hörner trouvé en 3◦ )a),
nous proposons 2 versions différentes possibles de l’analyse mathématique demandée :
•• Analyse mathématique : Version 1. •• Analyse mathématique : Version 2.
• Init : • Init :
B ←− x + y ; B ←− x + y ;
e ←− 1 ;
A e ←− B/N ;
A
• Itération : • Itération :
e ←− 1 + A
k=N : A e ∗ B/N ; e ←− (1 + A)
k =N −1 : A e ∗ B/(N − 1) ;
e ←− 1 + A
k =N −1 : A e ∗ B/(N − 1) ; e ←− (1 + A)
k =N −2 : A e ∗ B/(N − 2) ;
e ←− 1 + A
k =N −2 : A e ∗ B/(N − 2) ; .. ..
. .
.. .. e ←− (1 + A)
e ∗ B/2 ;
. . k=2: A
e ←− 1 + A
k=2: A e ∗ B/2 ; k=1: Ae ←− (1 + A)
e ∗B ;
e ←− 1 + A
k=1: A e∗B ; e ←− 1 + A
A e;
/∗ Après cette suite d’instructions, on a /∗ Après cette suite d’instructions, on a
obtenu A e ∈ IR donné par (P.2 ). ∗/ obtenu A e ∈ IR donné par (P.2 ). ∗/
• STOP. • STOP.

c) Algorithme correspondant à cette analyse :


Pour chacune des 2 versions de l’analyse mathématique ci-dessus, nous donnons l’algorithme correspondant :

•• Algorithme : Version 2.
•• Algorithme : Version 1.
Début
Début
B ←− x + y ;
B ←− x + y ;
e ←− B/N ;
A
e ←− 1 ;
A
Pour k = N − 1 (−1) 1 faire
Pour k = N (−1) 1 faire
Ae ←− (1 + A)
e ∗ B/k ;
Ae ←− 1 + A
e ∗ B/k ;
finPour ;
finPour ;
Ae ←− 1 + A
e;
e ;
Renvoyer (A)
e ;
Renvoyer (A)
STOP
STOP

d) Coût numérique de cet algorithme.


• Coût numérique de la Version 1 ci-dessus de l’algorithme :
Dans la Version 1 de l’algorithme ci-dessus, avant la boucle Pour, on fait : 1 (+).
A chaque passage dans la boucle Pour, soit, pour chaque k = N (−1) 1, on fait, comme calculs sur les réels :
1 (+), 1 (×), 1 (/).
Comme il y a N entiers k ∈ [ N (−1) 1 ], alors le bilan de l’algorithme est :
N + 1 (+), N (×), N (/) , soit, au total, 3N + 1 o.v.f. .
MAT 227–Analyse Numérique, Test n◦ 1 2017-18 : Eléments sur la Correction Prob. : p.5/5

• Coût numérique de la Version 2 ci-dessus de l’algorithme :


Dans la Version 2 de l’algorithme ci-dessus, hors de la boucle Pour, on fait : 2 (+) et 1 (/).
A chaque passage dans la boucle Pour, soit, pour chaque k = N − 1 (−1) 1, on fait, comme calculs sur les réels :
1 (+), 1 (×), 1 (/).
Comme il y a N − 1 entiers k ∈ [ N − 1 (−1) 1 ], alors le bilan de l’algorithme est :
N + 1 (+), N − 1 (×), N (/) , soit, au total, 3N o.v.f. .

∗∗∗ Remarque/Commentaire n◦ 9 :
Dans une légère optimisation des 2 versions de l’algorithme ci-dessus, on peut réduire leurs coûts
numériques par suppression respectivement de :
• Version 1 : 1 (×) et 1 (/), en sortant les valeurs d’indice k = N et k = 1 de la boucle Pour,
en plaçant les instructions correspondantes respectivement avant et après cette boucle ;
• Version 2 : 1 (/), en sortant la valeur d’indice k = 1 de la boucle Pour, en plaçant l’instruction
correspondante après cette boucle.
Dans les 2 cas, le coût numérique est ainsi ramené à :
N + 1 (+), N − 1 (×), N − 1 (/) , soit, au total, 3N − 1 o.v.f. .

e ci-dessus.
4◦ ) a) Type d’erreur en Analyse numérique qu’on commet en remplaçant A par A
On commet une erreur de méthode .
b) Ce que signifie ce type d’erreur et de qui relève sa responsabilité.
Ce type d’erreur signifie qu’on a remplacé la valeur exacte à calculer (ici A) par une approximation analytique
e La responsabilité relève de celui/celle qui a décidé d’utiliser cette approximation analytique (peut-être
(ici A).
après l’avoir construite ou lue dans un document), donc généralement de nous.
c) Autre type d’erreurs qui va aussi forcément intervenir dans les calculs lors de l’exécution de
l’algorithme par ordinateur, sa cause et nombre total de ces erreurs.
Lors de l’exécution de l’algorithme par ordinateur, les erreurs d’arrondi vont nécessairement intervenir dans
les calculs. La cause en est que l’algorithme exécute un certain nombre d’opérations arithmétiques de base sur les
nombres réels (ou opérations en virgule flottante). Or, pour chacune de celles ci, dès que son résultat exact
ne sera pas dans R , l’ensemble fini des nombres réels connus par l’ordinateur, ce dernier va arrondir ce résultat
au réel machine le plus proche, d’où une erreur d’arrondi sur ce résultat. Le résultat final fourni par l’algorithme
ne sera donc qu’une valeur approchée de la vraie valeur attendue de A, e comme conséquence de toutes ces erreurs
d’arrondi dans les calculs intermédiaires de l’algorithme.
Le nombre de ces erreurs d’arrondi est égal au nombre total d’opérations en virgule flottante effectuées par
l’algorithme. Ainsi, selon la version de l’algorithme écrite en 3◦ )c) ci-dessus, on aura :
• Version 1 : 3N + 1 erreurs d’arrondi ;

• Version 2 : 3N erreurs d’arrondi .


Et pour la version légèrement optimisée, suggérée dans la Remarque/Commentaire n◦ 9, de chacune de ces 2
versions de l’algorithme, cela fera 3N − 1 erreurs d’arrondi .
5◦ ) Disons si l’approximation numérique globale d’une fonction f sur un intervalle [ a, b ] produit
aussi le type d’erreur signalé en 4◦ ) a) ci-dessus et justifions notre réponse.
Oui, l’approximation numérique globale d’une fonction f sur un intervalle [ a, b ] produit aussi le type d’erreur
signalé en 4◦ ) a) ci-dessus, i.e. une erreur de méthode. Justification : ceci vient du fait qu’on fournira comme
résultat fe, une fonction de [ a, b ] −→ IR qui sera obtenue, en chaque x ∈ [ a, b ], par une approximation analytique
de la vraie valeur de f en x.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fin de la Correction du PROBLEME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Vous aimerez peut-être aussi