Sie sind auf Seite 1von 63

Methodes numeriques pour la physique

Licences de Physique
Faculte des Sciences de Luminy

Hubert Klein (klein@cinam.univ-mrs.fr)


CiNaM UPR CNRS 3118
case 913 faculte des Sciences de Luminy 13288 Marseille cedex 9
Table des matieres

Introduction 4

Representation des nombres dans un ordinateur 6

I Tri et modelisation de donnees 9

1 Algorithmes de tri de donnees 10


1.1 Tri a bulle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Tri par insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Tri shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Tri rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Cacul de quelques grandeurs statistiques usuelles 17


2.1 Moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 variance, ecart-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Regression lineaire par la methode des moindres carres 19


3.1 Definition du probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Exemple dapplication : ajustement dune fonction lineaire y = a.x + b . . . . . . 20
3.3.1 prise en compte de lincertitude sur les mesures . . . . . . . . . . . . . . . 20

II Methodes numeriques 23

4 Recherche des racines dune fonction 24


4.1 Encadrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.1 Convergence de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Methode de Newton - Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 Convergence de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2
TABLE DES MATIERES 3

5 Minimisation ou maximisation dune fonction 31


5.1 Recherche par la section dor (golden section search) . . . . . . . . . . . . . . . . 31
5.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 Interpolation 36
6.1 Interpolation lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2 Interpolation quadratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3 Generalisation a lordre n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3.1 Du bon usage de linterpolation . . . . . . . . . . . . . . . . . . . . . . . . 40

7 Integration de fonctions 41
7.1 Integration par la methode des rectanges . . . . . . . . . . . . . . . . . . . . . . . 41
7.1.1 Incertitude de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Integration par la methode des trapezes . . . . . . . . . . . . . . . . . . . . . . . 43
7.2.1 Incertitude de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3 Integration par la methode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3.1 Incertitude de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.4 Methode de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.5 Determination dun pas optimal dintegration . . . . . . . . . . . . . . . . . . . . 46

8 Derivation numerique 48
8.1 Formule dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.1.1 Erreur intrinseque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.2 Derivation au demi-pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2.1 Stabilite numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

9 Resolution dequations differentielles lineaires 51


9.1 Methode dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.1.1 Precision et stabilite de la methode . . . . . . . . . . . . . . . . . . . . . . 53
9.1.2 Exemple dapplication : la loi de decroissance radioactive . . . . . . . . . 54
9.2 Methode du saut de grenouille . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.2.1 Stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.3 Algorithme Verlet-vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.4 Methode de Runge Kutta a lordre 2 . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.4.1 Stabilite de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.5 Methode Runge Kutta a lordre 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

A References bibliographiques et informatiques 62

Methodes Informatiques pour la physique H. Klein


Introduction

Ce document na pas pour but detre un cours dinformatique, encore moins un cours dana-
lyse numerique. Lidee en est plutot dutiliser la puissance de calcul dun ordinateur pour traiter
des problemes physique tres varies. Pourquoi utiliser un ordinateur ? Pour gagner du temps par
exemple lors dun calcul fastidieux que lon pourrait realiser a la main, mais aussi dans des cas
ou le probleme ne peut pas etre traite avec un crayon et une feuille de papier (certaines equations
nont par exemple pas de solutions analytiques).
Nous aborderons au cours de ce cours les methodes classiques de calcul numerique qui
nous permettrons dintegrer des fonctions, de calculer leurs racines, dintegrer des systemes
dequations differentielles. . .Dans une deuxieme partie nous aborderons lusage dun ordinateur
pour traiter des donnees. Cet aspect statistique du calcul numerique est particulierement utilise
par les experimentateur, notamment en physique ou les volumes de donnees peuvent etre parti-
culierement important et les calculs repetitifs. Lutilisation dun ordinateur permet dans ces cas
de gagner beaucoup de temps.
Les calculs numeriques sont apparus bien avant lapparition des ordinateurs. Au XVII siecle
par exemple, John Napier (1550-1616) introduisit les logarithmes (Mirifici logarithmorum canoni
descriptio, Edimbourg,1614). Les multiplications pouvait etre transformee en addition, un calcul
de racine carree en division par deux. Cetait deja un gain de temps appreciable . . .De nombreux
contemporains de Napier realiserent des prouesses en calculs numeriques (calculs des orbites
planetaires par exemple), et tout ceci a la main. Outre le temps requis par de tels calculs, les
erreurs etaient monnaie courante.
Aussi, lidee dautomatiser ces calculs fastidieux apparut rapidement. Le baron Gaspard de
Prony etait charge pendant le premier empire de mettre en place des tables pour le calcul des
impots fonciers (dont les regles etaient deja complexes a lepoque). Il eut lidee de fractionner ce
travail enorme en plusieurs partie. Des mathematiciens decomposerent tous les calculs necessaires
en operations elementaires, des gestionnaires organiserent le travail et collecterent les resultats.
Enfin, les calculs elementaires furent assures par des operateurs pour lesquels la qualification
requise etait de savoir faire des additions. Cette approche est exactement celle dun programmeur
devant resoudre un probleme a laide dun ordinateur : sa tache est decrire un algorithme, cest
a dire de decomposer un probleme en une serie de taches elementaires comprehensibles par un
ordinateur (additions, comparaisons . . .), et de definir lordre dexecution de ces taches. Dans ce
cas, les operateurs humains sont remplaces par un calculateur beaucoup plus rapide.
La mecanisation du calcul suivit, notamment grace a un anglais, Charles Babbage au debut
du XIX siecle. Il eut lidee dassocier cette idee de decomposition dun probleme en taches
simples a une machine a calculer mecanique ressemblant a la machine de Pascal et a un systeme

4
TABLE DES MATIERES 5

de lecture de cartes perforees utilisees sur les metiers a tisser Jacquard. Sa machine a differences
etait lanalogue mecanique de nos calculateurs electroniques. Cependant, son idee naboutit pas,
car il se heurta a de tres importantes difficultes techniques. Mais lidee etait lancee . . .
Cette idee fut concretisee en 1890 par Herman Hollerith qui repondit a un appel doffre du
gouvernement americain pour traiter les donnees du recensement national. Le traitement des
donnees du recensement precedent avait necessite sept ans de travail. Hollerith proposa une
machine qui lisait les donnees sur des cartes perforees, et le resultat fut obtenu en six semaines.
Un gain de temps appreciable. Hollerith fonda alors une societe, la Tabulating Machine Company
qui devint en 1924 la International Business Machines, plus connue sous le sigle IBM . . .
Au cours de la deuxieme guerre mondiale, les efforts de recherche dans ce domaine se sont
intensifies : les armees avaient besoin de gros volumes de calcul (etablissement de tables de
portee de tir pour lartillerie, decryptage des communications ennemies . . .).
Les premiers calculateurs electroniques ont vu le jour tres peu de temps apres la guerre
(lENIAC en 1946 aux Etats-Unis). Linvention du transistor en 1951 par John Bardeen, William
Shockley et Walter Brattain a ensuite ouvert la voie aux calculateurs electroniques modernes.
Leurs performances nont depuis jamais cesse de crotre.

Methodes Informatiques pour la physique H. Klein


Representation des nombres dans un
ordinateur

On parle souvent de precision du resultat au cours de calculs numeriques. Cette precision


nest jamais une precision absolue. En effet, outre le fait quun algorithme puisse introduire
une imprecision dans les resultats, les nombres eux-memes sont representes avec une certaine
precision dans la memoire dun ordinateur.

Representation des nombres entiers

Dans la memoire dun ordinateur, les nombres ont une representation binaire, cest a dire
une suite de 0 et de 1. Aisi pour les nombres entiers on obtient la correspondance suivante entre
representation decimale (premiere ligne) et binaire (deuxieme ligne)
0 1 2 3 4 5 6 7 8 9 10 ...
0 1 10 11 100 101 110 111 1000 1001 1010 . . .
Une case contenant em memoire un 0 ou un 1, est appelee un bit. Dans la majorite des
ordinateurs, ces bits sont regroupes par 8, les octets ou bytes. Ces octets constituent alors un
emplacement correspondant a une adresse dans la memoire. Le tableau precedent secrirait en
fait
0 1 2 3 4 5 ...
00000000 00000001 00000010 00000011 00000100 00000101 . . .
Avec un octet on peut representer les nombres entiers 0 . . . 28 1, cst a dire de 0 a 255.
Afin davoir une dynamique de representation plus importante, on groupe des octets en
mots, la taille de ces mots dependant du nombre de bits quun ordinateur sait manipuler en
une operation. Sur les ordinateurs personnels actuels, la taille de ces mots est de 32 bits soit 4
octets. Dans un mot de quatre octets, on peut coder les entiers allant de 0 a 232 1 soit de 0 a
4 294 967 296.
Pour pouvoir representer les nombres negatifs, on change de convention de codage : un
nombre negatif est le complement a deux de sa valeur positive. Par exemple 00000001 = 1
et 11111110=-1 (au lieu de 254). Aisi de 00000000=0 a 01111111=127 on code des nombres
positifs, et de 11111110=-1 a 11111111=-128 des nombres negatifs. Sur 32 bits, on peut coder
des nombres entiers signes allant de 231 a 231 1

6
TABLE DES MATIERES 7

Representation des nombres reels


Parler denombre reels est abusif, on ne peut en effet traiter que des nombres rationels,
par exemple 2 = 1.4142213562 . . .. La restriction est encore plus grande puisque lon ne peut
representer quun nombre fini de chiffres : 1/3 devient par exemple 0.33333333. Si lon supprime
la virgule, ce nombre peut etre representecomme un entier, il suffit ensuite dindiquer la position
de la virgule par une puissance de 10. 2 = 1.4142213562 peut secrire 14142213562.109 ou
encore 0, 14142213562.101 .
Lavantage de la deuxieme ecriture est que lexpression des chiffres composant le nombre
est comprise entre 0 et 1, chaque chiffre correspondant a une puissance negative de 10. On
pourra donc representer un nombre avec 3 paprametres : le signe, la position de la virgule (ou
lexposant) et les chiffres (ou la mantisse). La decomposition que nous avons fait en base 10
peut sans probleme etre transposee en base 2.
Aisi un nombre reel code sur 4 octets se repartit de la maniere suivante
1 bit de signe
8 bits pour lexposant
23 bits pour la mantisse, comme le premier chiffre sera toujours zero, on peut lomettre et
gagner ainsi un bit significatif
Cette convention appelee notation en virgule flottante permet de coder les nombres reels de
1, 175494.1038 a 3, 402823.1038 avec 7 chiffres significatifs. Il est aussi possible de representer
un nombre reels sur 64 bits (8 octets) en double precision avec 15 chiffres significatifs de
2, 225074.10308 a 1, 797693.10308 .
Il convient cependant de se rappeler que cette representation des nombres reels nest pas
exacte, cst une approximation.

Consequences
La consequence de ces representations, est que les calculs se feront toujours avec une certaine
precision intrinseque (par exemple 7 chiffres significatifs). Imaginons que nous voulions realiser
le calcul suivant avec des nombres reels codes sur 4 octets

si+1 = si + 109

avec s0 = 1, si lon repete le calcul 109 fois, le resultat donnera 1... La raison en est que pour
realiser laddition la machine dispose dune precision de 107 , donc 1+109 = 1. Le meme calcul
conduit en double precision donnerait un resultat correct (la precision est alors de 15 chiffres).
Il faut donc extremement prudent lorsque lon realise des operations entre des nombres qui
peuvent prendre des valeurs tres differentes. Il est aussi prudent de se rappeler que lorsque
lon fait des calculs iteratifs (ce qui est tres frequent en calcul numerique), les erreurs peuvent
sajouter les unes aux autres pour finalement conduire a des resultats dont lerreur nest pas
negligeable, voire a des resultats aberrants.
Un deuxieme cas classqiue derreur est le suivant : on compare un nombre reel if(a == 0.0)
then .... Le resultat dune telle comparaison est aleatoire a cause des arrondis ! Imaginons que
a soit le resultat dun long calcul, va-t-il valoir 0 ou 0, 1234567.1035 ? Il est prudent de remplacer

