Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Cours de Méthodes Numériques
Licence M.I.A.S.H.S. Deuxième Année
Année 2020-2021
Cours de Méthodes Numériques 1 / 60
Licence MIASHS : un très bon choix !
Pourquoi ? Et pourquoi les méthodes numériques ?
Développements informatiques démultiplient capacités de calculs
Mathématiques totalement bouleversées par cette gratuité du calcul
La numérisation n'a jamais été aussi présente
Les SHS mêlent complexité et humanités numériques
Les métiers fondés sur les maths appliquées parmi les plus demandés, enparticulier en sciences des données
Mais les mathématiques appliquées requièrent des mathématiques"abstraites"
La Licence ne doit être qu'un premier pas !
Cours de Méthodes Numériques 2 / 60
Organisation du cours
1 Cours (C) de 1h avec pauses (P) =⇒ 25' (C) + 5' (P) + 20' (C)
2 TP de 2h30 en distanciel jusqu'aux vacances minimum
3 2 Contrôles Continus (CC1 et CC2) de 1h30 présentiel mars et avril
4 Bonus de 0 pt à + 3pts en TP par participation, quizzs, DMs,...
5 Examen nal en mai de 2h (Par)
6 Note nale = max(Par , 1
2(CC + Par)
)où CC = max(CC1 , CC2) + Bonus
Cours de Méthodes Numériques 3 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 4 / 60
Logiciel numérique/formel
Dans ce cours, on verra par exemple comment :
Approcher numériquement le cosinus ou logarithme d'un nombrequelconque ;
Approcher π d'aussi près que l'on veut ;
Donner une valeur approchée à une intégrale ;
Calculer l'inverse d'une matrice (1000× 1000) ;
Créer du hasard et s'en servir.
On ne verra pas comment :
Donner la formule générale de la dérivée 1ère ou 12ème d'une fonction ;
Donner la formule d'un déterminant dépendant d'un paramètre ;
Donner la valeur exacte d'une intégrale ;
Cours de Méthodes Numériques 5 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 6 / 60
Un bref rappel historique sur les "machines à calculer"
1 Premiers essais : abaque, bouliers.
2 Premières machines à calculer mécaniques (Pascal, Leibniz, Babbage)
Cours de Méthodes Numériques 7 / 60
L'ordinateur pour calculer
1 Principe des premiers ordinateurs : machine de Turing et algorithmique
2 Logique booléenne : décomposition en base 2
Exemple : Si on travaille avec 4 bits, on code tout nombre entre 0 et 15
6 = 0 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 = 0 1 1 04 = 0 ∗ 23 + 1 ∗ 22 + 0 ∗ 21 + 0 ∗ 20 = 0 1 0 0
=⇒ Addition de nombres : 6 + 4 =
0 1 1 0
+ 0 1 0 0
1 0 1 0 = 10
avec 0 + 0 = 0, 0 + 1 = 1 et 1 + 1 = 1 0
Multiplication : 0 ∗ 0 = 0, 0 ∗ 1 = 0 et 1 ∗ 1 = 1
Cours de Méthodes Numériques 8 / 60
L'ordinateur pour calculer (2)
1 Un interrupteur électronique (0/1) : le transistor :
2 Comment additionner 2 nombres de 1 bit :
=⇒
Cours de Méthodes Numériques 9 / 60
L'ordinateur pour calculer en programmant (3)
Dans la partie Unité Arithmétique et Logique (UAL) des processeurs
La base : le langage FORTRAN. Passage aux vecteurs et matrices.
Boucles, conditionnements : à éviter si possible
Exemple : Calcul de106∑j=1
1
j2et un+1 =
un2 si un pair3 ∗ un + 1 si un impair
Fonctions, programmes
Cours de Méthodes Numériques 10 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 11 / 60
Ecriture d'un nombre en 64 bits
Les nombres sont écrits avec 64 un (1) ou zéros (0) : pas d'inni !
Représentation à virgule ottante 64 bits.
Tout x ∈ IR sera représenté par le décimal :
r(x) =(0.a1a2 · · · a52
)· (−1)
(a53)2
(a54a55···a64
)−1023, où
I les ai sont des 0 ou des 1, et a1 6= 0 ;I On appelle mantisse de x le nombre 0.a1a2 · · · a52 =
∑52
i=1ai 2
−i ;I Signe de x donné par a53 ;
I Puissance(a54 · · · a64
)=
10∑j=0
a64−j2j ∈ 0, . . . , 2047 (car 1024 = 210).
Exemples :
6 = (−1)0(0.110 . . . 0)× 23
−0.01 ' (−1)1(0.1010001111010111000 . . .)× 2−6
Cours de Méthodes Numériques 12 / 60
Conséquence de l'écriture d'un nombre en 64 bits
La précision sur les nombres 6= 0 est : 2−52 ' 2.2× 10−16
Pour x 6= 0∣∣r(x)− x
∣∣ ' 2.2 10−16|x |
La précision sur les proches de 0 est : 2−1023−51 ' 5× 10−324
Exemple : 2 10−7 × 10−12 =⇒ 2 10−19 mais 1 + 10−20 − 1 =⇒ 0
Les nombres doivent être dans [−1.8× 10308, 1.8× 10308] (' 21024)
Cours de Méthodes Numériques 13 / 60
Conséquence de l'écriture d'un nombre en 64 bits (2)
=⇒ Peut empêcher le calcul de déterminants, d'inverses de matrices, desuites
Exemples : • un+1 =(1/2 + un
)2 − 9/4 et u0 =√2
Pourtant, formellement u1 = (0.5+√2)2− 5/4 = 1/4+
√2+ 2− 9/4 =
√2
• Déterminer M−1 pour M =(
1i+j
)1≤i ,j≤n
Cours de Méthodes Numériques 14 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 15 / 60
Limites de suites
Soit (un)n∈IN suite réelle dénie
par récurrence : un+1 = f (un) et u0 ∈ IRexplicitement un = f (n)
=⇒ Si f connue, le logiciel R peut calculer les ui pour 1 ≤ i ≤ N, N grand
Remarque : Les calculs sans boucle sont préférables, s'ils sont possibles !
Exemples : • un =(1 + 2
n
)n• un+1 = 1
2
(u2n + 1
)et u0 = 0
Cours de Méthodes Numériques 16 / 60
Limites de suites (2)
Conséquence : Après avoir démontré que (un)n∈IN admettait une limite `,alors uN "approche" ` quand N grand.
=⇒ Comment choisir N ? 1000 ? 100000 ?
Dénition
Pour (un) suite convergeant vers ` ∈ IR, la suite (Rn) avec Rn = `− unmesure les écarts entre les termes de la suite et la limite.
Conséquence : Une fois xée une qualité d'approximation ε, on pourrachoisir N quand pour tout n ≥ N,
∣∣Rn
∣∣ ≤ ε.=⇒ Typiquement avec ε = 2 · 10−16
Cours de Méthodes Numériques 17 / 60
Limites de suites (3)
Problème : Si ` est inconnue, comment déterminer N ?
Deux possibilités :
1 Un calcul théorique permet de majorer Rn en fonction de n
Exemple : un+1 = 12 cos(un) et u0 = 1. Alors :
• par récurrence un ∈ [0, 1] pour n ∈ IN.• soit ` telle que ` = f (`) avec f (x) = 1
2 cos(x).• |un+1 − `| = |f (un)− f (`)| ≤ supx∈[0,1] |f ′(x)| × |un − `| ≤ 1
2 |un − `|=⇒
∣∣Rn
∣∣ = |un − `| ≤(12
)n |u0 − `| ≤ 2−n
=⇒ On choisit N tel que 2−N = ε soit N = 1 +[− ln(ε)
ln 2
]2 On calcule les un jusqu'à ce que |uN+1 − uN | ≤ 2 · 10−16
Cours de Méthodes Numériques 18 / 60
Séries numériques
Les résultats à connaître : Soit (un)n∈IN une suite de réels, Sn =∑n
k=0 uk
Si (Sn) converge on note S sa limite et Rn = S − Sn =∑∞
k=n+1 uk le reste
1 Comparaison avec une intégrale :si (un) = (f (n)) suite positive décroissante vers 0
• (Sn) converge ⇐⇒( ∫ n
1 f (x) dx)converge
• Si (Sn) converge,∣∣Rn
∣∣ ≤ ∫∞n f (x) dx pour tout n ∈ IN
2 Séries références :∑∞
k=11kα converge ssi α > 1
3 Si nα |un| ≤ C pour n ≥ n0 et α > 1, alors∑∞
k=0 |uk | converge4 Si un = (−1)nan avec (an) suite positive décroissante, alors∑∞
i=0(−1)nan converge et∣∣Rn
∣∣ ≤ an : critère des séries alternées
5∑∞
k=0 |uk | converge =⇒∑∞
k=0 uk mais réciproque fausse : un = (−1)nn
Cours de Méthodes Numériques 19 / 60
Séries numériques ; un exemple
Exemple : Soit un = 1/n3 pour n ≥ 1, d'où Sn =∑n
k=11k3
=⇒ Série convergente car∑n
k=11kα avec α > 1
=⇒ Comparaison avec intégrale : |Rn| ≤∫∞n
1x3
dx =[− 1
2 x2
]∞n
= 12n2
=⇒ Calcul de S =∑∞
k=11k3
à 2 10−16 près pour n ≥ 50 106
Remarque : Peut permettre d'approcher des nombres réels.
Cours de Méthodes Numériques 20 / 60
Des éléments sur les séries entières
Dénition
Une série entière est une fonction S(z) =∑
n∈IN an zn où (an)n∈IN est une
suite de nombres complexes.
Une telle fonction existe-t-elle toujours ?
Exemple : • Si an = 1/n!, pour tout z ∈ C∗, ∣∣∣an+1zn+1anzn
∣∣∣ = |z|n+1 −→
n→+∞0
=⇒ S existe pour tout z ∈ C(d'Alembert).
• Si an = n!, pour tout z ∈ C∗, ∣∣∣an+1zn+1anzn
∣∣∣ = (n + 1)|z | −→n→+∞
+∞=⇒ S n'existe qu'en 0 (d'Alembert).
Cours de Méthodes Numériques 21 / 60
Des éléments sur les séries entières (2)
Propriété
Pour toute série entière S(z) =∑
n∈IN an zn, il existe R ∈ [0,∞] appelé
rayon de convergence de la série tel que :
S est de classe C∞(]− R,R[
)et pour tout x ∈]− R,R[,
S (k)(x) =∑n≥k
n(n − 1)× · · · × (n − k + 1) an xn−k .
S(z) ne converge pas pour z tel que |z | > R .
Tout peut se passer pour S en z tel que |z | = R : à étudier cas par cas !
Exemple : Si an =1
n!, S ′(x) =
∑n≥1
n
n!xn−1 =
∑n≥0
xn
n!= S(x) pour x ∈ IR.
Equation diérentielle : S ′ = S et S(0) = 1 =⇒ unique solution S(x) = ex
ez =∑n≥0
zn
n!pour tout z ∈ C
Remarque : S (k)(x) =
∑n≥k
(n + k)× · · · × (n + 1) an+k xn : série entière
Cours de Méthodes Numériques 22 / 60
Comment déterminer R ?
Propriété
Pour S(z) =∑
n∈IN an zn, le rayon de convergence R est tel que :
si S(z0) converge, R ≥ |z0|, si S(z0) diverge, R ≤ |z0| ;Règle de Cauchy : si |an|1/n −→
n→+∞` ∈ [0,∞], R = 1/` ;
Règle de d'Alembert : si∣∣∣an+1an
∣∣∣ −→n→+∞
` ∈ [0,∞], R = 1/`.
Exemple : Pour an = 1, S(z) =∑
n∈IN zn converge pour |z | < 1 = R .De plus S(z) = (1− z)−1 pour |z | < 1 (somme de suite géométrique)
=⇒ S ′(x) = (1− x)−2 =∑n≥1
n xn−1 =∑n≥0
(n + 1) xn si −1 < x < 1
Propriété
La somme et le produit de séries entières sont des séries entières ;
Pour x ∈]− R,R[,
∫ x
0S(t)dt =
∑n∈IN
ann + 1
xn+1
Cours de Méthodes Numériques 23 / 60
Principales séries entières
Pour x ∈]− 1, 1[, (1− x)−1 =∑
n≥0 xn ;
Pour x ∈ [−1, 1[, ln(1− x) = −∑
n≥1xn
n ;
Pour x ∈ C, ex =
∑n≥0
xn
n! ;
Pour x ∈ IR, sin(x) = I(e ix) =∑
n≥0(−1)n x2n+1
(2n+1)! ;
Pour x ∈ IR, cos(x) = R(e ix) =∑
n≥0(−1)n x2n
(2n)! ;
Propriété
S'il existe (an)n tel que f (x) =∑n∈IN
anxn pour |x | < R alors an = f (n)(0)
n! et
f (x) =∑n∈IN
f (n)(0)
n!xn (Formule Taylor).
Cours de Méthodes Numériques 24 / 60
Un exemple de série entière
On veut calculer ln(2)
1 On utilise ln(2) = ln(1− (−1)) =∑
n≥0(−1)nn+1
Série alternée : |Rn| =∣∣∣ ln(2)−
∑nk=0
(−1)kk+1
∣∣∣ ≤ 1n+2
=⇒ n ' 10m termes pour calculer ln(2) à 10−m près.
2 On utilise ln(2) = − ln(1− (1/2)) =∑
n≥12−n
n
|Rn| =∣∣∣ ln(2)−
∑n≥1
2−n
n
∣∣∣ ≤∑k≥n+12−k
k ≤∑
k≥n+1 2−k ≤ 2−n
=⇒ n ' m ln(10)ln(2) termes pour calculer ln(2) à 10−m près.
Avec le logiciel R :
> n=16*log(10)/log(2)
> log(2)-sum(2∧(-c(1:n))/c(1:n))[1] 0
Cours de Méthodes Numériques 25 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 26 / 60
Résolution numérique de f (x) = 0
On veut calculer résoudre numériquement f (x) = 0
Exemple : Résoudre x2 − 3 = 0 ou cos(x) = x , trouver des extrema de g .
Proposition (Première méthode : dichotomie)
Soit f : IR→ IR une fonction continue sur un voisinage V de x0, uniquesolution de l'équation f (x) = 0 dans V . On suppose que [a0, a1] ⊂ V tel que
u0 ∈ [a0, a1] et f (a0)f (a1) < 0. On dénit alors les suites (an) et (bn) telles
que : an+1 = 12 (an + bn) bn+1 = bn si f (an)f
(12 (an + bn)
)≥ 0
bn+1 = 12 (an + bn) an+1 = an si f (bn)f
(12 (an + bn)
)≥ 0
Alors x0 ∈ [an, bn] pour tout n ∈ IN et bn − an = 2−n(b0 − a0).
Exemple : Avec le logiciel R...
Cours de Méthodes Numériques 27 / 60
Méthode de la sécante
Cours de Méthodes Numériques 28 / 60
Proposition (Seconde méthode : Méthode de la sécante)
Soit f : IR→ IR une fonction continue sur un voisinage V de x0, uniquesolution de l'équation f (x) = 0 dans V . On suppose que [u0, u1] ⊂ V tel
que x0 ∈ [u0, u1] et f (u0)f (u1) < 0. On dénit alors la suite (un) par :
un+1 = un − f (un)un − un−1
f (un)− f (un−1)pour n ≥ 1.
Proposition (Méthode de la sécante)
Si f est de classe C2 sur [u0, u1] bien choisis, la qualité de l'approximation est
donnée par |un − x0| ≤ C exp(−K φn) avec φ = (√5 + 1)/2 (nombre d'or).
Remarque : 2−n = exp(−n ln(2)) >> exp(−K φn) : méthode plus rapide !
Cours de Méthodes Numériques 29 / 60
Méthode de Newton-Raphson
Cours de Méthodes Numériques 30 / 60
Proposition (Troisième méthode : Méthode de Newton-Raphson)
Soit f : IR→ IR une fonction C1(V ), où V voisinage de x0, unique solution
de l'équation f (x) = 0 dans V . On suppose que f ′ 6= 0 sur V et u0 ∈ V .
On dénit alors la suite (un) par :
un+1 = un −f (un)
f ′(un)pour n ∈ IN.
Proposition (Méthode de Newton-Raphson)
Si f est de classe C2 sur V , u0 ∈ V tel que |u0 − x0| ≤ 2m1/M2 avec
m1 = infx∈I |f ′(x)| et M2 = supx∈I |f ′′(x)|, et si ρ = M2
2m1|u0 − x0| < 1, la
qualité de l'approximation est donnée par
|un − x0| ≤( M2
2m1
)2n−1|u0 − x0|2
n −→n→+∞
0.
Remarque : On a ρ2n
= exp(ln(ρ) 2n) << exp(−K φn) : méthode plusrapide !
Cours de Méthodes Numériques 31 / 60
Preuve méthode de Newton-Raphson
Démonstration.On vérie d'abord que x0 est une limite possible de la suite (un) (car en prenant un = un+1 = x0
l'équation un+1 = un − f (un)f ′(un)
est vériée). On montre à l'aide d'un développement de
Taylor-Lagrange d'ordre 2 de f (x0) en un, quef (x0) = f (un) + (un − x0)f ′(un) +
1
2(un − x0)2f ′′(θ) avec θ situé entre x0 et un, soit
f (un) = (un − x0)f ′(un)− 1
2(un − x0)2f ′′(θ). D'où en remplaçant
∣∣un+1 − x0∣∣ = ∣∣∣1
2(un − x0)
2f ′′(θ)
f ′(un)
∣∣∣ ≤ M2
2m1
|un − x0|2 ≤( M2
2m1
)2n+1−1
|u0 − x0|2n+1
.
Donc la convergence est dite quadratique si u0 est susamment proche de x0 (siM2
2m1
|u0 − x0| < 1).
Cours de Méthodes Numériques 32 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 33 / 60
IntégralesIntégrale ?
Dénition
Une intégrale I d'une fonction f : [a, b]→ IR est l'aire algébrique entre
l'axe des abscisses et la courbe y = f (x) pour a ≤ x ≤ b :
I =
∫ b
af (t) dt = Aire(f (x) ≥ 0, a ≤ x ≤ b)− Aire(f ≤ 0, a ≤ x ≤ b).
Cours de Méthodes Numériques 34 / 60
Trois méthodes pour calculer explicitement une intégrale :
Propriété
Existence de I =∫ ba f (t) dt lorsque f est continue par morceaux sur [a, b]
Utilisation d'une primitive F telle que F ′ = f : I =[F (x)
]ba
IPP : I =
∫ b
au′(x)v(x) dx =
[u(x)v(x)
]ba−∫ b
au(x)v ′(x) dx
Changement de variable : on pose x = φ(t), φ C1-diéomorphisme :
I =
∫ b
af (x) dx =
∫ φ−1(b)
φ−1(a)f(φ(t)
)φ′(t) dt.
Exemple : I =
∫ 1
0
√1− x2dx =
∫ π/2
0
√1− sin2(t) cos(t)dt =
∫ π/2
0cos2(t)dt
Comme cos2(t) = 12
(1 + cos(2t)
), on a I = 1
2
[t + 1
2 sin(2t)]π/20
= π4 .
Cours de Méthodes Numériques 35 / 60
Comment faire autrement ?Exemple : Pour Z
L∼ N (0, 1), IP(−1 ≤ Z ≤ 2) = 1√2π
∫ 2−1 e
−t2/2dt =?
=⇒ Aucune des techniques précédentes ne marche ! !
Plus généralement comment calculer FZ (x) =∫ x−∞
e−t2/2√2π
dt ?[Permet d'avoir les quantiles de Z : par exemple FZ (1.96) ' 0.975, FZ (−1.645) ' 0.05
]On remarque que FZ (x) = 1
2 ±∫ |x |0
e−t2/2√2π
dt
=⇒ Calcul approché de I =∫ ba f (t) dt !
Propriété (Sommes de Riemann)
Si f continue par morceaux, I = limn→∞
b − a
n
n−1∑k=0
f(a + (b − a)
k
n
)
=⇒ S0(n) =b − a
n
n−1∑k=0
f(a + (b − a)
k
n
)approche I
Cours de Méthodes Numériques 36 / 60
Méthode des rectangles
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S0(6) ' 0.858 : découpage en 6 "rectangles"
Cours de Méthodes Numériques 37 / 60
Méthode des rectangles
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S0(12) ' 0.840 : découpage en 12 "rectangles"
Cours de Méthodes Numériques 38 / 60
Méthode des rectangles
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S0(24) ' 0.830 : découpage en 24 "rectangles"
Cours de Méthodes Numériques 39 / 60
Méthode des rectangles
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S0(100) ' 0.821 : découpage en 100 "rectangles"
Cours de Méthodes Numériques 40 / 60
Proposition (Méthode d'approximation dite des rectangles)
Si f est de classe C1 sur [a, b], avec M1 = supa≤x≤b |f ′(x)|, alors
∣∣I − S0(n)∣∣ ≤ 1
2n(b − a)2M1.
Démonstration.
On a∣∣I − S0(n)
∣∣ = ∣∣∣ n−1∑k=0
∫ a+(k+1)(b−a)
n
a+k(b−a)
n
(f (t)− f
(a+
k(b − a)
n
))dt∣∣∣
≤n−1∑k=0
∫ a+(k+1)(b−a)
n
a+k(b−a)
n
∣∣∣f (t)− f(a+
k(b − a)
n
)∣∣∣ dtAvec M1 = supa≤x≤b |f ′(x)| et l'Inégalité des Accroissements Finis, on obtient :
∣∣I−S0(n)∣∣ ≤ n−1∑k=0
∫ a+(k+1)(b−a)
n
a+k(b−a)
n
M1
∣∣∣t−(a+ k(b − a)
n
)∣∣∣ dt ≤ M1
n−1∑k=0
∫ (b−a)n
0
t dt ≤1
2n(b−a)2 M1.
Cours de Méthodes Numériques 41 / 60
Méthode des rectangles
Exemples : Si I =1√2π
∫ 2
−1e−t
2/2dt, |f ′(x)| = |x |e−x2/2√2π
, =⇒ M1 ' 0.24
[f ′′(x) = (x2 − 1) e
−x2/2√2π
donc sur [0,∞[ le maximum de |f ′| est atteint en 1, d'où M1 = e−1/2√2π
]
=⇒∣∣I − S0(n)
∣∣ ≤ 12n (b − a)2M1 ≤ 1.09
n
=⇒ I calculée à 10−m-près pour n ' 10m
=⇒ Méthode trop lente !
=⇒ On remplace les rectangles par des trapèzes
S1(n) =(b − a)
n
n−1∑k=0
1
2
f(a +
k(b − a)
n
)+ f(a +
(k + 1)(b − a)
n
).
Cours de Méthodes Numériques 42 / 60
Méthode des trapèzes
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S1(6) ' 0.811 : découpage en 6 "trapèzes"
Cours de Méthodes Numériques 43 / 60
Méthode des trapèzes
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S1(12) ' 0.817 : découpage en 12 "trapèzes"
Cours de Méthodes Numériques 44 / 60
Méthode des trapèzes
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Calcul de S1(24) ' 0.818 : découpage en 24 "trapezes"
Cours de Méthodes Numériques 45 / 60
Proposition (Méthode d'approximation dite des trapèzes)
On suppose que f est de classe C2 sur [a, b] avec M2 = supa≤x≤b |f ′′(x)|.Alors ∣∣I − S1(n)
∣∣ ≤ 1
12 n2(b − a)3M2.
Démonstration.En reprenant les calculs précédents, on obtient :
∣∣I − S1(n)∣∣ ≤ ∣∣∣ n−1∑
k=0
∫ a+(k+1)(b−a)
n
a+k(b−a)
n
f (t)−1
2
f(a+
k(b − a)
n
)+ f(a+
(k + 1)(b − a)
n
)dt∣∣∣.
Par double IPP,
∫ x2
x1
(f (t)−
1
2
(f (x1) + f (x2)
)dt =
1
2
∫ x2
x1
(x − x1)(x2 − x)f ′′(x)dx .
=⇒∣∣∣ ∫ x2
x1
(f (t)−
1
2
(f (x1) + f (x2)
)dt∣∣∣ ≤ M2
2
∫ x2
x1
∣∣(x − x1)(x2 − x)∣∣dx ≤ M2
12(x2 − x1)
3.
On applique ce résultat à x1 = a+ k(b−a)n
et x2 = a+ (k+1)(b−a)n
d'où le résultat nal.∣∣∣Cours de Méthodes Numériques 46 / 60
Méthode des trapèzes
Exemple : Si I =1√2π
∫ 2
−1e−t
2/2dt, f ′′(x) = (x2−1)e−x2/2√2π
, =⇒ M2 ' 0.4
[f (3)(x) = x(3− x2) e
−x2/2√2π
donc sur [0,∞[ le maximum de |f ′′| est atteint en 0, d'où M2 = 1√2π
]
=⇒∣∣I − S1(n)
∣∣ ≤ 112 n2
(b − a)3M2 ≤ 0.9n2
=⇒ I calculée à 10−m-près pour n ' 10m/2
=⇒ Méthode beaucoup plus rapide !
=⇒ Mais on peut encore faire mieux...
S2(n) =(b − a)
6n
n−1∑k=0
f(a+
k(b − a)
n
)+ 4 f
(a+
(2k + 1)(b − a)
2n
)+ f(a+
(k + 1)(b − a)
n
).
Cours de Méthodes Numériques 47 / 60
Méthode de Simpson
Pour approcher I =1√2π
∫ 2
−1e−xt2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Découpage en 4 zones
Cours de Méthodes Numériques 48 / 60
Méthode de Simpson
Pour approcher I =1√2π
∫ 2
−1e−t
2/2dt
−2 −1 0 1 2 3
0.00.1
0.20.3
0.4
x
Fx
Interpolation par une parabole dans chaque zone
Cours de Méthodes Numériques 49 / 60
Dénition (Polynôme d'interpolation de Lagrange)
Soit x1 < x2 < · · · < xm, f : [x1, xm]→ IR. Il existe un unique polynôme PL
de degré (m − 1) tel que P(xi ) = f (xi ) pour tout i = 1, · · · ,m, appelé
polynôme d'interpolation de Lagrange. On a :
PL(x) =m∑i=1
f (xi )
∏mj=1, j 6=i (x − xj)∏j 6=i (xi − xj)
pour tout x ∈ IR.
En conséquence :
S2(n) =
n−1∑k=0
∫ a+(k+1)(b−a)
n
a+k(b−a)
n
Pk (x) dx
=(b − a)
6n
n−1∑k=0
f(a+
k(b − a)
n
)+ 4 f
(a+
(2k + 1)(b − a)
2n
)+ f(a+
(k + 1)(b − a)
n
).
Cours de Méthodes Numériques 50 / 60
Proposition (Méthode d'approximation de Simpson)
On suppose que f est de classe C4 sur [a, b] avec M4 = supa≤x≤b |f (4)(x)|.Alors ∣∣I − S2(n)
∣∣ ≤ 1
2880 n4(b − a)5M4.
Exemple : I =1√2π
∫ 2
−1e−t
2/2dt, f (4)(x) = (x4−6x2+3)e−x2
2√2π
, =⇒ M4 ' 1.2
=⇒∣∣I − S2(n)
∣∣ ≤ 12880 n4
(b − a)5M4 ≤ 0.1n4
=⇒ I calculée à 2.10−16-près pour n ' 5000
=⇒ Méthode très puissante !
Cours de Méthodes Numériques 51 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 52 / 60
Simulation de réalisations de variables aléatoires
Créer du hasard ?
Ordinateur = fonctionnement totalement déterministe !
Propriété
Un ordinateur ne pourra générer qu'un pseudo-hasard et en particulier des
nombres pseudo-aléatoires.
Comment "mimer" le hasard ?=⇒ Choisir uniformément un réel dans [0, 1]=⇒ Choisir uniformément un décimal de [0, 1] à 2.10−16 près
Cours de Méthodes Numériques 53 / 60
Nombre pseudo-aléatoire sur [0, 1]
Dénition
Soit m ∈ IN∗ \ 1. Pour k ∈ IN, il existe un unique k ′ ∈ 0, 1, . . . ,m − 1tel que k = k ′ [m] (modulo m) ⇐⇒ k − k ′ est divisible par m
Exemples : 18 = 3 [5], 18 = 0 [9], 18 = 18 [25], 324903 = 462 [531].
Idée : Prendre k et m grand et revenir dans [0, 1] en divisant par m
Exemples : 324903 = 462 [531] =⇒ u = 462/531 ' 0.870324903 ∗ 462 = 513 [531] =⇒ u = 513/531 ' 0.966324903 ∗ 513 = 180 [531] =⇒ u = 180/531 ' 0.339
Cours de Méthodes Numériques 54 / 60
Nombres pseudo-aléatoires sur [0, 1] (suite)
Une procédure pour simuler plusieurs nombres pseudo-aléatoires sur [0, 1] :
Procédure
Soit m ∈ IN∗ \ 1, a ∈ IN∗ \ 1 et b ∈ 0, 1, . . . ,m − 1 xés.1 Avec x0 ∈ IN, xn+1 = a× xn + b [m] pour n ≥ 0
2 Avec un = xn/m, (u1, . . . , un) n nombres pseudo-aléatoires de [0, 1]
Exemples : Avec m = 531, a = 324903, b = 0 et x0 = 1
(x1, . . . , x10)=(462 513 180 324 477 9 441 369 27 261..)(u1, . . . , u10) '(0.870 0.966 0.339 0.610 0.898 0.017 0.831 0.695 0.051..)
Cours de Méthodes Numériques 55 / 60
Nombres pseudo-aléatoires sur [0, 1] (n)
Comment choisir m, a et b ?
Remarque : Au plus la suite xi peut être périodique de période m
Pour simplier, on prend b = 0. Pour avoir une période (m − 1) :
1 On choisit m nombre premier
2 On prend a tel que am−1 − 1 multiple de m et aj − 1 non divisible parm, pour j = 1, . . . ,m − 2.
=⇒ Par exemple, m = 231 − 1 et a = 16807
=⇒ Choix de x0 : horloge interne de l'ordinateur !
Cours de Méthodes Numériques 56 / 60
Générer des nombres pseudo-aléatoires de toute loi
On sait générer n réalisations de v.a. indépendantes de loi ' U([0, 1]) :commande R : runif(n,0,1)
Comment générer n réalisations de v.a. indépendantes de loi quelconque ?
Propriété
Si X v.a. continue avec fX > 0 de I ⊂ IR. Alors FX sur I admet une fonction
réciproque F−1X et pour UL∼ U([0, 1]) alors F−1X (U) a la même loi que X .
Démonstration.
FX strictement croissante sur I : FX est bien bijective, et admet une fonction réciproque F−1X sur
]0, 1[ continue : F−1X (U) est une v.a. Pour tout x ∈ IR, avec FX (F−1X (U)) = U et
IP(F−1X (U) ≤ x) = IP(U ≤ FX (x)) = FU(FX (x)) = FX (x) car FU(u) = u pour tout u ∈ [0, 1].
La v.a. F−1X (U) a donc même fonction de répartition que X , ces deux v.a. ont donc même loi.
Cours de Méthodes Numériques 57 / 60
Générer des nombres pseudo-aléatoires de toute loi (suite)
Exemple : Si X suit la loi E(λ), alors FX (x) = 0 si x ≤ 0
1− e−λx si x > 0.
=⇒ FX bijective de ]0,∞[→ [0, 1[ et F−1X (y) = − ln(1−y)λ sur [0, 1[.
Donc si (U1, . . . ,Un) réalisations indépendantes ' U([0, 1])
=⇒ (X1, . . . ,Xn) réalisations indépendantes ' E(λ), Xi = − ln(1−Ui )λ
Exemple moins facile :
Si on veut générer (X1, . . . ,Xn) indépendantes avec XiL∼ ' N (0, 1) :
FX (x) = 1√2π
∫ x−∞ e−t
2/2dt =⇒ pas d'expression pour F−1X ! !
=⇒ Autre méthode...
Cours de Méthodes Numériques 58 / 60
Générer des nombres pseudo-aléatoires de toute loi (suite)
Et pour les variables aléatoires discrètes ?
Propriété
Soit X v.a. prenant pour valeurs (xj)j≥1 et xj < xj+1 de loi IP(X = xj) = pj .Soit H : [0, 1]→ (xj)j∈J telle que H(x) = xj pour FX (xj−1) ≤ x < FX (xj)avec FX (x0) = 0, alors si (U1, . . . ,Un) réalisations indépendantes ' U([0, 1])
=⇒ (V1, . . . ,Vn) réalisations indépendantes de loi (pj), Vi = H(Ui ).
Autrement : Pour UL∼ ' U([0, 1])
si 0 ≤ U < p1, V = H(U) = x1
si p1 ≤ U < p1 + p2, V = H(U) = x2
si p1 + p2 ≤ U < p1 + p2 + p3, V = H(U) = x3
. . . . . . . . . . . . . . . . . .
Cours de Méthodes Numériques 59 / 60
Générer des nombres pseudo-aléatoires de toute loi (n)
Remarque : IP(α ≤ U < β
)= β − α pour 0 ≤ α ≤ β ≤ 1
=⇒ IP(V = H(U) = xj) = IP(p1 + · · ·+pj−1 ≤ U < p1 + · · ·+pj
)= pj
Exemple : Pour générer (X1, . . . ,Xn) réalisations indépendantes de loi B(p)
=⇒ On génère (U1, . . . ,Un) réalisations indépendantes ' U([0, 1])=⇒ Si 0 ≤ Ui < 1− p, Xi = 0, si 1− p ≤ Ui < 1, Xi = 1
Commandes R : rbinom(n,1,p), rbinom(n,m,p), rexp(n,l),...
Cours de Méthodes Numériques 60 / 60
Plan du cours
1 Fondamentaux d'un logiciel numérique de mathématiquesQuelques éléments sur le fonctionnement d'un logiciel numériqueFormat de nombres, erreurs et propagation des erreurs
2 Analyse numériqueApproximation de limites de suites et calcul approché de sériesRésolution de l'équation f (x) = 0Calcul approché d'intégrales
3 Probabilités numériques et statistiqueSimulation de réalisations de variables aléatoires
Cours de Méthodes Numériques 61 / 60
Méthode de Monte-Carlo
But : Utiliser la simulation de v.a. pour estimer
Commandes R :
rbinom, rnorm, rexp, rpois,... : Random
pbinom, pnorm, pexp, ppois,... : Fonction Repartition
dbinom, dnorm, dexp, dpois,... : Density
qbinom, qnorm, qexp, qpois,... : Quantile
Cours de Méthodes Numériques 62 / 60
Rappels
Dénition
Soit (Xi )i∈IN suite de v.a. dénies sur (Ω,A, IP). On dit que (Xi )i∈IN est une
suite de v.a. indépendantes identiquement distribuées (v.a.i.i.d.)lorsque (Xi )i∈IN indépendantes et les Xi ont la même loi que X1.
Dénition
Soit (Xi )i∈IN suite de v.a. dénies sur (Ω,A, IP). On dit que (Xn) converge
en probabilité vers une variable aléatoire Y , soit XnP−→
n→+∞Y lorsque
∀ε > 0, IP(|Xn − Y | ≥ ε
)−→
n→+∞0.
Exemple : Si XnL∼ B(1/n) alors Xn
P−→n→+∞
0.
Cours de Méthodes Numériques 63 / 60
Rappels (n)
Dénition
Soit (Xi )i∈IN suite de v.a. dénies sur (Ω,A, IP). On dit que (Xn) converge
en loi vers une variable aléatoire Y , soit XnL−→
n→∞Y lorsque
FXn(x) −→n→+∞
FY (x) pour tout x ∈ IR tel que FY soit continue en x .
Corollaire
Si Xi v.a. discrètes sur xjj∈J , il sut de montrer que
IP(Xn = xj) −→n→+∞
pj = IP(Y = xj)
Si Xi v.a. continues de densités fi , il sut de montrer que
fn(x) −→n→+∞
fY (x) pour presque tout x ∈ IR
Exemple : Si XnL∼ N
(10/√n, 1)alors Xn
L−→n→∞
YL∼ N (0, 1).
Cours de Méthodes Numériques 64 / 60
Théorèmes limite
Théorème (Loi des grands nombres)
Soit (Xi )i∈IN suite de v.a.i.i.d. dénies sur (Ω,A, IP) telles que IE[|X1|]<∞.
Alors :
X n =1
n
(X1 + · · ·+ Xn
) P−→n→+∞
IE[X1]
Théorème (Théorème de la Limite Centrale)
Soit (Xi )i∈IN suite de v.a.i.i.d. dénies sur (Ω,A, IP) telles que IE[|X 21 |]<∞.
Alors : √n(X n − IE[X1]
) L−→n→∞
N(0 , var(X1)
)Exemple : Si Xi
L∼ B(p) alors X nP−→
n→+∞p et
√n(X n − p
) L−→n→∞
N(0 , p(1− p)
).
Cours de Méthodes Numériques 65 / 60
Lemme (Lemme de Stlutsky)
Soit (Xi )i∈IN et (Yi )i∈IN deux suites de v.a. dénies sur (Ω,A, IP) telles que
XnP−→
n→+∞C constante et Yn
L−→n→∞
Y . Alors :
(Xn,Yn)L−→
n→∞(C ,Y ) =⇒
XnYnL−→
n→∞C Y
Xn + YnL−→
n→∞C + Y
Théorème (Théorème de la Limite Centrale 2)
Soit (Xi )i∈IN suite de v.a.i.i.d. dénies sur (Ω,A, IP) telles que IE[|X 21 |]<∞.
Alors :σ2n =
1
n
n∑i=1
(Xi − X n
)2 P−→n→+∞
σ2 = var(X1)
et √n
(X n − IE[X1]
)σn
L−→n→∞
N(0 , 1
)Exemple : Si Xi
L∼ B(p) alors√n
(X n − p
)√X n(1− X n)
L−→n→∞
N(0, 1).
Cours de Méthodes Numériques 66 / 60
Estimation de la moyenne
Soit m = IE[X1] =⇒ X n permet d'estimer m avec intervalle de conance...
Propriété
Soit (Xi )i∈IN suite de v.a.i.i.d. dénies sur (Ω,A, IP) telles que IE[|X 21 |]<∞.
Alors pour 0 < α < 1 avec qp quantile de N (0, 1) d'ordre p et n grand
IP(X n − q1−α/2
σn√n≤ m ≤ X n + q1−α/2
σn√n
)' 1− α
=⇒[X n − 1.96
σn√n≤ m ≤ X n + 1.96
σn√n
]intervalle conance 95%
Exemple : Si XiL∼ B(p) alors un intervalle conance à 95% de p[
X n − 1.96
√X n(1− X n)
n≤ m ≤ X n + 1.96
√X n(1− X n)
n
]Cours de Méthodes Numériques 67 / 60
Estimation d'une intégrale par méthode MC
Soit I =
∫ b
ag(t)dt =⇒ In = (b − a) g(Xn) estime I où X1
L∼ U([a, b])
Propriété
Soit I =
∫ b
ag(t)dt avec
∫ ba
(|g(t)|+ g2(t)
)dt <∞ où g continue par
morceaux sur ]a, b[. Si (Xi )i∈IN suite de v.a.i.i.d. de loi U([a, b]), alors pour
0 < α < 1 avec qp quantile de N (0, 1) d'ordre p et n grand
IP(In − q1−α/2
σn√n≤ I ≤ In + q1−α/2
σn√n
)' 1− α
où In =b − a
n
(g(X1) + · · ·+ g(Xn)
)et σ2n =
(b − a)2
n
(g2(X1) + · · ·+ g2(Xn)
)−(In)2
Exemple : Pour I = 4∫ 10
√1− t2dt = π alors un intervalle conance à 95%
de I = π est :[In − 1.96
σn√n≤ I ≤ In + 1.96
σn√n
]Cours de Méthodes Numériques 68 / 60
Comparaison avec les autres méthodes de calcul d'intégrales
Défauts :
1 Intervalles de conance au lieu d'erreurs déterministes
2 Vitesse en 1√nau lieu de 1
n (Rectangles), 1n2
(Trapèzes) ou 1n4
(Simpson)
Avantages :
1 Valable même si la fonction n'est pas dérivable
2 Intervalle de conance en 1/√n pour intégrales multiples
Cours de Méthodes Numériques 69 / 60