Professional Documents
Culture Documents
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Octobre 2014
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
L
(t)
L
(t)
L
(t)
Calcul formel
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Dfinition
Le calcul formel (ou calcul symbolique) est une discipline qui
sintresse la manipulation symbolique dexpressions
mathmatiques. Il traite des calculs avec paramtres, des
polynmes, des fractions...
Exemples :
Reprsentation
des nombres
rels
2+1
21
primitives
drives
simplification
Avantage : chapper aux erreurs et la propagation derreurs
Inconvenient : algorithmes plus longues excuts,
lventail des poblmes rsolus est trs rduit
Langages
R
sin(x ) exp(5x )dx
=3+2 2
x 2 y + x cos(y ) + xy
Calcul formel
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Dfinition
Le calcul formel (ou calcul symbolique) est une discipline qui
sintresse la manipulation symbolique dexpressions
mathmatiques. Il traite des calculs avec paramtres, des
polynmes, des fractions...
Exemples :
Reprsentation
des nombres
rels
2+1
21
primitives
drives
simplification
Avantage : chapper aux erreurs et la propagation derreurs
Inconvenient : algorithmes plus longues excuts,
lventail des poblmes rsolus est trs rduit
Langages
R
sin(x ) exp(5x )dx
=3+2 2
x 2 y + x cos(y ) + xy
Calcul formel
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Dfinition
Le calcul formel (ou calcul symbolique) est une discipline qui
sintresse la manipulation symbolique dexpressions
mathmatiques. Il traite des calculs avec paramtres, des
polynmes, des fractions...
Exemples :
Reprsentation
des nombres
rels
2+1
21
primitives
drives
simplification
Avantage : chapper aux erreurs et la propagation derreurs
Inconvenient : algorithmes plus longues excuts,
lventail des poblmes rsolus est trs rduit
Langages
R
sin(x ) exp(5x )dx
=3+2 2
x 2 y + x cos(y ) + xy
Calcul formel
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Dfinition
Le calcul formel (ou calcul symbolique) est une discipline qui
sintresse la manipulation symbolique dexpressions
mathmatiques. Il traite des calculs avec paramtres, des
polynmes, des fractions...
Exemples :
Reprsentation
des nombres
rels
2+1
21
primitives
drives
simplification
Avantage : chapper aux erreurs et la propagation derreurs
Inconvenient : algorithmes plus longues excuts,
lventail des poblmes rsolus est trs rduit
Langages
R
sin(x ) exp(5x )dx
=3+2 2
x 2 y + x cos(y ) + xy
Calcul numrique
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Dfinition
Le calcul numrique est un ensemble de calculs qui sont raliss
sur ordinateur traves un langage interprtable par ce dernier.
Domaines daplication :
la conception de structures (CAO, dynamique des
fluide,...),
les prvisions numriques du temps,
la conception dobjets chimiques,
les statistiques appliques,
lanalyse financire ou boursire,
etc. ; ... autant de domaines pour lesquels le calcul la
main peut tre difficille et trs couteux.
Le problme
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
v
w
sin(wt)
Le problme
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
v
w
sin(wt)
Calcul numrique
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Aventages :
Lventail des problmes rsolus est trs large
Les algorithmes sont en gnrale plus efficaces
Inconvennients :
La solution est approche.
Propagation de lerreur (sin(1010 ), 2
2)
Calcul numrique
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Aventages :
Lventail des problmes rsolus est trs large
Les algorithmes sont en gnrale plus efficaces
Inconvennients :
La solution est approche.
Propagation de lerreur (sin(1010 ), 2
2)
Calcul numrique
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Aventages :
Lventail des problmes rsolus est trs large
Les algorithmes sont en gnrale plus efficaces
Inconvennients :
La solution est approche.
Propagation de lerreur (sin(1010 ), 2
2)
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
informaticien
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
carte mre
CPU (microprocesseur)
@
@
M. Berrada
Calcul
numrique et
calcul formel
cran
Information et
ordinateur
@
@
Reprsentation
des nombres
rels
alimentation
clavier
@
@
souris
XXX
XXX
X lecteurs de disque
PP
P
PP
P disque dure
carte mre
CPU (microprocesseur)
@
@
M. Berrada
Calcul
numrique et
calcul formel
cran
Information et
ordinateur
@
@
Reprsentation
des nombres
rels
alimentation
clavier
@
@
souris
XXX
XXX
X lecteurs de disque
PP
P
PP
P disque dure
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Le nombre 186 :
1| 0 1 1{z1 0 1 0}
enbase2
1 2 + 0 2 + 1 2 + 1 24 + 1 23 + 0 22 + 1 21 + 0 20
{z
}
|
base10
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
Exemples :
123.45 = 1 102 + 2 101 + 3 100 + 4 101 + 5 102
(101.101)2 = 1 22 + 0 21 + 1 20
+1 21 + 0 22 + 1 23
= 5.625
(AB.4E )16 = 10 161 + 11 160 + 4 161 + 14 162
= 171.3046875
Exemples :
123.45 = 1 102 + 2 101 + 3 100 + 4 101 + 5 102
(101.101)2 = 1 22 + 0 21 + 1 20
+1 21 + 0 22 + 1 23
= 5.625
(AB.4E )16 = 10 161 + 11 160 + 4 161 + 14 162
= 171.3046875
En base 2 : 1011.101101
On normalise
= (1011.101101)2 20
= (101.1101101)2 21
= (10.11101101)2 22
= (1.011101101)2 23
Mantise code = 011101101, exposant = 3, signe = +
(1011.101101)2
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Pt
k=1
ak b tk b et = (1)s mb et
s le signe
0 et 1 sinon
Pt : s = 0 si x
m = k=1 ak b tk la mantisse : m [0, b t [
t le nombre de chiffres significatifs
e lexposant : e ]L, U[, avec L < 0 et U > 0
F(b, t, L, U)
P
= {0} {x R\x = (1)s b e tk=1 ak b k , avec a1 6= 0}
On a donc :
xmin = b Lt |x | xmax = b U (1 b t ), x F
card(F(b, t, L, U)) = 2(b 1)b t1 (U L + 1) + 1
La prcision machine est le plus petit nombre mach tel que
1 + mach > 1. (mach = b 1t )
M. Berrada
sign
Calcul
numrique et
calcul formel
Information et
ordinateur
Langages
fraction
(23bit)
31
23
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
exposant
(8bit)
(1)s (1 +
23
X
bk 2k ) 2e127
k=1
Exemple
A = 1 10000010 00110000000000000000000
s = 1 (ngatif)
e = (27 + 21 ) 127 = 130 127 = 3
m = 23 + 24 = 0.125 + 0.0625 = 0.1875
A = 1.1875 23 = 9.5
M. Berrada
sign
Calcul
numrique et
calcul formel
Information et
ordinateur
Langages
fraction
(23bit)
31
23
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
exposant
(8bit)
(1)s (1 +
23
X
bk 2k ) 2e127
k=1
Exemple
A = 1 10000010 00110000000000000000000
s = 1 (ngatif)
e = (27 + 21 ) 127 = 130 127 = 3
m = 23 + 24 = 0.125 + 0.0625 = 0.1875
A = 1.1875 23 = 9.5
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
(1) (1 +
52
X
bk 2k ) 2e1023
k=1
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
(1) (1 +
52
X
bk 2k ) 2e1023
k=1
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Signe
Exposant
pMantisse
-2-150
2-150
positive
overflow
(2-2-23 )x2128
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
Erreur absolue
ra = |x Fl(x )|
Erreur relative (si x 6= 0)
r=
|x Fl(x )|
|x |
Fl(x ) x
x
alors Fl(x ) = x (1 + x ).
En base 10, on a
K
|x |mach
10
avec K = 5 si on travaille par arrondi, et K = 10 si on
travaille par troncature.
|x Fl(x )| < K |x |10t =
son
On note par une opration {+, , , /} et par
quivalente sur ordinateur
Calcul
numrique et
calcul formel
RR R
(x , y ) 7 x y
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
et
RR F
= Fl(Fl(x ) Fl(y ))
(x , y ) 7 x y
Lerreur sur une operation arithmtique satisfait
|(x y ) Fl(x y )| < k|x y | 10t
avec k = 5 si lordinateur travaille par arrondi et 10 sil
travaille par troncature.
Exemple
Calcul exact :
0.123456789 + 0.987698765 = 1.111155554
Calcul machine avec 7 chiffres significatifs :
0.123456789 + 0.987698765 =0.1234568 + 0.9876988
=1.1111556
(erreur commise est ra =0.46 10-7 )
Annulation : Exemple f (x ) = 1
, pour|x | < mach ,
1
f(x)=INF
Il vaut mieux utiliser f (x ) =
1+
1x 2
1x 2
x2
Dfinition
On dit quun problme est "bien conditionn" si une "petite"
perturbation des donnes nentrane quune "petite"
perturbation des rsultats.
F (x + x ) = y + y
Dfinition
La notion de stabilit numrique indique le faite que les erreurs
dues larithmtique de lordinateur peuvent se propager plus
au moins dans lalgorithme.
Suite rcurrente :
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
o x R et x F.
En appliquant la fonction f aux donnes x :
f (
x ) = f (x (1 + x )) = f (x + x x )
0
)x
f (x ) + f 0 (x )x x = y 1 + f f (x
(x ) x = y (1 + x )
o est le conditionnement du problme.
Si f (
x ) 6 F alors y = Fl(f (
x )) = y (1 + x )(1 + f (x ) )
Si > 1, on aura agrandissement de lerreur initiale x .
(Problme est mal conditionn)
Information et
ordinateur
Reprsentation
des nombres
rels
Langages
Sommaire
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et ordinateur
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages de programmation
Langages de programmation
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages scripts :
MATLAB (propritaire) ou Scilab et Octave (libres) :
utiliss pour le calcul numrique.
R (libre) statistique
Python (libre)
Langages de programmation
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Langages scripts :
MATLAB (propritaire) ou Scilab et Octave (libres) :
utiliss pour le calcul numrique.
R (libre) statistique
Python (libre)
Cours Calcul
et Mthodes
Numriques
M. Berrada
Calcul
numrique et
calcul formel
Information et
ordinateur
Reprsentation
des nombres
rels
Calculs sur les
nombres
flottants
Langages
Fin Introduction