Methodes Informatiques pour la physique H. Klein


TABLE DES MATIERES 8

la comparaison precedente par if(|a| < ), qui se traduirait par : si |a| est inferieur a la precision
alors . . .
Il faut cependant se poser la question de la precision adaptee a un calcul : si lon est capable
representer un nombre avec une precision de 107 , cela ne represente pas une precision absolue
mais relative. On pourra par exemple par exemple representer x 1 avec cette precision, mais
x 1020 sera represente avec une precision de 107 1020 = 1013 . . .

Dune maniere generale, lorsque lon fait des calculs


numeriques, il est utile de verifier le calcul sur des cas ou lon
connait la solution afin de verifier le fonctionnement correct
dun programme.

Methodes Informatiques pour la physique H. Klein


Premiere partie

Tri et modelisation de donnees

9
Chapitre 1

Algorithmes de tri de donnees

Ce chapitre na a priori pas grand chose a voir avec le calcul numerique, cest cependant une
etape necessaire et prealable a des manipulations plus sophistiquees ( par exemple des calculs
statistiques) . Cest de plus un domaine ou de tres nombreux algorithmes ont ete proposes, et
nous allons en detailler quelques uns. Un peu dalgorithmique ne peut pas faire de mal . . .

Pour effectuer un tri, nous allons placer les donnees dans un tableau, nous supposerons dans
la suite que ce tableau comport N elements. Le but sera de reduire au minimum le nombre
doperations pour trier ces N elements. Cette optimisation est souvent indispensable, lorsque le
nombre de donnees est important, ou lorsquon est amene a repeter le tri un grand nombre de
fois. Le nombre doperations necessaires pour trier un tableau de N elements, n op est variable
en fonction des algorithmes :

N log2 N n op N 2

Dans ce chapitre nous allons aborder deux types de methodes :

simples, mais peu performantes : tri a bulle ou par insertion


moins simples mais plus performantes : tri rapide ou shell

10
CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 11

1.1 Tri a bulle

Le principe du tri a bulle est des plus simples : supposons que lon souhaite classer un
tableau de nombres entiers par ordre croissant, on va alors parcourir le tableau contenant les N
nombres. Le plus petit nombre sera range dans la preiere case du tableau. Il ne reste plus qua
trier N 1 elements pour lesquels on repete la meme operation. Une illustration de lalgorithme
1 est donnee dans la figure 1.1

Algorithme 1 Tri dun tableau par tri a bulle


Requiert: un tableau tab[N] de N elements
Fournit: le tableau trie par ordre croissant
pour i = 0 a N 1 faire
tampon i
pour j = i + 1 a N 1 faire
si tab[j] tab[tampon] alors
tampon j
fin si
fin pour
ttampon tab[i]
tab[i] tab[tampon]
tab[tampon] ttampon
fin pour
renvoyer tab[]

Fig. 1.1 Tri dun tableau par la methode du tri a bulle.

Cet algorithme requiert en moyenne N 2 operations pour trier un tableau de N elements.


Pour cette raison cette methode de tri, tres simple a implementer nest utilisee que pour de
petits ensemble de donnees.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 12

1.2 Tri par insertion


Cette methode de tri est bien connue des joueurs de cartes : on commence par trier les deux
premieres cartes lune par rapport a lautre, puis on trie la troisieme par rapport aux deux
premieres, et ainsi de suite jusqua ce que toutes les cartes soient triees. Une illustration de
lalgorithme 2 est donnee a la figure 1.2.

Algorithme 2 Tri dun tableau par insertion


Requiert: un tableau tab[N] de N elements
Fournit: le tableau trie par ordre croissant
pour i = 1 a N faire
tampon tab[i]
j i1
tant que j 0 ET tab[j] > tampon faire
tab[j + 1] tab[j]
j j1
fin tant que
tab[j + 1] tampon
fin pour
renvoyer tab[]

Fig. 1.2 Tri dun tableau par la methode du tri par insertion.

Cet algorithme demande egalement N 2 operations pour trier un tableau de N elements,


ce nest donc pas a priori une methode tres performante pour de grands ensembles car la
recherche de lemplacement ou ranger un element dans lensemble trie necessite eventuellement
de le comparer a tous les autres elements.Le grand interet de cette methode est que dans le
cas ou lon veut inserer un element dans un ensemble deja trie, il est simplement necessaire de
parcourir une fois lensemble deja trie pour positionner le nouvel element. Cest la raison pour
laquelle cette methode est particulierement adaptee au tri incremental. Considerons par exemple
un systeme de reservation dans un hotel : tous les clients sont affiches par ordre alphabetique.
Si la liste est mise a jour lorsque de nouveaux clients arrivent, la mise en place dun nouveau

Methodes Informatiques pour la physique H. Klein


CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 13

client dans la liste ne necessitera quun simple decalage des donnees.

1.3 Tri shell


