69

Cours de Méthodes Numériques

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cours de Méthodes Numériques

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

Page 2: Cours de Méthodes Numériques

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

Page 3: Cours de Méthodes Numériques

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

Page 4: Cours de Méthodes Numériques

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

Page 5: Cours de Méthodes Numériques

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

Page 6: Cours de Méthodes Numériques

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

Page 7: Cours de Méthodes Numériques

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

Page 8: Cours de Méthodes Numériques

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

Page 9: Cours de Méthodes Numériques

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

Page 10: Cours de Méthodes Numériques

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

Page 11: Cours de Méthodes Numériques

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

Page 12: Cours de Méthodes Numériques

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

Page 13: Cours de Méthodes Numériques

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

Page 14: Cours de Méthodes Numériques

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

Page 15: Cours de Méthodes Numériques

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

Page 16: Cours de Méthodes Numériques

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

Page 17: Cours de Méthodes Numériques

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

Page 18: Cours de Méthodes Numériques

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

Page 19: Cours de Méthodes Numériques

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

Page 20: Cours de Méthodes Numériques

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

Page 21: Cours de Méthodes Numériques

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

Page 22: Cours de Méthodes Numériques

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

Page 23: Cours de Méthodes Numériques

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

Page 24: Cours de Méthodes Numériques

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

Page 25: Cours de Méthodes Numériques

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

Page 26: Cours de Méthodes Numériques

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

Page 27: Cours de Méthodes Numériques

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

Page 28: Cours de Méthodes Numériques

Méthode de la sécante

Cours de Méthodes Numériques 28 / 60

Page 29: Cours de Méthodes Numériques

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

Page 30: Cours de Méthodes Numériques

Méthode de Newton-Raphson

Cours de Méthodes Numériques 30 / 60

Page 31: Cours de Méthodes Numériques

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

Page 32: Cours de Méthodes Numériques

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

Page 33: Cours de Méthodes Numériques

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

Page 34: Cours de Méthodes Numériques

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

Page 35: Cours de Méthodes Numériques

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

Page 36: Cours de Méthodes Numériques

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

Page 37: Cours de Méthodes Numériques

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

Page 38: Cours de Méthodes Numériques

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

Page 39: Cours de Méthodes Numériques

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

Page 40: Cours de Méthodes Numériques

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

Page 41: Cours de Méthodes Numériques

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

Page 42: Cours de Méthodes Numériques

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

Page 43: Cours de Méthodes Numériques

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

Page 44: Cours de Méthodes Numériques

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

Page 45: Cours de Méthodes Numériques

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

Page 46: Cours de Méthodes Numériques

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

Page 47: Cours de Méthodes Numériques

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

Page 48: Cours de Méthodes Numériques

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

Page 49: Cours de Méthodes Numériques

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

Page 50: Cours de Méthodes Numériques

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

Page 51: Cours de Méthodes Numériques

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

Page 52: Cours de Méthodes Numériques

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

Page 53: Cours de Méthodes Numériques

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

Page 54: Cours de Méthodes Numériques

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

Page 55: Cours de Méthodes Numériques

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

Page 56: Cours de Méthodes Numériques

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

Page 57: Cours de Méthodes Numériques

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

Page 58: Cours de Méthodes Numériques

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

Page 59: Cours de Méthodes Numériques

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

Page 60: Cours de Méthodes Numériques

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

Page 61: Cours de Méthodes Numériques

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

Page 62: Cours de Méthodes Numériques

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

Page 63: Cours de Méthodes Numériques

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

Page 64: Cours de Méthodes Numériques

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

Page 65: Cours de Méthodes Numériques

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

Page 66: Cours de Méthodes Numériques

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

Page 67: Cours de Méthodes Numériques

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

Page 68: Cours de Méthodes Numériques

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

Page 69: Cours de Méthodes Numériques

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