Le tri shell est une variante plus performante du tri par insertion.
Cet algorithme applique a un tableau range au hasard necesite environ N 1.25 operations.
Cependant pour N > 50, le tri rapide est plus performant. Lidee de base est la suivante : soit
un ensemble de nombres n1 . . . n1 6.
Nous allons dabord trier par insertion 8 groupes de 2 nombres (n1 , n9 ), (n2 , n10 ), . . . , (n8 , n16 ).
Puis 4 groupes de 4 nombres (n1 , n5 , n9 ), (n2 , n6 , n10 , n14 ), . . . , (n4 , n8 , n12 , n16 ). Puis 2 groupes
de 8 nombres (n1 , n3 , n5 , n7 , n9 , n11 , n13 , n15 ), (n2 , n4 , n6 , n8 , n10), n12 , n14 , n16 , et enfin un groupe
de 16 nombres.
A priori, seule la derniere etape est necessaire. Linteret des etapes preliminaires est deffec-
tuer un filtrage qui va rapprocher tous les elements de leurs places finales. Ainsi, a la derniere
etape, seule quelques comparaisons sont necessaires pour que chaque element trouve sa place
dans lensemble trie. La performance de lalgorithme depend de lincrement utilise entre nombres.
Dans notre cas, nous demarrons avec les couples (n1 , n9 ) . . ., puis (n1 , n5 . . .. Lincrement sera
ici 8, 4, 2, 1, cette serie nest pas un bon choix.
Il y a eu de nombreux travaux sur ces suites dincrements, et il en ressort que le meilleur
compromis est de la forme
3k 1
, . . . , 40, 13, 4, 1
3
cette serie peut-etre generee par la recurrence suivante

i1 = 1, ik+1 = 3ik + 1, k = 1, 2, . . .

Il a ete demontre quen utilisant cette serie dincrements, lalgorithme necessite N 1.5 operations
dans le pire des cas. Lalgorithme 3 est illustre par la figure 1.3.

Fig. 1.3 Tri dun tableau par la methode du tri shell.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 14

Algorithme 3 Tri dun tableau par la methode du tri shell


Requiert: un tableau tab[N] de N elements
Fournit: le tableau trie par ordre croissant
inc 1
repeter
inc inc 3
inc inc + 1
tant que inc N
repeter
inc inc/3
pour i = inc a N faire
tampon tab[i]
ji
tant que tab[j inc] > tampon faire
tab[j] tab[j inc]
j j inc
si j < inc alors
sortir
fin si
fin tant que
tab[j] tampon
fin pour
tant que inc > 1
renvoyer tab[]

Methodes Informatiques pour la physique H. Klein


CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 15

1.4 Tri rapide


Pour de grands ensemble de donnees , cet algorithme est lalgorithme le plus rapide sur la
plupart des ordinateurs. Le principe de cet algorithme (4) est de partitionner le tableau a trier par
rapport a une valeur pivot. Tout les elements dont la valeur est superieure au pivot seront places
apres le pivot (haut de la figure 1.4, les elements inferieurs avant. Cette operation est ensuite
repetee sur les deux sous-ensembles de valeurs jusqua ce que le tableau soit completement trie
(bas de la figure 1.4). La valeur choisie pour le pivot a peu dimportance, on peut tres bien
choisir une valeur au hasard du tableau, mais pour plus de clarte, dans la figure 1.4, le median
des valeurs a ete choisi comme pivot pour chaque operation.

Algorithme 4 Tri dun tableau par la methode du tri rapide. Dans cet algorithme, le pivot est
le dernier element du tableau.
Requiert: un tableau tab[N] de N elements, initialement debut = 1, f in = N 1
Fournit: le tableau trie par ordre croissant
si debut < f in alors
pivot tab[N 1]
i debut 1
j f in
repeter
repeter
i i+1
tant que tab[i] < pivot
repeter
j j1
tant que tab[j] pivot
tampon tab[i]
tab[i] = tab[j]
tab[j] tampon le pivot est maintenant dans tab[i]
tant que i < j
appel recursif 1 : debut, f in = i 1
appel recursif 2 : debut = i + 1, f in
fin si
renvoyer tab[]

Methodes Informatiques pour la physique H. Klein


CHAPITRE 1. ALGORITHMES DE TRI DE DONNEES 16

Fig. 1.4 Tri dun tableau par la methode du tri rapide. En haut : on a choisi le pivot 28,
premier tri du tableau. En bas : Visualisation des operations de tris succesives.

Methodes Informatiques pour la physique H. Klein


Chapitre 2

Cacul de quelques grandeurs


statistiques usuelles

Ce chapitre ne se veut pas exhaustif, nous allons simplement aborder le calcul des grandeurs
statistiques les plus couramment utilisees par les physiciens, comme la moyenne. Nous verrons
notamment que, si certains calculs sont tres simples a realiser, ils peuvent neanmoins receler
certains pieges.
Quand un distribution de donnees a tendance a etre groupe autour dune valeur particuliere,
il peut alors etre utile de le caracteriser par des nombres relies a ses moments, c.a.d. la somme
de puissances entieres de ses valeurs.

2.1 Moyenne
Le calcul dune valeur moyenne x est certainement la maniere la plus simple de caracteriser
une distribution de N donnees xi
n
1 X
x= xi
N i=1

linformation obtenue est assez pauvre : on sait maintenant que les donnees sont reparties
plus ou moins regulierement autour de la valeur moyenne x.
Le calcul est elementaire a realiser a laide dun ordinateur, mais il peut poser des problemes
assez serieux. Il convient bien sur de sassurer que le type de representation des nombres est
compatibles avec les donnees utilisees. Lors du calcul de la moyenne, il faut realiser la somme
de toutes les donnees. Ceci peut rapidement conduire a un depassement de capacite. La solution
peut etre de faire la division par n pour chaque element avant de realiser la somme. Mais, outre
le rallongement du temps de calcul, cela peut conduire a des erreurs darrondis, du fait du
nombre doperations realisees. Il ne faudra donc pas oublier de tester les depassements
de capacite lors de ce calcul.
Lutilisation dune valeur moyenne pour estimer une distribution de donnees nest pas forcement
judicieux : imaginons une distribution tres dispersee de valeurs, dans ce cas la valeur moyenne
ne sera pas representative. Il peut alors etre plus judicieux dutiliser le median (voir 2.3)

17
CHAPITRE 2. CACUL DE QUELQUES GRANDEURS STATISTIQUES USUELLES 18

2.2 variance, ecart-type


Lorsque lon a caracterise la valeur centrale dune distribution, on caracterise souvent sa
largeur ou sa dispersion autour de cette valeur. La mesure la plus courante est appelee variance.
N
1 X
V ar(x1 . . . xN ) = (xi x)2
N 1 i=1

ou ecart-type lorsque lon considere sa racine carree


q
(x1 . . . xN ) = V ar(x1 . . . xN )

La variance est une estimation de lecart moyen (au carre) entre les valeurs xi et la moyenne
x

2.3 Median
Le median dune distribution de probabilite p(x) est la valeur xmed pour laquelle les valeurs
superieures ou inferieures de x sont equiprobables
Z xmed Z
1
p(x)dx = = p(x)dx
2 xmed

Il est assez simple de determiner le median dune distribution x1 . . . xN , en determinant la


valeur xi qui a un nombre equivalent de valeurs au dessus et au dessous delle, si le nombre
delements de la distribution est pair. Dans le cas dun nombre delements impair, on calculera
la valeur moyenne des deux elements centraux.

xmed = x(N +1)/2 , N pair

1
xmed = (xN/2 + x(N/2)+1 ), N impair
2
Pour trouver un median, on peut classer toutes les valeurs dune distribution par ordre
croissant ou decroissant, et dutiliser ensuite lequation ci-dessus. Dans le cas ou une distribution
est dispersee, le median peut etre une meilleure estimation que la moyenne.

Methodes Informatiques pour la physique H. Klein


Chapitre 3

Regression lineaire par la methode


des moindres carres

3.1 Definition du probleme

Nous allons maintenant nous interesser un probleme qui se pose souvent aux experimentateurs.
A lissue dune experience, un experimentateur a souvent enregistre des donnees relatives par
exemple a lobservation dun phenomene physique. Ces donnees sont toujours entachees de bruit
(le plus souvent du aux instruments utilises). Lexperimentateur souhaite neanmoins comparer
ses donnees a un modele. Nous ne nous interesserons ici quau cas ou le modele est connu.
Lexperimentateur souhaite donc uniquement sassurer que le phenomene observe suit bien la
loi ou le modele quil connat. Il souhaitera egalement determiner les valeurs numeriques des
parametres intervenant dans ce modele, et qui ne sont pas connues a priori.

3.2 Implementation

Lexperimentateur est en possession de n donnees (xi , yi ). La loi connue sexprime comme


y = f (x, p1 , p2 . . . pm ). Cette loi depend des parametres p qui ne sont pas necessairement connus.
Pour verifier si les donnees se superposent correctement a la loi f , il suffit de calculer les ecarts
yi f (x, pj ) en faisant varier la valeur de pj jusqua ce que lecart soit minimal (ou nul si laccord
est parfait). Il faut bien evidemment realiser ce calcul pour tous les points experimentaux.
Les statistiques nous offrent une maniere elegante de calculer cela. On introduit pour cela une
variable dependant des parametres pj que lon appelle 2 (prononcerki-2). Cette variable est
definie comme
n
X
2 (pj ) = (f (xi , {pj }) yi )2
i=1

on va ensuite chercher lensemble de parametres pj qui va minimiser 2 .

19
CHAPITRE 3. REGRESSION LINEAIRE PAR LA METHODE DES MOINDRES CARRES
20

3.3 Exemple dapplication : ajustement dune fonction lineaire


y = a.x + b
Dans ce cas precis, 2 sexprimera
n
X
2 = (axi + b yi )2
i=1

on cherche a minimiser cette grandeur, on va donc chercher a satisfaire les conditions


n
2 X
= 2xi (axi + b yi ) = 0
a i=1
n
2 X
= 2(axi + b yi ) = 0
b i=1
on en deduit que Pn Pn Pn
n i=1 xi yi i=1 xi i=1 yi
a= Pn 2 Pn
n i=1 xi ( i=1 xi )2
Pn 2 Pn y Pn x y Pn x
i=1 xi i i=1 i i i=1 i
b= Pi=1 P
n ni=1 x2i ( ni=1 xi )2
On trouve ainsi les deux parametres a et b qui minimisent le 2 ,cest a dire les parametres
qui fournissent le meilleur accord entre les donnees experimentales (xi , yi ) et la fonction y. La
valeur numerique de 2 va nous renseigner sur cet accord. Une valeur nulle indiquera un accord
parfait entre les donnees et le modele, plus la valeur sera grande, moins bon sera laccord. Cest
ensuite a lutilisateur de cette methode de determiner quelles valeurs peuvent etre satisfaisantes
...

3.3.1 prise en compte de lincertitude sur les mesures


Dans lintroduction, nous avons parle de donnees, et de bruit. Un experimentateur rigoureux
va toujours tenter de caracteriser ce bruit qui va se traduire par une erreur sur chaque mesure,
que lon notera i . Dans la suite, nous considererons que cette erreur ne concerne que les points
yi , ce qui signifie que lon connat exactement les valeurs xi .
Nous avons donc une incertitude i pour chaque couple de mesures (xi , yi ). Nous exprimerons
alors 2 comme
X  axi + b yi 2
2
=
i
on va de nouveau chercher a le minimiser en posant
2 X 2xi (axi + b yi )
= =0
a i2
et
2 X 2(axi + b yi )
= =0
b i2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 3. REGRESSION LINEAIRE PAR LA METHODE DES MOINDRES CARRES
21

alors, en posant X xi y i
Sxy = , S = S11
i2
= SSxx (Sx )2 )
on obtient
SSxy Sx Sy
a=

Sxx Sy Sx Sxy
b=

ce sont a nouveau les parametres qui fournissent le meilleur accord entre donnees et modele
en tenant compte des erreurs de mesures. Et lon peut maintenant calculer lerreur sur ces
parametres
S
a =

Sxx
b =

Les statistiques nous permettent egalement de calculer un facteur de confiance sur loperation
qui vient detre realisee : le facteur de confiance pondere (wheighted en anglais ? ? ?)
v
u
u 2
Rw = t P f (xi ,{pj })
i2

par exemple Rw = 0.1 signifie que f est eloignee des donnees de 10 % en unites de .

Fig. 3.1 Exemple dapplication de la regression lineaire a un ensemble de donnees. Chaque


couple de mesures (xi , yi ) est accompagne dune incertitude sur yi , i , representee comme une
barre verticale.

Dans lexemple de la figure 3.1, est represente un ensemble de donnees qui suivent visiblement
un modele lineaire. Lapplication de la regression lineaire non ponderee donne les resultats
suivants :
a = 1.25

Methodes Informatiques pour la physique H. Klein


CHAPITRE 3. REGRESSION LINEAIRE PAR LA METHODE DES MOINDRES CARRES
22

b = 0.5
le trace de cette fonction sur la meme figure, montre que laccord entre donnees experimentales
et regression est excellent. Lapplication de la regression ponderee donne les resultats suivants :
a = 1.25, a = 0.19
b = 0.5, b = 0.42
Rw est quant a lui tres proche de zero.
on voit donc que si la regression est tout a fait pertinente sur cet ensemble de donnees, lincer-
titude sur le parametre b est loin detre negligeable.

Methodes Informatiques pour la physique H. Klein


Deuxieme partie

Methodes numeriques

23
Chapitre 4

Recherche des racines dune fonction

Nous nous interessons ici a un des problemes les plus basiques : resoudre numeriquement une
equation du type
f (x) = 0
Dans le cadre de ce document, nous nallons nous interesser quau cas ou il y a une seule variable
independante x, cest a dire au probleme a une dimension. Excepte le cas des problemes lineaires,
la recherche des racines de la fonction f (x) va se faire par iterations. Il faut pour cela partir dune
solution approchee, meme grossiere, et batir un algorithme qui va ameliorer la solution jusqua
satisfaire un critere de convergence. Nous allons nous interesser a deux types dalgorithmes :
methode dichotomique
methode utilisant la derivee
Mais avant daborder ces algorithmes, nous allons etudier des algorithmes simples denca-
drement permettant de definir des solutions approchees de f (x) = 0.

4.1 Encadrement
On dira quune racine dune fonction f (x) est encadree par lintervalle (a, b) si f (a) et f (b)
ont des signes opposes. Si la fonction est continue, alors il existe au moins une racine de f dans
cet intervalle (theoreme de la valeur intermediaire). Si la fonction nest pas continue, on peut a
la place dune racine, trouver une discontinuite qui traverse le zero dans lintervalle (a, b).
Dun point de vue numerique, cela va etre equivalent a une racine car le comportement va
etre le meme, c.a.d. que lon va traverser le zero entre deux nombres flottants de la representation
en precision finie de la machine. Seules les fonctions du type

1
f (x) =
xc

vont presenter des singularites mais pas de racines. Dans ce cas, certains algorithmes pourront
converger vers c, mais dans ce cas il ny a (heureusement) pas de confusion possible avec une
racine, puisquune evaluation de |f (x)| va donner un resultat tres grand plutot que proche de
zero. Il est donc important davoir une idee de la variation de f (x) dans lintervalle etudie pour

24
CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 25

choisir un algorithme adapte, dou la necessite davoir des algorithmes simples permettant de
determiner les intervalles contenant une racine pour une fonction quelconque.

Lalgorithme 5 permet, partant dun intervalle de depart (x1 , x2 ), de lelargir jusqua ce quil
contienne une racine, les valeurs renvoyees sont alors le nouvel intervalle (x1 , x2 ) contenant une
racine. Ce type de procedure est une bonne maniere de commencer une recherche de racine, et a
de bonnes chances de fonctionner si la fonction etudiee a des signes opposes a la limite x .

Algorithme 5 Encadrement dune fonction


Requiert: un intervalle (x1 , x2 ), un nombre dessais N
Requiert: f (x) definie dans lintervalle (x1 , x2 ) etudie, x1 6= x2
Fournit: lintervalle x1 , x2 contenant une racine
f1 = f (x1 )
f2 = f (x2 )
1.6 (par exemple)
pour i = 1 a N faire
si f1 < f2 alors
Renvoyer x1 et x2
fin si
si |f1 | < |f2 | alors
f1 = f (x1 + (x1 x2 ))
sinon
f2 = f (x2 + (x2 x1 )
fin si
fin pour

Lalgorithme 6 permet lui, a linverse, de reduire lintervalle de depart. On va simplement


subdiviser lintervalle de depart (x1 , x2 ) en n intervalles, et renvoyer les sous-intervalles contenant
une racine sous forme de deux tableaux.

A laide de ces algorithmes, nous sommes maintenant capables de trouver des intervalles
contenant les racines dune fonction, cest un pre-requis pour estimer plus precisemment la
valeur dune racine particuliere dune fonction.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 26

Algorithme 6 Reduction de lencadrement dune fonction


Requiert: Lintervalle (x1 , x2 ) fourni contient une racine de f
Requiert: nombre maximum de racines recherchees N
Fournit: nr le nombre de racines trouves, x1 [] et x2 [] deux tableaux contenant les bornes des
intervales contenant les racines
nr 0
dx (x2 x1 )/n
x x1
f p = f (x)
pour i = 0 a N faire
x x + dx
f c = f (x)
si f p f c 0 alors
nr nr + 1
x1 [nr] x dx
x2 [nr] x
fin si
fp = fc
fin pour
renvoyer nr

4.2 Dichotomie
Le principe est extremement simple, il est schematise sur la figure 4.1. On choisit un intervalle
(a, b) encadrant une racine de la fonction f etudiee. On divise cet intervalle en 2 par un point c.
On evalue f (a).f (c), si f (a).f (c) < 0, alors le nouvel intervalle devient (a, c), sinon (c, b). Et lon
recommence ainsi jusqua ce que lintervalle satisfasse le critere de convergence. Cette methode a
de bonnes chances de fonctionner si la fonction etudiee a des signes opposes a la limite x .
Lalgorithme 4.2 est un algorithme simple permettant de determiner une valeur approchee
de la racine dune fonction dans le cas ou f (x) traverse le zero dans lintervalle (x1 , x2 ) etudie.

4.2.1 Convergence de la methode


Dans cette algorithme, apres chaque iteration, lintervalle (x1 , x2 ) a diminue dun facteur 2.
Apres n iterations, la racine est contenu dans un intervalle de taille n , avec
n
n+1 =
2
Donc, pour parvenir a la precision desiree en partant de 0 = x2 x1 il faudra
0
n = log2

iterations. Le cas etudie ici ou lon divise lintervalle par 2 a chaque iteration presente une
convergence lineaire
On voit en effet que pour n+1 = m n avec < 1

Methodes Informatiques pour la physique H. Klein


CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 27

Fig. 4.1 principe de la methode de recherche de racines par dichotomie. Lintervalle initial (
1
,
2 ) est divise en 2 par
3 , puis lintervalle devient (
1 ,
3)

Algorithme 7 Recherche dune racine par dichotomie


Requiert: lintervalle detude (x1 , x2 ) et la precision desiree
Fournit: lintervalle encadrant la racine a la precision pres
f 1 f (x1 )
f 2 f (x2 )
repeter
f temp f ((x1 + x2 )/2)
si f 1 f temp < 0 alors
x2 (x1 + x2 )/2
sinon
x1 (x1 + x2 )/2
fin si
tant que |x2 x1 | >
renvoyer x1 et x2

la convergence est lineaire si m = 1


la convergence est superlineaire si m > 1
Pour obtenir des resultats coherents avec un algorithme de ce type, il faut faire attention au
critere de convergence . Il est en effet necessaire de se rappeler quun ordinateur utilise un
nombre fini de bits pour representer un nombre en virgule flottante. Si, analytiquement la fonc-
tion f passe par zero, il est possible que la valeur calculee ne vale jamais zero. Si la racine
recherchee est proche de 1, demander une precision absolue de 108 est raisonnable, mais ne
lest plus si la racine est proche de 1020 par exemple. On pourrait fournir une precision rela-
tive (fractionnaire), mais dans ce cas le calcul devient problematique si la racine est proche de
zero. . .Dune maniere generale, il est preferable de fournir une tolerance absolue pour que les
iterations se poursuivent jusqua ce que lintervalle de recherche deviennent plus petit que cette
tolerance en unites absolues. La valeur m (|x1 | + |x2 |)/2 ou m est la precision de representation
de la machine, et (x1 , x2 ) lintervalle initial est un bon choix. Il faut cependant toujours se poser

Methodes Informatiques pour la physique H. Klein


CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 28

la question de ce que represente une tolerance raisonnable lorsque la racine est proche de zero.

4.3 Methode de Newton - Raphson


Cette methode est la plus utilisee pour la recherche de racines dans les problemes a une
dimension. Elle requiert cependant levaluation de f (x) et de f (x).
Le principe est le suivant : on prend la tangente de f (x) au point xi (solution approchee), et
on la prolonge jusqua laxe des abscisses (fig. 4.2). On utilise alors cette nouvelle abscisse comme
point xi+1 , et lon recommence tant que xi+1 xi ne satisfait pas le critere de convergence.

Fig. 4.2 Principe de la methode de Newton-Raphson : on part de la solution approchee


1 , lextrapolation de la tangente a la courbe pour cette abscisse fournit la nouvelle solution
approchee 2.

Cela peut se traduire algebriquement grace aux developpements de Taylor


2
f (x + ) f (x) + f (x) + f (x) . . .
2
Si on neglige les termes dordre superieurs a 1, ecrire f (x+) = 0 revient a ecrire f (x)+f (x) 0
dou
f (x)
=
f (x)
Lorsque lon se trouve loin dune racine de la fonction etudiee, les termes du developpement
dordre superieur a 1 ne peuvent pas etre negliges, aussi la methode peut donner des resultats
aberrants. Par exemple si la solution approchee de depart est loin dune racine, lintervalle iniial
de recherche peut etre proche dun extremum local (fig.4.3), ce qui signifie que f (x) 0. Cela
sera fatal dans le cadre de cette methode. . .
Lalgorithme 4.3, presente une implementation de cette methode.

4.3.1 Convergence de la methode


Pour petit
f (x)
f (x + ) f (x) + f (x) + 2 + ...
2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 29

Fig. 4.3 Cas particulier ou lon trouve un extremum local. Dans ce cas la methode de Newton-
Raphson diverge

Algorithme 8 Recherche de racines par la methode de Newton-Raphson


Requiert: valeur de depart x, precision desiree
Fournit: valeur x a la precision desiree
si f (x) = 0 alors
Sortie du programme
fin si
repeter
xn x
x x f (x)/f (x)
tant que |x xn | ET f (x) = 0
renvoyer x

f (x + ) f (x) + f (x) + . . .

dapres la formule de Newton-Paphson

f (xi ) f (xi )
xi+1 = xi
i+1 = i
f (xi ) f (xi )

Quand une solution approchee xi differe de la solution vraie par une quantite i = xi , on
a
f (xi )
f () = f (xi + i ) = f (xi ) + i f (xi ) + 2i + ...
2
f (xi )
f () = 0 f (xi + i ) = f (xi ) + ( xi )f (xi ) + 2i + ... = 0
2
donc
f (xi )
2 f (xi )
x i + + i 0
f (xi ) 2f (xi )
| {z }
=xi+1

Methodes Informatiques pour la physique H. Klein


CHAPITRE 4. RECHERCHE DES RACINES DUNE FONCTION 30

dou
f (xi )
i+1 = xi+1 2i
2f (xi )
on voit donc que la convergence est quadratique, la methode est plus efficace que la dichotomie
ou la convergence nest que lineaire. Ceci suppose bien sur que lon sache evaluer f (x) en tout
point, et que f () 6= 0.
Si la forme analytique de f (x) nest pas connue, il faut calculer numeriquement cette quantite
par
f (x + dx) f (x)
f (x)
dx
ondoit donc evaluer f (x) 2 fois a chaque iteration, lordre de convergence va donc passer de 2
a 2. De plus, si lintervalle dx est trop petit, il y a un risque que les erreurs darrondi fassent
diverger le calcul. A loppose, si lintervalle dx est grand, la convergence ne sera que lineaire.
En conclusion on peut donc dire que la methode de Newton-Raphson nest pas une methode
interessante si lon ne peut determiner de forme analytique de f (x).

Methodes Informatiques pour la physique H. Klein


Chapitre 5

Minimisation ou maximisation dune


fonction

Le probleme peut-etre pose simplement : considerons une fonction f dependant dune ou plu-
sieurs variables independantes. Nous voulons trouver les valeurs de ces variables pour lesquelles
f prend une valeur maximale ou minimale. La recherche dun maximum ou dun minimum
peuvent etre realisee par un programme identique en travaillant simplement sur f ou 1/f .
Un extremum dune fonction peut etre soit local (minimum dans un intervalle donne)soit
global (minimum reel) comme on le voit sur la figure 5.1

Fig. 5.1 Les extremums dune fonction peuvent etre locaux ou globaux

Cest une des raisons pour lesquelles la recherche dun extremum est souvent une tache
delicate. Ce chapitre va etre extremement succint, puisque nous naborderons quune methode
de minimisation dune fonction presentant une variable independante (probleme 1D).

5.1 Recherche par la section dor (golden section search)


Nous avons deja vu dans le chapitre 4 que pour obtenir une valeur approchee dune racine
dune fonction il etait suffisant de lencadrer dans un intervalle (a, b). Ceci est insuffisant pour

31
CHAPITRE 5. MINIMISATION OU MAXIMISATION DUNE FONCTION 32

caracteriser un minimum. Nous aurons besoins dans ce cas de trois points (a, b, c). Un intervalle
tel que a < b < c et f (b) < f (a), f (b) < f (c) caracterise un minimum dans lintervalle (a, c). En
dautres termes pour encadrer un minimum nous avons besoin dun triplet de point tel que le
point central presente une valeur de f inferieure a celles des bornes de lintervalle.

5.1.1 Principe
Le principe de cette recherche est resume sur la figure 5.2. Le minimum est encadre a lorigine
par ( 1 ,
3 , 2 ). La fonction est evaluee en
4 , qui remplace 2 . Ensuite en
5 qui remplace 1 puis
en 6 qui remplace 4 . La regle est de garder un point central pour lequel la valeur de f est
inferieure a celles des bornes. Apres cette serie diterations, le minimum est alors encadre par
( 5 , 3 ,
6 ). Le principe est analogue a celui utilise lors dune recherche de racine par dichotomie
(cf. chapitre 4.2)

Fig. 5.2 Encadrements succesif dun minimum dune fonction f . Le minimum est encadre a
lorigine par (
1 ,
3 ,
2 ). Apres 3 evaluations de f le minimum est finalement encadre par (
5 ,
3
, 6 ).

Le seul point delicat, est de definir une methode pour choisir un nouveau point dencadrement
dans lintervalle (a, b, c) initial. Supposons que b soit une fraction du segment [ac], alors

ba cb
= =1
ca ca
Si lon choisit un nouveau point x eloigne dune fraction z par rapport a b

xb
=z
ca
le nouveau segment dencadrement aura alors une longueur + z par rapport au segment initial,
ou de longueur 1 . Si nous voulons minimiser le pire cas (attitude plutot saine...) nous allons
choisir z pour que ces deux longueurs soient equivalentes.

1 = + z z = 1 2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 5. MINIMISATION OU MAXIMISATION DUNE FONCTION 33

Fig. 5.3 Comment choisir un nouveau pointpour reduire lencadrement du minimum. La


position optimale est = (b a)/(c a) = (3 5)/2. Le nouveau point x doit etre choisi pour
respecter cette proportion par rapport a (a, b) ou (b, c).

On montre alors simplement que le nouveau point x est le symetrique de b dans son intervalle
dorigine, c.a.d. que |b a| = |x c|. Cela signifie que le point x se trouve dans le plus grand des
segments [ab], [bc]. Reste maintenant a definir la position du point x a linterieur de ce segment.
La valeur provient dune etape precedente de calcul, et si lon suppose quelle est optimale,
alors z doit etre choisie de la meme maniere. Cette similarite dechelle implique que x doit etre
situe a la meme fraction du segment [bc] (si [bc] est le segment le plus long) que b letait du
segment [ac]. Cela conduit a la relation

z
=
1

en combinant cette equation avec la definition de z on arrive a lequation quadratique



2 3 5
3 = 0 = 0.38197
2

En dautres termes, ce resultat signifie que lintervalle dencadrement (a, b, c) a son point central
b est situe a une distance telle que

ba
= 0.38197
ca
ou
cb
= 1 0.61803
ca
ces fractions sont celles de la moyenne dor ou de la section dor supposees avoir certaines
proprietes esthetiques par les pythagoriciens du monde antique. Cest la raison pour laquelle
cette methode optimale de determination du minimum dune fonction est appelee recherche par
section dor (golden search section). Lalgorithme 9 decrit une impementation de cette methode.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 5. MINIMISATION OU MAXIMISATION DUNE FONCTION 34

Algorithme 9 Recherche dun minimum par la methode golden section search


Requiert: un intervalle de depart (a, b, c), une tolerance
Fournit: la meilleure estimation du minimum
R 0.38197
C 1R
x0 a
x3 c
si (c b) > (b a) alors
x1 b
x2 = (c b) R + b
sinon
x2 b
x1 a + (b a) R
fin si
f1 f (x1 )
f2 f (x2 )
tant que |x3 x0 | > (|x1 | + |x2 |) faire
si f2 < f1 alors
x0 x1 ; x1 x2 ; x2 C x1 + R x3
f1 f2 ; f2 f (x2 )
sinon
x3 x2 ; x2 x1 ; x1 C x2 + R x0
f2 f1 ; f1 f (x1 )
fin si
fin tant que
si f1 < f2 alors
renvoyer x1
sinon
renvoyer x2
fin si

Methodes Informatiques pour la physique H. Klein


CHAPITRE 5. MINIMISATION OU MAXIMISATION DUNE FONCTION 35

5.1.2 Convergence
Cette methode garantit que chaque nouvelle evaluation de la fonction va encadrer le minimum
dans un intervalle qui vaut 0.61803 fois le precedent, en dautres termes

i+1 = 0.61803i

Cela signifie donc que la convergence est lineaire, mais moins rapide que dans le cas de la methode
de recherche de racines par dichotomie ou le nouvel intervalle valait la moitie du precedent.
La methode abordee dans ce chapitre nest bien evidemment pas la seule. Il existe des
methodes pouvant etre plus performantes, ou mieux adaptees a des cas particuliers, et egalement
un tres vaste champ dinvestigation concernant les problemes a N dimensions que nous navons
pas abordes. Je ne saurais trop vous conseiller la lecture du chapitre 10 des Numerical Recipes
1 pour vous cultiver sur ce sujet. . .

1
Numerical Recipes in C, W.H. Press et al., Cambridge University Press,2002. Le meme livre existe pour
dautres language de programmation : Fortran et C++.

Methodes Informatiques pour la physique H. Klein


Chapitre 6

Interpolation

Linterpolation est un concept fondamental en calcul numerique : on evalue une fonction


f en x0 , x1 . . . xn . Que faire si lon veut connatre la valeur de f (x) si x0 < x < x1 ? Il ny a
pas devaluation de f pour cette valeur, on a donc recours a linterpolation qui consiste en une
estimation dune valeur inconnue sappuyant sur des valeurs connues qui lencadrent.
Ce probleme se pose frequemment pour lexperimentateur scientifique qui realise des mesures
dune grandeur en un certain nombre de points, et qui a parfois besoin de connatre une ap-
proximation de cette grandeur en dehors des valeurs mesurees. Une autre utilisation courante de
linterpolation est le lissage de courbe. Cela rend le resultat graphiquement plus satisfaisant, mais
la courbe obtenue nest pas plus precise que la serie f (x0 ), f (x1 ) . . . f (xn ), mais peut permettre
davoir une estimation dune valeur x non comprise dans la serie. Ceci a la condition que lon soit
capable destimer lerreur commise lors du processus dinterpolation. De plus, linterpolation est
a la base de nombreuses methodes numeriques dintegration de fonctions.
Ces techniques sont basees sur les polynomes de Lagrange. On peut en effet montrer que
pour une fonction f definie sur un intervalle [a, b] pour n + 1 valeurs distinctes, il existe un
polynome dordre n tel que Pn (x) = f (xi ) pour i = 0 . . . n. Nous detaillerons dans ce chapitre
les calculs pour des polynomes dordre 1 et 2, puis nous generaliserons a lordre n.

6.1 Interpolation lineaire


Il est bien connu quil ny a quune droite passant par deux points (xi , fi ) et (xi+1 , fi+1 ),
comme cela est schematise sur la figure 6.1. Cette droite peut-etre decrite par un polynome Pi (x)
de premier degre en x :
fi+1 fi
Pi (x) = fi + (x xi )
xi+1 xi

si lon suppose que f a une derivee seconde, lecart entre f et Pi (et donc lerreur commise lors
dune interpolation peut-etre estimee par

(xi+1 xi )2
max |f (x) Pi (x)| max |f (x)|
2

36
CHAPITRE 6. INTERPOLATION 37

pour xi xi+1 . Si lecart entre deux evaluations successives de la fonction (le pas dechantillongage)
vaut xi+1 xi = h alors lerreur sexprime

h2
max |f (x) Pi (x)| max |f (x)|
2

Fig. 6.1 La fonction f est definie aux points xi , entre ces points, il est possible de linterpoler
par un polynome dordre 1 passant par deux points consecutifs.

exemple : soit la fonction f (x) = sin(x) evaluee (tabulee) en n + 1 points dans lintervalle
[0; 2 ] avec une precision desiree de 10m . Dans ce cas le pas dechantillonage h = /2n, et lon
souhaite  2
m 1 d2 sin(x)
max |f (x) P (x)| 10 max | | 10m
2n 2 dx2
d2 sin(x)
= sin(x)
dx2
donc  2
d2 sin(x) 1
max | |=1 10m
dx2 2n 2
dou
2 m 8n2 m 2 2 m
10 10 n .10
8n2 2 8
ce qui conduit finalement a

n .10m/2
2 2
Concretement, cela signifie que si lon souhaite pouvoir interpoler un point de la fonction f avec
une precision de 10m , il va etre necessaire devaluer la fonction f en n points. Le tableau 6.1
resume ceci pour quelques valeurs de m. Ceci vous montre quaugmenter la precision peut couter
extremement cher en temps de calcul.
Il pourrait etre astucieux de faire varier le pas dechantillonage h de la fonction f , de facon
a suivre le rayon de courbure local de la fonction : la ou il est grand choisir h na pas besoin
detre grand, et inversement. On pourrait construire un algorithme realisant cette operation en

Methodes Informatiques pour la physique H. Klein


CHAPITRE 6. INTERPOLATION 38

precision n
103 35
106 1000
108 11000

Tab. 6.1 Nombre devaluations n necessaires pour parvenir a une precision donnee dans le cas
dune interpolation lineaire.

evaluant la derivee seconde de la fonction en chaque point. Neanmoins, le calcul dune derivee
seconde nest pas toujours facile a realiser, il vaut donc mieux utiliser une methode plus precise,
c.a.d. utiliser un polynome dordre plus eleve.

6.2 Interpolation quadratique


Le principe est identique a linterpolation lineaire : il existe un polynome unique dordre 2
Pi+1 qui passe par 3 points decrivant notre fonction f (voir figure 6.2)

(x xi+1 )(x xi+2 ) (x xi+2 )(x xi )


Pi+1 (x) = fi + fi+1
(xi xi+1 )(xi xi+2 ) (xi+1 xi+2 )(xi+1 xi )
(x xi )(x xi+1 )
+fi+2
(xi+2 xi )(xi+2 xi+1 )

Fig. 6.2 La fonction f est definie aux points xi , entre ces points, il est possible de linterpoler
par un polynome dordre 2 passant par trois points consecutifs.

Cette expression est simple lorsque le pas dechantillonage est constant. Si ce pas vaut h
alors x = xi+1 + u.h. Si u = 1 x = xi , si u = 0 x = xi+1 et si u = 1 x = xi+2 . Lequation
precedente peut alors secrire plus simplement
fi+2 fi fi+2 2fi+1 + fi 2
Pi+1 (u) = fi+1 + u+ u
2 2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 6. INTERPOLATION 39

Lerreur est maintenant majoree par le terme dordre 3 du developpement en serie de Taylor de
f (x) au point xi+1 :
h3 (3)
max |f (x) Pi+1 (x)| |f (x)| max
6
Exemple : Si lon reprend lexemple precedent de f (x) = sin(x) evaluee en n + 1 points,
avec une precision de 10m , on obtient linegalite

n .10m/3
236
Le tableau 6.2 presente le nombre devaluations necessaires de la fonction pour une precision
donnee. Il est clair que cette methode est plus performante dans le cas de la fonction etudiee
que linterpolation dordre 1.

precision n
103 9
106 90
108 400

Tab. 6.2 Nombre devaluations n necessaires pour parvenir a une precision donnee dans le cas
dune interpolation quadratique.

6.3 Generalisation a lordre n


Un polynome de Lagrange dordre n sexprime
n
X (x x0 ) . . . (x xi1 )(x xi+1 ) . . . (x xn )
Pn (x) = fi
i=0
(xi x0 ) . . . (xi xi1 )(xi xi+1 ) . . . (xi xn )

ou plus simplement
n
X
Pn (x) = Li (x)f (xi )
i=0
avec
n
Y (x xj )
Li (x) =
j=0
(xi xj )
j6=i

Lerreur est dans ce cas majoree par

(xn x0 )n+1
max |f (x) Pn (x)| max |f (n+1) (x)|.
(n + 1)!

Ceci suppose que la derivee dordre (n + 1) de f existe et est continue. Lalgorithme 10 permet
de calculer la valeur dun polynome de Lagrange dordre n en un point, connaissant la fonction
f en n + 1 points.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 6. INTERPOLATION 40

Exemple : si lon reprend lexemple de la fonction f (x) = sin(x) definie en n + 1 points sur
lintervalle [0; /2], et que lon veuille interpoler une valeur avec une precision de 10m alors
 n+1
m 1
10 .
2n (n + 1)!

6.3.1 Du bon usage de linterpolation


Il convient de faire attention a lordre du polynome utilise. En effet si lon considere la
fonction f (x) = sin(10x), lerreur
|f (n+1) |max 10n
peut augmenter tres rapidement avec lordre du polynome. On peut etablir la regle de prudence
suivante :
si f (x) varie lentement, elle pourra etre approximee correctement par un polynome de
degre eleve, c.a.d. que lerreur diminuera avec le degre du polynome
si la derivee de f varie brutalement ou est discontinue, la fonction sera mieux approximee
par un polynome de degre faible, c.a.d. que lerreur peut augmenter rapidement avec lordre
du polynome.
Dune maniere generale, lutilisation de polynome dordre n > 4, 5 donne rarement de bons
resultats numeriques.

Algorithme 10 Interpolation par un polynome de Lagrange dordre n


Requiert: une fonction f definie en x0 . . . xn , lordre du polynome n, la valeur xi nter ou lon
souhaite approximer la fonction
Fournit: lapproximation de f au point souhaite
lagr 0
pour i = 0 . . . n faire
li 1
pour j = 0 . . . n faire
si j 6= i alors
li li (xinter xj )/(xi xj )
fin si
fin pour
lagr lagr + li f (xi )
fin pour
renvoyer lagr

Methodes Informatiques pour la physique H. Klein


Chapitre 7

Integration de fonctions

Dans ce chapitre, nous nallons pas aborder la determination des primitives des fonctions
(ceci concerne le calcul formel, et des logiciels comme MAPLE, MATHEMATHICA...), mais le
calcul numerique dune integrale
Z b
f (x)dx
a
qui revient a calculer laire sous la courbe f (x) entre a et b. Nous allons aborder 3 methodes :
integration par la methode des rectanges
integration par la methode des trapezes
integration par la methode de Simpson
ces methodes sont basees sur linterpolation dordre 0,1,2 respectivement. Ces methodes sont
generalisables a lordre n. Nous terminerons ce chapitre par une discussion sur la recherche dun
pas optimal dintegration.

7.1 Integration par la methode des rectanges


Soit une fonction f (x) dependant dune variable independante. Nous souhaitons calculer
Z xn
I= f (x)dx
x0

numeriquement, cela revient a calculer la somme


n1
X
I= fi (xi+1 xi )
i=0

Pour cela, nous allons tabuler f (x) en n + 1 points f0 , f1 . . . fn dans lintervalle dintegration
[x0 , xn ]. On peut approximer laire sous la courbe f (x) par une serie de rectangles comme
represente sur la figure 7.1, ce qui mathematiquement correspond a linterpolation de f par un
polynome dordre 0 (une constante). Si la distribution des points est uniforme, ce qui revient a
xi+1 xi = h, lintegration revient a calculer
n1
X
I=h fi
i=0

41
CHAPITRE 7. INTEGRATION DE FONCTIONS 42

Fig. 7.1 Decoupage de laire sous la courbe f par une serie de rectangle.

Il y a cependant 2 possibilites pour realiser ce calcul , comme cela est montre a la figure 7.2.
On peut en effet majorer ou minorer la fonction selon que lon calcule respectivement

n1
X
I=h fi+1
i=0

ou
n1
X
I=h fi
i=0

ceci dans le cas ou f (x) > 0. Ceci pose deux problemes.


Tout dabord les resultats ne seront pas identiques suivant que lon majore ou minore f .
On peut eventuellement resoudre le probleme en realisant les calculs dans les deux cas, puis en
faisant une moyenne des deux resultats.
Ensuite, pour les memes raisons, on nobtiendra pas les memes resultats selon que lon integre
de a b ou de b a. Cette limitation doit etre prise en compte lors de calculs utilisant cette
methode.

Fig. 7.2 Il y a deux manieres de delimiter laire sous la courbe par une serie de rectangle :
fi (xi+1 xi ) (minoration) ou fi+1 (xi+1 xi ) (majoration)

Methodes Informatiques pour la physique H. Klein


CHAPITRE 7. INTEGRATION DE FONCTIONS 43

7.1.1 Incertitude de la methode


Nous avons vu que cette methode revient a approximer la fonction f par un polynome dordre
0. Dans ce cas, lincertitude sur chaque point fi sexprime h|f (x)|max , donc pour chaque
intervalle h dintegration
h2
|f (x)|max
2
Lincertitude totale pour n pas dintegration sera donc
h2
n. |f (x)|max
2
Cette methode est extrement simple a mettre en uvre, et ne necessite pas de gros calculs.
Cependant si lon souhaite conserver une incertitude acceptable, il est generalement necessaire
dutiliser un pas dechantillonage petit.

7.2 Integration par la methode des trapezes


Le principe de cette methode est analogue a celui de lintegration par une serie de rectangles.
Dans cette methode on cherche a augmenter la precision du calcul tout en evitant la disymetrie
qui apparat dans la definition de lintegration par rectangles. Nous allons donc ici aussi tabuler
f (x) en n + 1 points f0 , f1 . . . fn dans lintervalle dintegration [x0 , xn ]. On va ensuite interpoler
lineairement (polynome dordre 1, c.a.d. une droite) pour approximer f (x) entre deux points
tabules. On va donc remplacer les arcs xi , xi+1 par leurs cordes (figure 7.3). Lintegration va

Fig. 7.3 Decoupage de laire sous la courbe f par une serie de trapezes.

alors se faire en sommant laire des trapezes, soit


n1
X fi+1 + fi
I= (xi+1 xi )
i=0
2

si lechantillonage des points est regulier, c.a.d. si xi+1 xi = h alors lintegrale sexprimera
n1
h X
I= (f0 + fn ) + h. fi
2 i=1

en effet chaque trapeze aura chacun de ces cotes en commun avec les trapezes adjacents, a
lexception du premier et du dernier qui nont quun cote en commun.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 7. INTEGRATION DE FONCTIONS 44

7.2.1 Incertitude de la methode


Nous avons vu que cette methode revient a approximer la fonction f par un polynome dordre
1. Dans ce cas, lincertitude sur chaque point fi sexprime

h2
|f (x)|max
2
donc pour chaque intervalle h dintegration

h3
|f (x)|max
4
Lincertitude totale pour n pas dintegration sera donc

h3
n. |f (x)|max
4
La precision est superieure a celle de lintegration par rectangles, le terme derreur etant main-
tenant le terme du deuxieme ordre du developpement de f en serie de Taylor.

7.3 Integration par la methode de Simpson


Comme les autres methodes, cette methode est basee sur une distribution fi de la fonction
f (x) que lon interpole. La methode de Simpson correspond au cas de linterpolation parabolique
(polynome dordre 2 passant par 3 points fi ). Le polynome dinterpolation Pi (x)dordre 2 a ete
defini au chapitre 6.2, et lon peut donc exprimer
Z xi+1 Z xi+1 Z 1
f (x)dx = Pi (x)dx = h Pi (u)du
xi1 xi1 1

en posant x = xi+1 + u.h, donc si u = 1 x = xi , si u = 0 x = xi+1 , et si u = 1 x = xi+2 . On


peut alors calculer Z xi+1
h
f (x)dx = (fi1 + 4fi + fi+1 )
xi1 3
lexpression de lintegrale sur un intervalle de calcul de 2n + 1 points sexprime alors
2n
hX
I= (fi1 + 4fi + fi+1 )
3 i=1

que lon peut reecrire plus commodemment



n1 n1
h X X
I= (f1 + fn ) + 4.f i + 2.fi
3
i>1 i>1

pair impair

Methodes Informatiques pour la physique H. Klein


CHAPITRE 7. INTEGRATION DE FONCTIONS 45

7.3.1 Incertitude de la methode


Nous avons vu que cette methode revient a approximer la fonction f par un polynome
dordre 2. Dans ce cas, lincertitude sur chaque point fi est majoree par le terme dordre 3 du
developpement en serie de Taylor de f
h3 (3)

|f (x)|max
6
donc pour chaque intervalle h dintegration
h4 (3)

|f (x)|max
12
Lincertitude totale pour n pas dintegration sera donc
h4 (3)
n. |f (x)|max
12

7.4 Methode de Romberg


La methode de Romberg genere un tableau triangulaire destimations numeriques de lintegrale
en applicant lextrapolation de Richardson a la methode des trapezes. Cela permet dameliorer
lordre de convergence de la methode des trapezes en divisant lintervalle detude et en formant
des combinaisons judicieuses des differents termes calcules. Nous nallons pas detailler cette
methode en analyse numerique, mais juste la definir.
Le principe est le suivant : si lon veut trouver une estimation de f (x) integree de a a b on
calcule le premier terme R(0, 0) par la methode des trapezes, puis les termes suivants en somant
des nouveaux termes et en faisant des combinaisons avec les termes calcules precedemment :

1
R(0, 0) = 2 (b a)(f (a) + f (b))
1 P2n1
R(n, 0) = 2 R(n 1, 0) + h k=1 f (a + (2k 1)h)
1 m
R(n, m) = 4m 1 (4 R(n, m 1) R(n 1, m 1))
avec h = (b a)/2n , n 1, m 1.
On utilise alors les termes diagonaux R(n, n) comme estimation de lintegrale avec une erreur
en O(h2n+1 . Si vous developpez a la main les equations precedentes, vous constaterez que les
valeurs de R situees dans la premiere colonne, correspondent a la methode des trapezes pour
nu intervalle divise en 2 puis en 3 . . .. La deuxieme colonne correspond aux memes calculs avec
la methode de Simpson, et ainsi de suite. Generalement, pour implementer cette methode, on
poursuit le calcul jusqua ce que (critere de convergence) la difference entre 2 valeurs successives
dune ligne soit inferieure a une precision souhaitee. Les premiers termes R(n, 0) sont calcules
par la methode des trapezes, avec un nombre de pas qui augmentent a chaque iteration, les
termes suivants sont estimes a partir des calculs precedents.
Les valeurs numeriques suivantes correspondent a lestimation de
Z 1.25
cos(x2 )dx = 0.9774
0

Methodes Informatiques pour la physique H. Klein


CHAPITRE 7. INTEGRATION DE FONCTIONS 46

m=1 m=2 m=3 m=4 m=5


n=1 6.301851e-01
n=2 8.930121e-01 9.806211e-01
n=3 9.406354e-01 9.565098e-01 9.549024e-01
n=4 9.568902e-01 9.623084e-01 9.626950e-01 9.628187e-01
n=5 9.643337e-01 9.668149e-01 9.671153e-01 9.671855e-01 9.672026e-01

le calcul a ete arrete lorsque m = 5. Vous voyez cependant que lon est encore loin dune
estimation correcte : la valeur exacte est 0.9774 soit une erreur de = 1.02e 1.

7.5 Determination dun pas optimal dintegration


La question ici est : lorsque lon cherche a calculer
Z a
In = f (x)dx
b

quel est le pas optimal h = xi+1 xi permettant de calculer In avec une precision donnee. Nous
avons jusqua present considere le pas h comme une constante. Reprenons le cas de lintegration
par trapeze. Si lon souhaite determiner In a la precision , il suffit de choisir un pas h0 , de
calculer I0 , puis de diminuer le pas en h1 , calculer I1 ... Ceci tant que |In+1 In | . La
methode est simple, mais les calculs sont repetitifs et potentiellement longs. Il existe un moyen
de reduire le temps de calcul en introduisant une relation de recurrence permettant dexprimer
In+1 en fonction de In . Nous allons detailler ce calcul, toujours dans le cas dune integration par
trapezes.

1 On pose h0 = b a, et on calcule

h0
I0 = [f (a) + f (b)]
2


2 On pose h1 = h0 /2 et on calcule

I0
2
z }| {
h1 h1
I1 = [f (a) + f (a + h1 ) + f (a + h1 ) + f (b)] = [f (a) + f (b)] +h1 f (a + h1 )
2 2
1
= I0 + h1 f (a + h1 )
2
1
= [I0 + h0 (f (a + h1 ))]
2


3 On pose h2 = h1 /2 = h0 /4 et on calcule

h2
I2 = [f (a) + f (a + h2 ) + f (a + h2 ) + f (a + 2h2 ) + f (a + 2h2 ) + f (a + 3h2 ) + f (a + 3h2 ) + f (b)]
2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 7. INTEGRATION DE FONCTIONS 47

h2
= [f (a) + f (b)] +h2 [f (a + h2 ) + f (a + 2h2 ) +f (a + 3h2 )]
|2 {z } | {z }
h1 f (a+h1 )
4
[f (a)+f (b)]
| {z }
I1
2

1
= I1 + h2 [f (a + h2 ) + f (a + 3h2 )]
2
1
= {I1 + h1 [f (a + h2 ) + f (a + 3h2 )]}
2


4 On pose h3 = h2 /2 = h0 /8

h3
I3 = [f (a) + f (b) + 2f (a + h3 ) + 2f (a + 2h3 ) + 2f (a + 3h3 ) + 2f (a + 4h3 )
2
+2f (a + 5h3 ) + 2f (a + 6h3 ) + 2f (a + 7h3 )]
1
= I2 + h3 [f (a + h3 ) + f (a + 3h3 ) + f (a + 5h3 ) + f (a + 7h3 )]
2
1
= {I2 + h2 [. . .]}
2

On peut alors generaliser en



2n1
1 X
In = In1 + hn1 f (a + (2i 1)hn )
2 i=1impair

Cette relation permet de calculer economiquement le terme n connaissant le terme precedent.


Dune maniere generale, un programme realisant une integration sera divise de la maniere sui-
vante :
une fonction permettant de realiser un pas dintegration
une fonction realisant le calcul de lintegrale en utilisant des relations de recurrence du type
de celle que nous venons de detailler pour fournir un resultat avec une precision connue.

Methodes Informatiques pour la physique H. Klein


Chapitre 8

Derivation numerique

Nous allons nous interesser dans ce chapitre au calcul de la derivee dune fonction echantillonee,
c.a.d dune fonction dont seulement certaines valeurs sont connues. La definition mathematique
de la derivee f (x) dune fonction f (x) definie sur un intervalle I avec x I est
lim f (x + ) f (x)
f (x) = 0

ou
lim f (x) f (x )
f (x) = 0

selon que lon realise une estimation a droite ou a gauche respectivement. Comme lon calcule
la limite pour 0, les deux expressions sont strictement equivalentes.

8.1 Formule dEuler


En calcul numerique en revanche, si les memes definitions sont utilisees, la situation est
differente puisque lon va maintenant travailler sur des differences finies, c.a.d que sera egal a
une constante non nulle, = h. Les deux definitions precedentes ne sont alors plus equivalentes.
Il faudra utiliser
f (x + h) f (x)
f (x) =
h
ou
f (x) f (x h)
f (x) =
h

8.1.1 Erreur intrinseque


Si lon realise un developpement en serie de Taylor de f (x + h) on obtient
h2
f (x + h) = f (x) + h.f (x) + .f (x) + . . .
2
il apparat donc que lestimation de la derivee
f (x + h) f (x)
f (x) =
h

48
CHAPITRE 8. DERIVATION NUMERIQUE 49

presente une erreur correspondant au terme dordre 2 du devellopement de Taylor, cette erreur
est un terme h2 .|f (x)|. On voit donc que cette methode nest pas tres precise, elle donne de
plus des resultats differents suivant que lon realise une estimation a gauche ou a droite. Pour
ces raisons, cette methode est peu employee. Nous allons maintenant voir quil est possible de
lameliorer a peu de frais.

8.2 Derivation au demi-pas


En conservant la meme demarche, nous allons refaire en calcul en symetrisant le probleme
c.a.d. que pour estimer la derivee au point x, nous allons utiliser les valeurs de la fonction
f (x + h) et f (x h). Si lon ecrit les developpements limites de f (x) dans ces deux situations

h2 h3
f (x + h) = f (x) + h.f (x) + .f (x) + f (3) + . . .
2 6
h2 h3
f (x h) = f (x) h.f (x) + .f (x) f (3) + . . .
2 6
on en deduit que
h3 (3)
f (x + h) f (x h) = 2h.f (x) + 2 f + ...
6
et il apparat alors que
f (x + h) f (x h)
f (x)
2h
2
avec une erreur correspondant au terme h3 |f (3) (x)|. Nous sommes maintenant en possession
dune methode symetrique, avec un terme derreur a lordre 2.

8.2.1 Stabilite numerique


La seule question quil convient de se poser ici est : comment doit-on choisir le pas h utilise
dans le calcul ? La reponse intuitive est que ce pas doit etre le plus petit possible, nous allons
voir que cest faux.
Quant on discretse une fonction continue, on commet une erreur numerique
f
=
f
ou f est lecart entre la valeur reelle de la fonction et la valeur tabuleee. Pour le calcul au
demi-pas, lincertitude numerique pour les evaluations de f est

|f (x + h)| + |f (x h)|
Inumerique = = |f (x)|
2h h
Lincertitude totale comprenant lerreur intrinseque au calcul de la derivee sexprime

h2
Itotal = |f (x)| + |f (3) (x)|
h 3

Methodes Informatiques pour la physique H. Klein


CHAPITRE 8. DERIVATION NUMERIQUE 50

Lincertitude optimale se definit telle que


Itotal
=0
h
ce qui conduit a un pas de calcul optimal
 1
3f 3
h=
2f (3)

Methodes Informatiques pour la physique H. Klein


Chapitre 9

Resolution dequations differentielles


lineaires

Cest un probleme tres frequent en physique (phenomenes transitoires dans un circuit RLC
par exemple), chimie (cinetique des reactions chimiques), astronomie . . .Le probleme a lordre 1
peut-etre resolu par les methodes dintegration du chapitre 7
Z
dy
= r(x) y(x) = r(x)dx
dx
Dans ce chapitre, nous considererons 3 types de bases dequations differentielles respective-
ment decroissantes, croissantes ou oscillantes :
dy
+ y y = y0 exp(x)
dx
dy
y y = y0 exp(x)
dx
dy
iy y = y0 exp(ix)
dx
et nous aborderons plusieurs methodes numeriques de resolution de ce type dequation, en met-
tant laccent sur le fait que toutes les methodes ne sont pas adaptees a tous les types dequation.
Les problemes physiques sont souvent dordre superieur, comme dans lequation

d2 y dy
+ = r(x)
dx dx
on peut facilement se ramener au probleme a lordre 1 en reecrivant lequation du deuxieme
ordre precedente comme un systeme dequation du premier ordre
dy
= z(x)
dx
dz
= r(x) z(x)
dx

51
CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 52

systeme que nous pouvons resoudre par integration. On peut generaliser a une equation differentielle
dordre N , que lon recrit comme un systeme de N equations fi dordre 1

dyi (x)
= f (x, y1 . . . yN )
dx
ou les fonctions fi sont connues. Pour resoudre le systeme, il suffit dintegrer les fonctions fi .
Pour resoudre numeriquement ce systeme, on part dun point donne (x0 , y0 ) representant les
conditions initiales du probleme. On choisit ensuite un pas dintegration fini h = x comme
pour les methodes du chapitre 7, et lon integre pas a pas avec

xn = xn1 + h

yn = yn1 + y

dans ce chapitre, nous allons detailler differentes methodes pour evaluer les pas finis y.

9.1 Methode dEuler


Soit
dyi
= fi (x, y) (1)
dx
La formule la plus simple que nous puissions utiliser est la formule dEuler. Cest a dire que dy
et dx sont remplaces par des accroissements finis y et x, et lon reecrit ensuite les equations
en multipliant par x, ela revient a ecrire, pour un accroissement h

y(x + h) = y(x) + hy(x) + O(h2 )

le terme O(h2 ) etant le terme derreur (a lordre 2)


On peut alors reecrire lequation (1) en negligeant les termes du deuxieme ordre

yi+1 = yi + hf (xi , yi )

dans le cas ou lon ne considere quun echantillonage de x x0 . . . xn , avec h = xi+1 xi . Si


lon connait les valeurs initiales {x0 , y0 }, cette methode permet de calculer toutes les valeurs
successives yi , comme on le voit sur la figure 9.1
Avec une methode de ce type, on fait avancer la solution de xi a xi + h = xi+1 a chaque pas
dintegration. Nous avons cependant vu au chapitre 6 que cette methode est peu performante,
et surtout asymetrique. Cela peut poser quelques problemes : si par exemple vous tracez une
trajectoire dependant dune equation differentielle entre t = 0 et t, vous obtiendrez des resultats
differents en realisant les memes calculs entre t et t = 0...
Cette methode est donc a eviter dans la majorite des cas. Il est utile de lintroduire, pour
permettre la comprehension des methodes dintegration des equations differentielles, et elle reste
cependant utilisable dans certains cas simples.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 53

Fig. 9.1 Methode dEuler. Dans cette methode dintegration dune equation differentielle, la
derivee au point de depart xn de chaque intervalle est extrapolee pour trouver la valeur suivante
en xi+1 de la fonction.

9.1.1 Precision et stabilite de la methode


Quelle est la precision de la methode dEuler ? Pour y repondre, nous allons considerer le
developement en serie de Taylor de la fonction y(x) autour de la valeur xi
  !
dy h2 d2 y
yi+1 = yi + h + + ...
dx i 2 dx2 i
si lon soustrait cette expression a lexpression de yi+1 defini au chapitre 9.1 on obtient
  !  
dy h2 d2 y dy
yi+1 = yi + h + + . . . yi hf (yi , xi ) = yi + h
dx i 2 dx2 i
dx i

Nous voyons donc que le terme en h est correctement exprime dans lapproximation de la
methode dEuler, mais que le terme dordre superieur est faux. Ceci nous permet de decrire
la methode dEuler comme une methode du premier ordre.
Le terme derreur parfois appele erreur darrondi est ici le terme en h2 , on peut reecrire
lequation de la maniere suivante
y(x + h) = y(x) + hy(x) + O(h2 )
le terme O(h2 ) etant le terme derreur (a lordre 2)
Nous venons de voir que la methode dEuler est une methode du premier ordre. Il reste a se
poser une question importante : quelle est sa stabilite ? Supposons qua un moment du calcul,
la solution numerique differe de la vraie solution dune quantite y. Nous ecrivons
   
f
yi+1 + yi+1 = yi + yi h f (yi , xi ) + yi
y i
ou le terme entre crochets est le developpement de f en serie de taylor, en soustrayant ceci a
lexpression de yi+1 , on obtient
  
f
yi+1 = 1h yi = gyi
y i

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 54

si g a une magnitude superieure a 1, alors yi va avoir tendance a augnmenter quand i augmente.


Il y a alors un risque que cette erreur devienne predominante devant la solution recherchee. On
dira que la methode dEuler est stable si |g| 1 ou

f
1 1 h 1
y

h etant positif par definition, la deuxieme inegalite impose donc que la derivee de f par rapport
a y soit elle aussi positive. La premiere inegalite introduit une restriction sur x

f
h 2/
y

Si cette derivee est complexe, il faut faire attention au calcul de |g|. Dans ces cas il peut etre
plus facile de rechercher des solutions a la condition |g2 | 1.
Dans le cas dune equation doscillation du type

dy
iy = 0 y = yo exp(ix)
dx
cette inegalite conduira a
1 + h2 2 1
qui est impossible a satisfaire pour des et h reels. De meme pour une equation du type

dy
y = 0 y = yo exp(x)
dx
cette analyse na pas de sens. Dans ce cas il serait plus judicieux de sinteresser a lerreur relative,
et imposer que cette erreur dans la solution naugmente pas.

decroissance croissance oscillation


h 2/ instable instable

9.1.2 Exemple dapplication : la loi de decroissance radioactive


Pour illustrer ce propos, voici un exemple dans un cas extremement simple : la loi de
decroissance radioactive, ou nous sommes capables de donner une solution analytique exacte
tres facilement.
Une substance radioactive est caracterisee par une constante de decroissance radioactive k.
On peut ecrire la loi
N (t) = N0 exp(k.t)
permettant dexprimer le nombre de noyaux radioactifs a un instant t, N (t) en fonction du
nombre de noyaux N0 a linstant t = 0 et de la constante de decroissance radioactive. Cette loi
correspond a lequation differentielle

dN dN
+ k.N = 0 = k.N = f (t)
dt dt

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 55

Nous allons resoudre numeriquement cette equation avec k = 100s1 et N0 = 1 en utilisant la


methode dEuler.
Nous avons montre precedemment que cette methode etait stable si le pas dintegration h
(ici un temps) respectait le critere h 2/, dans ce cas precis = k. Il est donc necessaire
dans ce cas de choisir un pas h 2.102 s pour satisfaire le critere de stabilite. La figure 9.2
represente les resultats de la simulation pour des pas dintegration inferieurs ou superieurs a ce
critere, ainsi que la solution exacte en trait plein.

dt = 1 ms dt=30ms
-100*t 4 dt=1ms
e
0,8

0,6
2
N / N0
N /N0

0,4

0,2

0 -2
0 0,05 0,1 0
Temps (s) Temps (s)

Fig. 9.2 Application de la methode dEuler : simulation de levolution temporelle du nombre


de noyaux dune source radioactive (constante de decroissance radioactive 100s1 . Le critere
de stabilite de la methode impose un pas dintegration inferieur a 0.02 s. Courbe de gauche :
le critere est respecte, le calcul numerique donne des resultats corrects (la solution exacte est
tracee en trait plein). Lorsque ce critere nest pas respecte (courbe de droite) le resultat diverge.

Un simple examen de ce graphe permet de comprendre quil est important de choisir un pas
dintegration satisfaisant le critere de stabilite de la methode, sous peine de voir le calcul diverger
rapidement . . .On voit donc quune methode peut donner de bons resultats dans certains cas, et
pas dans dautres. Il convient donc de se poser ces questions avant de se lancer dans des calculs
complexes. . .

9.2 Methode du saut de grenouille


Lidee ici est dameliorer la methode dEuler en symetrisant le probleme. On va simplement
ecrire
yi+1 = yi1 + 2h.f (xi , yi )
ici, le terme derreur est en h3 /6, on parlera donc dune methode dordre2.

9.2.1 Stabilite
Si lon tient le meme raisonnement que pour la methode dEuler, on peut exprimer la variation
de la solution par rapport a la solution vraie pour une equation decroissante :
f
yi+1 = yi1 2h yi
y

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 56

on va ecrire yi = gyi1 et yi+1 = g2 yi1 ce qui conduit a


f
g2 = 1 2h. g
y
dont les solutions secrivent s  2
f f
g = h. 1 + h.
y y
on a toujours, pour les deux racines g1 .g2 = 1 et g1 6= g2 ce qui implique que lune des deux
racines est superieure a 1. La methode est donc instable dans ce cas, ainsi que dans le cas dune
equation croissante. Il y a une exception dans le cas ou f y est purement imaginaire, le terme
sous la racine dans lexpression de g peut alors etre negatif, il est alors possible que g1 .g2 < 1.
Cest le cas pour une equation oscillante ou f
y = i. Dans ce cas, lalgorithme est stable si le
terme sous la racine dans lexpression de g est positif, cest a dire si h 1/

decroissance croissance oscillation


instable instable h 1/

9.3 Algorithme Verlet-vitesses


Les algorithmes de Verlet sont tres utilises pour integrer les equations du mouvement de
Newton et calculer les trajectoires de particules en dynamique moleculaire (et dans les jeux
videos). Lalgorithme du Verlet reduit les erreurs par rapport a une methode calculant la position
au temps t + h uniquement a partir de la position aux temps t et t h. Cest une methode a
lordre 3 (erreur en O(h4 ). Le principe est decrire le developpement limite de la position dans
les deux directions temporelles :
a(t).h2 b(t).h3
x(t + h) = x(t) + v(t).h + + + O(h4 )
2 6
a(t).h2 b(t).h3
x(t h) = x(t) v(t).h + + O(h4 )
2 6
ou h est le pas dintegration, x est la position, v la vitesse, a lacceleration, et b la derivee
troisieme de la position. En sommant les deux expressions precedentes, on obtient

x(t + h) = 2.x(t) x(t h) + a(t).h2 + O(h4 )

Une variante de cet algorithme, que nous detaillons ici est lalgorithme Verlet vitesses, base sur
le meme principe pais dans lequel on inclue explicitement la vitesse :
1
x(t + h) = x(t) + v(t).h + a(t).h2
2
a(t) + a(t + h)
v(t + h) = v(t) + .h
2
on peut montrer que lerreur est du meme ordre que pour lalgorithme du Verlet. On limplemente
generalement de la maniere suivante :

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 57

1. on calcule
1
x(t + h) = x(t) + v(t).h + a(t).h2
2
2. on calcule
v(t + h/2) = v(t) + a(t).h/2

3. a partir du potentiel dinteraction on calcule a(t + h)


4. et finalement on calcule
a(t + h).h
v(t + h) = v(t + h/2) +
2

Cet algorithme suppose que lacceleration a(t + h) ne depend que de x(t + h), et pas de v(t + h).

9.4 Methode de Runge Kutta a lordre 2


Nous avons vu deux methodes : lune est stable pour des equations decroissantes, lautre
pour les equations oscillantes en respectant certaines conditions. Est-il possible de combiner ces
deux conditions de stabilite dans une seule methode ? La reponse est oui, avec la methode de
Runge Kutta a lordre 2.
Le principe est schematise sur la figure 9.3. Les valeurs des derivees des yi au point initial
sont utilisees pour estimer les yi au centre du pas dintegration, puis les valeurs de ces derivees
sont utilisees pour faire avancer la solution jusquau point xi+1 .

Fig. 9.3 Methode de Runge Kutta dordre 2. Dans cette methode dintegration dune equation
differentielle, on obtient une precision au deuxieme ordre en utilisant la derivee au point de
depart xi pour trouver un point intermediaire. On utilise ensuite la derivee en ce point pour
trouver la valeur suivante de la fonction.

On calcule la derivee de y(x) au point xi


 
dy
k1 = = h.f (xi , yi )
dx x=xi

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 58

puis on calcule la derivee au point xi + h/2


 
dy h k1
k2 = = h.f (xi + , yi + )
dx x=xi + h
2
2 2
on ecrit alors que
yi+1 = yi + k2 + O(h3 )
cest une methode du deuxieme ordre, lerreur correspond donc au terme suivant dordre 3.
On voit que cette methode requiert deux evaluations de f (x) a chaque pas dintegration.
Contrairement a la methode dEuler, cette methode est symetrique, c.a.d que lintegration de
lequation differentielle de x0 xi ou de xi x0 conduira au meme resultat.

9.4.1 Stabilite de la methode


On exprime comme precedemment lecart a la vrai solution
"  2 #
f 1 f
yi+1 = yi 1h + h
y 2 y
ce qui conduit en posant que le terme entre crochets est inferieur a 1 aux conditions de stabilite
suivantes
decroissance croissance oscillation
h 2/ instable 1 + 14 (h)4 1
nous avons ici combine les criteres de stabilite des methodes dEuler et de la grenouille au
sein dune seule methode dordre 2. Dans le cas dune equation oscillante, on peut considerer
la methode comme instable, mais en pratique si h < 1 les erreurs generees sont negligeables
devant le vrai resultat, et la methode est utilisable.

Exemple dapplication
Reprenons lexemple presente pour la methode dEuler,
dN dN
+ k.N = 0 = k.N = f (t)
dt dt
Nous allons resoudre numeriquement cette equation avec k = 100s1 en utilisant la methode
RK2.
Nous avons montre precedemment que cette methode etait stable si le pas dintegration h
(ici un temps) respectait le critere h 2/, dans ce cas precis = k. Il est donc necessaire
dans ce cas de choisir un pas h 2.102 s pour satisfaire le critere de stabilite. La figure 9.4
represente les resultats de la simulation pour des pas dintegration inferieurs ou superieurs a ce
critere, ainsi que la solution exacte en trait plein.

A nouveau,un simple examen du graphe permet de comprendre quil est important de choisir
un pas dintegration satisfaisant le critere de stabilite de la methode, sous peine de voir le calcul
diverger rapidement. On notera cependant que le comportement est different de celui observe
avec la methode dEuler.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 59

-2
pas de temps : 2,1.10 s
-3
pas de temps 10 s
N / N0

0
0 0,1 0,2
Temps (s)

Fig. 9.4 Application de la methode Runge Kutta dordre 2 : simulation de levolution tem-
porelle du nombre de noyaux dune source radioactive (constante de decroissance radioactive
100s1 . Le critere de stabilite de la methode impose un pas dintegration inferieur a 0.02 s.
Lorsque ce critere nest pas respecte, le resultat diverge par rapport a la solution exacte tracee
en trait plein.

9.5 Methode Runge Kutta a lordre 4


Dans la methode RK2, on utilise lestimation des yi au demi-pas dintegration pour le calcul
des derivees. La methode de Runge-Kutta dordre 4 tente de fournir une meilleure estimation a
laide dune moyenne de 4 estimations, ce principe est schematise sur la figure 9.5.
La premiere estimation est celle dEuler : on fait un demi-pas de longueur h/2 par la methode
dEuler pour evaluer les valeurs yi au demi-pas. Cela permet de calculer de nouvelles valeurs
des derivees. On revient ensuite au point dorigine et lon utilise ces derivees pour refaire un
demi-pas suivant la methode dEuler et ainsi obtenir de nouvelles valeurs des yi : on ne trouvera
pas les memes valeurs qua la premiere etape puisque lon nutilise pas les memes valeurs des
derivees (noublions pas quil ne sagit que destimations). Cela permet dobtenir une troisieme
estimation des derivees. Cette estimation est utilisee pour faire un pas h complet suivant la
methode dEuler, toujours a partir du meme point de depart, cela conduit a une quatrieme
estimation des derivees des yi . Il ne reste plus alors qua faire une moyenne ponderee de ces
quatres estimations en affectant un poids double aux deux estimations intermediaires, et faire
un pas complet de longueur h pour faire avancer la solution jusquau point xi+1 . Lalgorithme
11 propose une implementation de cette methode.
Cette methode requiert 4 evaluations de f (x, y) par pas dintegration h : une au point de
depart de lintervalle, 2 au demi-intervalle, et une a la fin de lintervalle :
k1 = h.f ()xi , yi )
h k1
k2 = h.f (xi + , yi + )
2 2

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 60

Fig. 9.5 Methode Runge Kutta dordre 4. Dans cette methode dintegration dune equation
differentielle, on obtient une precision au quatrieme ordre en evaluant 4 fois la derivee : une fois
au point de depart, deux fois au milieu de lintervalle, et une fois en un point final estime.

h k2
k3 = h.f (xi + ), yi + )
2 2
k4 = h.f (xi + h, yi + k3 )

et lon calcule alors la valeur de y au point xn+1 en sommant ces quatres termes

k1 k2 k3 k4
yi+1 = yi + + + + + O(h5 )
6 3 3 6
le terme derreur est alors dordre 5. Cette methode peut paraitre ressembler a un bricolage,
mais cest une des methodes les plus utilisees en physique : elle est en effet stable et efficace dans
beaucoup de cas. Pour des raisons de lourdeur des calculs, nous ne detaillerons pas les criteres
de stabilite de cette methode, qui est cependant la plus robuste de toute celles que nous venons
daborder.

Methodes Informatiques pour la physique H. Klein


CHAPITRE 9. RESOLUTION DEQUATIONS DIFFERENTIELLES LINEAIRES 61

Algorithme 11 Resolution dun systeme dequations differentielles du premier ordre par la


methode Runge-Kutta dordre 4
Requiert: un pas dintegration h, les n valeurs yi du debut dintervalle x dans un tableau, une
fonction deriv permettant le calcul des derivees
Fournit: les valeurs fi au point x + h
dh h/2
d1 deriv(x, y[], n)
pour i = 1 a n faire
ytemp [i] = y[i] + d1 [i] dh
fin pour
d2 deriv(x + dh, ytemp [], n)
pour i = 1 a n faire
ytemp [i] = y[i] + d2 [i] dh
fin pour
d3 deriv(x + dh, ytemp [], n)
pour i = 1 a n faire
ytemp [i] = y[i] + d3 [i] h
fin pour
d4 deriv(x + h, ytemp[] , n)
pour i = 1 a n faire
 
y[i] y[i] + h d16[i] + d23[i] + d33[i] + d46[i]
fin pour
renvoyer y

Methodes Informatiques pour la physique H. Klein


Annexe A

References bibliographiques et
informatiques

La litterature couvrant ce domaine est importante, je ne citerai ici que quelques references
qui mont servi a la realisation de ce document. Libre a vous den utiliser dautres.
1. Numerical Recipes in C, second edition, Cambridge University Press, 1992
W.H. Press, S.A. Teukolski, W.T. Vetterling, B.P. Flannery
La bible pour lutilisateur ! Le livre peut etre telecharge au format PDF a ladresse http ://lib-
www..lanl.gov/numerical/bookcpdf.html
2. Physique numerique, Ed. Vuibert, 1998
P. Depondt
Malheureusement epuise
3. Methodes de calcul numerique, Ed. Hermes, 2001
J.P. Nougier
Vous trouverez ici quelques references doutils informatiques libres. Cela signifie que ces outils
sont gratuits, et que vous disposez de leurs codes sources. Libre a vous de les utiliser, de lire les
sources pour les comprendre . . .Ces outils developpes sur platte-forme UNIX, fonctionnent aussi
sous Windows (sauf Linux bien sur).
1. Un systeme dexploitation stable, fonctionnant sur architecture PC : Linux. Voir par
exemple le site de la distribution Mandrake
http ://www.linux-mandrake.com
ou
http ://www.linux.org
2. La reference des compilateurs C : gcc, il compile aussi le C++, lObjC . . .
http ://www.gnu.org/software/gcc
3. Besoin dune librairie de calcul numerique ? Pensez a la GNU Scientific Library
http ://www.gnu.org/software/gsl
4. Un logiciel de trace de courbe tres complet : Gnuplot, il fonctionne meme sous Windows
http ://www.gnuplot.info

62
List of Algorithmes

1 Tri dun tableau par tri a bulle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


2 Tri dun tableau par insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Tri dun tableau par la methode du tri shell . . . . . . . . . . . . . . . . . . . . . 14
4 Tri dun tableau par la methode du tri rapide. Dans cet algorithme, le pivot est
le dernier element du tableau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Encadrement dune fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 Reduction de lencadrement dune fonction . . . . . . . . . . . . . . . . . . . . . 26
7 Recherche dune racine par dichotomie . . . . . . . . . . . . . . . . . . . . . . . . 27
8 Recherche de racines par la methode de Newton-Raphson . . . . . . . . . . . . . 29
9 Recherche dun minimum par la methode golden section search . . . . . . . . . . 34
10 Interpolation par un polynome de Lagrange dordre n . . . . . . . . . . . . . . . 40
11 Resolution dun systeme dequations differentielles du premier ordre par la methode
Runge-Kutta dordre 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

63