Académique Documents
Professionnel Documents
Culture Documents
Analyse Numérique
SMI
Mohammed Benzakour Amine
4 Interpolation polynomiale 35
4.1 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Interpolation de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Choix des points d'interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.1 Introduction
Un modèle mathématique est une représentation d'un phénomène réel (physique, biologique,
économique, social, etc.) sous une forme abstraite mathématique. Le processus de modélisation
mathématique permet d'analyser et de prévoir le phénomène réel, cela bien sûr si on maîtrise les outils
d'analyse et de calculs relatives aux modèles mathématiques développés. Cependant, une grande
majorité de ces modèles admettent des solutions exactes très diciles voire impossible à calculer.
C'est le cas plus précisément des modèles sous formes d'équations diérentielles ordinaires (EDO)
ou d'équations aux dérivées partielles (EDP). Il est donc nécessaire de recourir au calcul numérique
sur ordinateur, et par suite aux méthodes numériques. Hormis les techniques de discrétisation des
EDO et des EDP, la résolution numérique de telles équations fait appel souvent à d'autres méthodes
numériques comme les méthodes de résolution de systèmes linéaires, les méthodes d'intégration
numérique, les méthodes de résolution des équations non linéaires, etc. En général, les étapes à
suivre pour étudier un phénomène par le biais du calcul numérique sont :
• Modélisation du problème : Il s'agit de décrire le phénomène qu'on veut étudier par le
biais d'équations mathématiques. Dans le cas des phénomènes physiques, ça sera souvent des EDO
ou des EDP.
• Analyse mathématique du modèle : Cette étape consiste à étudier les propriétés mathé-
matiques du modèle qui en font un "bon" modèle : existence et unicité de la solution, régularité de
la solution, positivité de la solution (si la solution représente une grandeur physique qui ne peut être
que positive), etc.
• Approximation et analyse numérique : Comme on l'a déjà mentionné, on ne sait pas com-
ment trouver les solutions de la plupart des équations utilisées dans la modélisation, c'est pourquoi
on a recours aux méthodes numériques pour approcher ces solutions. L'analyse numérique consiste
à étudier ces solutions numériques et voir si vraiment elles approchent, dans un sens convenable à
préciser, les solutions exactes. On pourra remarquer aussi que les méthodes numériques transforment
le caractère continue des problèmes mathématiques en un caractère discret, puisqu'un ordinateur ne
peut traiter qu'un nombre ni d'inconnues et de données.
• Implémentation de la méthode sur ordinateur et validation : Les méthodes numériques
engendrent généralement un très grand nombre de calculs qui ne peuvent s'eectuer à la main,
l'implémentation informatique de ces méthodes est donc nécessaire pour obtenir les résultats voulus.
Des tests numériques spéciques sont aussi très recommandés pour pouvoir valider ces méthodes.
• Simulation numérique et interprétation des résultats : La méthode numérique étant
implémentée, il ne reste plus que simuler le phénomène étudié à condition d'avoir au préalable des
4
1.2. Sources d'erreurs 5
paramètres réels. L'interprétation des résultats numériques se fait par des chercheurs ou ingénieurs
spécialistes du phénomène étudié.
Il est à noter enn qu'il existe des méthodes numériques fournissant des résultats exactes, c'est
par exemple le cas des méthodes directes de résolution des systèmes linéaires (voir chapitre 3). Les
méthodes développées pour obtenir des solutions approchées peuvent aussi, dans certains cas très
restreints, fournir des résultats exactes.
1.3 Dénitions
Définition 1.1
Soit x un nombre réel et x∗ une valeur approchée de x.
• On appelle erreur absolue la quantité ∆x = |x − x∗ |.
|x − x∗ | ∆x
• On appelle erreur relative la quantité Er = = .
|x| |x|
Remarque
L'erreur absolue est une mesure quantitative. L'erreur relative est une mesure qualitative, elle est
souvent exprimée en pourcentage (il sut pour cela de multiplier Er par 100).
Définition 1.2
Soit x un nombre réel et x∗ une valeur approchée de x.
• On appelle incertitude absolue tout réel positif, noté ∆x, vériant |x − x∗ | ≤ ∆x. On peut écrire
alors x = x∗ ± ∆x.
∆x
• On appelle incertitude relative la quantité δx = ∗ .
|x |
Remarques
• En pratique, la valeur exacte de x est rarement connue d'où l'impossibilité de calculer l'erreur
absolue ou relative. Cependant, l'estimation d'une incertitude absolue est généralement à la por-
tée.
• Par abus de langage, on confondra parfois les notions d'incertitude absolue et d'erreur absolue
(la même notation ∆x a été utilisée pour les deux notions dans les deux dénitions précédentes).
Définition 1.3
On appelle chire signicatif d'un nombre approché s'écrivant sous la forme x∗ = a × 10d , où a
est un nombre décimale et d ∈ Z, tout chire de a diérent de zéro, et un zéro s'il se trouve entre
deux chires signicatifs. Dans le cas où a est un nombre avec virgule, les zéros placés à la n de
a seront aussi considérés comme signicatifs.
Remarque
Le cas des zéros placés à la n d'un nombre sans virgule n'est pas bien déni. En eet, on ne peut
connaître le nombre de chires signicatifs de x∗ = 3400 donné sous cette forme. Par contre, on
sait que 3, 4 × 103 a 2 chires signicatifs et que 3, 400 × 103 a 4 chires signicatifs.
Exemples
• 0, 0045 a deux chires signicatifs et 0, 00450 a trois chires signicatifs.
• 4, 2050 × 10−4 a 5 chires signicatifs.
• 0, 01 × 102 a un seul chire signicatif.
Définition 1.4
Soit x un nombre réel et x∗ une valeur approchée de x. Le chire signicatif correspondant à la
m-ième puissance de 10 de x∗ est dit exact si l'erreur absolue vérie ∆x ≤ 0, 5 × 10m .
Remarques
• Si un chire signicatif est exact, alors les chires signicatifs à sa gauche le sont aussi.
• Si un chire signicatif n'est pas exact, alors les chires signicatifs à sa droite ne le sont pas.
• Un chire signicatif exacte de x∗ ne coïncide pas toujours avec le chire correspondant dans
x.
Exemples
• Soit x = 27 et soit x∗ = 27, 007 une valeur approchée de x. On a donc ∆x = |27 − 27, 007| =
0, 7 × 10−2 < 0, 5 × 10−1 . Donc le chire des dixièmes (à savoir le premier 0) est un chire
signicatif exacte et on a en tout 3 chires signicatifs exactes.
• Si on adopte 3, 1416 comme approximation de π , on a : ∆x = |π − 3, 1416| ≈ 0, 73 × 10−5 <
0, 5 × 10−4 . Donc 6 est chire signicatif exacte, de même que tous les chires situés à sa gauche.
1.4.1 Conditionnement
Un problème est dit bien conditionné, si une faible variation dans les données engendre à son tour
une faible variation dans la solution du problème. De même, si un problème est mal conditionné,
alors la moindre erreur dans les données provoquera une erreur très conséquente dans les résultats.
Soit x un nombre réel et x∗ une valeur approchée de x. Dans le cas d'une fonction réelle, on mesure
f (x) − f (x∗ )
cette sensibilité en étudiant les variations de la quantité en fonction de l'erreur relative
f (x)
x − x∗
sur x, i.e. , et cela lorsque |x − x∗ | est petit. Pour une fonction susamment régulière, on
x
peut voir que :
f (x) − f (x∗ ) x − x∗ xf 0 (x)
/ ≈
f (x) x f (x)
Exemples
√
Soit la fonction f (x) = x. Le conditionnement de la fonction f en x est :
xf 0 (x) 1
= .
f (x) 2
f (x) − f (x∗ )
Ceci veut dire que la quantité est environ la moitié de l'erreur relative sur x,
f (x)
lorsque |x − x∗ | est assez petit. On a donc un bon conditionnement dans ce cas.
• Considérons maintenant la fonction f (x) = a − x. Le conditionnement de la fonction f en x
est : 0
xf (x) x
= .
f (x) a−x
Dans ce cas, on aura un mauvais conditionnement si x est proche a.
1.4.2 Stabilité
La stabilité décrit la sensibilité d'une méthode aux petites perturbations (ou variations). Une
méthode est numériquement stable si une erreur, une fois générée, ne croît pas trop durant le calcul.
Exemple
√
Soit la fonction f (x) = 1 − 1 − x. Le conditionnement de la fonction f en x est :
xf 0 (x) x
= √ .
f (x) 2 x+ 1−x−1
Un simple calcul de limite montre que l'expression ci-dessus est proche de 1 lorsque x est
proche de 0. Cela veut dire qu'on a un bon conditionnement de f lorsque x est proche de 0.
En voulant évaluer la valeur de f (0, 0001) en utilisant 6 chires signicatifs exactes, on peut
procéder comme suit :
p
f (0, 0001) = 1, 00000 − 1, 00000 − 0, 000100000
p
= 1, 00000 − 0, 999900
= 1, 00000 − 0, 999950
= 0, 0000500000.
Maintenant, en procédant avec 3 chires signicatifs exactes, on obtient :
p
f (0, 0001) = 1, 00 −1, 00 − 0, 000100
p
= 1, 00 − 1, 00
= 1, 00 − 1, 00
= 0, 00.
Même si le premier résultat peut être présenté en utilisant 3 chires signicatifs, les erreurs
d'arrondi conduisent à un résultat insatisfaisant. Ça peut paraître contradictoire puisque le condi-
tionnement de f est bon, mais en fait c'est l'approche utilisée pour le calcul qui est instable. Cela
est dû au fait que la fonction x 7−→ 1 − x représentant la dernière étape de l'algorithme de calcul
est mal conditionnée quand x est proche de 1 (Voir l'exemple précédent).
On peut remédier à ce problème en utilisant l'approximation au voisinage de 0 :
√
1
1− 1−x≈1− 1− x
2
1
=1−1+ x
2
1
= x.
2
Dans ce cas, même avec 3 chirés signicatifs, on obtiendra un résultat précis.
Remarques
• Si un problème est bien conditionné, alors il existe une méthode stable pour le résoudre.
• Si un problème est par contre mal conditionné, aucune méthode numérique ne pourra y remédier.
Il faudra (dans la mesure du possible) reformuler mathématiquement le problème, de tel façon
qu'il soit bien conditionné.
Définition 1.5
Soit x ∈ R. On note f l(x) sa représentation en virgule ottante décimal à n chires :
f l(x) = ±0, d1 d2 ...dn × 10l ,
Remarques
• La représentation en virgule ottante dans n'importe quelle base b peut être dénit similaire-
ment, i.e. :
f l(x) = ±0, d1 d2 ...dn × bl .
• Une représentation en virgule ottante à n chires est équivalente à xer le nombre de chires
signicatifs exactes (un nombre correctement arrondi ne possède que des chires signicatifs
exactes). Les deux approches engendrent les mêmes pertes de précision, cependant les calculs en
virgule ottante sont plus pratiques.
Exemples
En adoptant une représentation en virgule ottante à 3 chires, on a :
• f l(10/3) = 0, 333 × 101 .
• f l(0.0067) = 0, 670 × 10−2 .
• f l(1.676767) = 0, 168 × 101 .
= fl 0, 099900 × 102
= 0, 999 × 101
• Pour l'addition et la soustraction de deux nombres, on unie toujours les exposants en choisissant
le plus grand exposant avant de convertir en virgule ottante. L'exemple suivant décrit la démarche
à suivre (calcul en virgule ottante à quatre chires) :
10/3 − 1/100 → fl(fl(10/3) − fl(1/100))
= fl 0, 3333 × 101 − 0, 1000 × 10−1
= fl 0, 3323000 × 101
= 0, 3323 × 101
À cause de l'arrondi, les lois d'associativité et de distributivité peuvent ne pas être respectées
pour les opérations élémentaires.
Exemples
• Associativité de l'addition :
a + (b + c) = (a + b) + c.
Soient a = 0, 456 × 10−2 , b = 0, 123 × 100 et c = −0, 128 × 100 , alors
(a + b) + c = 0, 128 × 100 − 0, 128 × 100 = 0
a + (b + c) = 0, 456 × 10−2 − 0, 500 × 10−2 = −0, 440 × 10−3
a × (b + c) = a × b + a × c.
Un nombre d'opérations peut s'avérer dangereux à cause de l'arrondi. Par exemple la sommation
ou la soustraction de deux nombres de grandeurs très diérentes peut engendrer la perte de l'in-
formation venant du petit chire. L'opération f l(1) − f l(0, 0001) = 0, 100 × 101 eectué en virgule
ottante à 3 chires en est un exemple. Le résultat nal d'un calcul peut être aecté grandement
par cette perte de précision (voir l'exemple de la section 1.4.2).
Ci-dessous, on présente un autre exemple où le calcul en suivant une démarche naïve peut s'avérer
couteux en terme de précision.
Exemple
Soit la somme de termes positifs suivante :
n
X 1
Sn = 1 +
i2 +i
i=1
Comme on peut le voir, Sb,n est plus précise que Sf,n . La méthode de calcul adopté pour Sf,n
est exactement celle à éviter. À un certain stade i = j < n de la sommation, Sf,j deviendra très
grande par rapport au (i + 1)-ième terme à ajouter, puisque la sommation s'eectue du plus grand
au plus petit, et donc on additionnera un très grand et un très petit nombre. Ce cas de gure ne
se produit pas pour Sb,n , car les termes qui s'ajoutent croissent au fur et à mesure que la somme
augmente.
linéaires
Ce chapitre est consacré au problème de recherche des racines d'une fonction (ou zéros d'une
fonction) en utilisant des méthodes numériques.
Plus précisément, on présentera les approches numériques standards pour la résolution de l'équa-
tion f (x) = 0, où f est une fonction numérique à variable réelle. Les méthodes présentées dans ce
chapitre sont dites itératives, c'est à dire des méthodes qui consistent à construire une suite qui
converge vers la solution cherchée. Une méthode itérative qui fournit une suite qui converge vers
la solution du problème sera dite aussi convergente. Si plusieurs méthodes convergent, un critère
important pour comparer la qualité de ces méthodes est l'ordre de convergence : plus l'ordre de
convergence est élevé, plus la méthode convergera en moins d'itérations.
Définition 2.1
Soit (un )n∈N une suite qui converge vers une limite l ∈ R. On dit que la convergence de (un )n∈N
vers l est d'ordre r ≥ 1 s'il existe une suite (en )n∈N qui converge vers 0, vériant :
en+1
∀n ∈ N, |l − un | ≤ en et lim = C > 0,
n→∞ ern
où r et C sont des réels strictement positifs. La convergence est dite linéaire si r = 1 et quadratique
si r = 2.
11
12 Résolution numérique d'équations non linéaires
a+b
dans l'intervalle , b . Nous avons déterminé ainsi un intervalle de longueur deux fois moindre
2
contenant au moins l'une des racines de f . En itérant le test, nous obtenons une suite qui converge
vers un zéro de f . L'algorithme suivant décrit ce processus :
Algorithme (Algorithme de dichotomie)
On construit trois suites (an ) , (bn ) et (cn ) de la manière suivante :
a0 = a ; b0 = b.
Pour n ≥ 0,
an + bn
cn = .
2
Si f (cn ) = 0 alors cn est la racine de f et le processus est arrêté.
Sinon Si f (cn ) f (bn ) < 0 alors an+1 = cn et bn+1 = bn .
Sinon an+1 = an et bn+1 = cn .
Fin Si
Fin Pour
Remarques
• En pratique, un critère d'arrêt est adopté pour arrêter le processus décrit dans l'algorithme
ci-dessus. Par exemple, si on adopte un critère d'erreur absolue sur la valeur de la racine, le
b − an
processus s'arrêtera si n ≤ , où est une tolérance xée. Un autre critère d'arrêt impose
2
la tolérance sur l'image de la solution numérique pour arrêter l'algorithme, i.e. f (cn ) ≤ . Il est
important d'imposer aussi un nombre d'itérations maximal nmax au cas où le test portant sur
l'erreur ne serait pas vérié après nmax itérations.
• Comme il a été précisé, si la fonction f admet plusieurs racines, la méthode convergera vers
l'une de ces racines. Pour trouver toutes les racines, il est donc nécessaire de les isoler avant
d'appliquer la méthode, cela en trouvant des sous-intervalles contenant chacun une seule racine.
Théorème 2.1
Soit f une fonction continue sur [a, b] vériant f (a)f (b) < 0. On suppose que pour tout n ∈ N,
f (cn ) 6= 0. Alors les suites (an ) , (bn ) et (cn ) (dénies dans l'algorithme de dichotomie) convergent
vers une même limite r ∈ R vériant f (r) = 0. De plus la convergence de la méthode est linéaire
et on a :
|r − cn | ≤ 2−(n+1) (b − a) .
b0 ≥ b1 ≥ b2 ≥ · · · ≥ a0 = a,
1
bn+1 − an+1 = (bn − an ) (∀n ∈ N).
2
Puisque la suite (an ) est croissante et majorée par b0 , alors elle converge. De même, (bn ) est décrois-
sante et minorée donc elle est convergente. La dernière égalité implique que, pour tout n ∈ N
bn − an = 2−n (b0 − a0 ) .
Par suite
lim bn − lim an = lim 2−n (b0 − a0 ) = 0.
n→∞ n→∞ n→∞
En posant r = lim an = lim bn , et en passant à la limite dans l'inégalité 0 > f (an )f (bn ) (toujours
n→∞ n→∞
vériée par construction), on obtient 0 ≥ f (r)2 , et par conséquent f (r) = 0.
Maintenant puisque cn = (an + bn ) /2, alors lim cn = r, et l'erreur à la n-ième itération est
n→∞
majorée comme suit :
1
en = |r − cn | ≤ (bn − an ) = 2−(n+1) (b − a) ,
2
en+1 1
ce qui implique que lim = . Donc, la convergence de la méthode est linéaire.
n→∞ en 2
Exemple
Soit la fonction f (x) = exp(x) + cos(x). On peut facilement montrer que f admet un unique
zéro sur [−2, −1], f étant une fonction continue et strictement croissante sur [−2, −1] avec
f (−2)f (−1) < 0. On utilise la méthode de dichotomie pour approcher ce zéro, avec le critère
d'arrêt suivant : les itérations s'achèvent quand |f (cn )| ≤ 10−3 . On peut voire d'après les résul-
tats achés dans le tableau ci-dessous (achage de (an ) , (bn ) et (cn ) avec 7 chires signicatifs)
que la solution numérique nale obtenue est c7 = −1, 746094. L'erreur absolue associée à l'ap-
b − a7
proximation obtenue est au plus égale à : 7 = 3, 906 × 10−3 .
2
Remarque
La méthode de dichotomie a l'avantage de permettre de déterminer à l'avance le nombre nécessaire
d'itérations n pour l'obtention d'une précision . En eet pour que |r − cn | ≤ , il sut d'après
le théorème précédent que : 2−(n+1) (b − a) ≤ , et donc que
ln(b − a) − ln()
n≥ − 1.
ln(2)
(bn , f (bn )) (voir gure 2.1). L'équation de cette droite est donnée par :
x − an y − f (an )
= .
bn − an f (bn ) − f (an )
an − bn
Elle coupe l'axe des abscisses au point (cn , 0) où cn = an + f (an ) .
f (an ) − f (bn )
Figure 2.1
Proposition 2.1
Soit f une fonction de classe C 1 sur un intervalle I . S'il existe un réel k ≥ 0 vériant : |f 0 (x)| ≤ k
pour tout x ∈ I , alors la fonction f est k-lipschitzienne sur I .
Définition 2.3
Soit f une fonction k-lipschitzienne sur un intervalle I . La fonction f est dite contractante (ou
k -contractante) sur I si k ∈ [0, 1[.
Définition 2.4
Soient x ∈ R et f une fonction réelle dénie sur un intervalle I de R. On dit que x est un point
xe de f si f (x) = x.
Théorème 2.3 (Théorème du point xe)
Soient f une fonction contractante sur un intervalle fermé I à valeurs dans I , et (xn )n∈N la suite
dénie par : xn+1 = f (xn ) avec x0 = a ∈ I . Alors, la suite (xn ) converge vers un réel s qui est
l'unique point xe de f sur I .
Le théorème énoncé ci-dessus nous permet de résoudre des équations de la forme f (x) = x. La
méthode issue de ce théorème est appelée méthode du point xe, c'est une méthode généralement
d'ordre 1. Nous verrons dans les sections à venir que des méthodes plus performantes se basent sur
cette méthode.
Exemple
Soit l'équation f (x) = 0, avec f (x) = x − cos(x) et x ∈ [0, 1]. Résoudre cette équation revient à
résoudre l'équation g(x) = x, avec g(x) = cos(x) et x ∈ [0, 1]. La fonction cosinus est une fonction
contractante (|g 0 (x)| = |− sin(x)| < 1 sur [0, 1]) et cos([0, 1]) ⊂ [0, 1]. Donc d'après le théorème
du point xe, la suite dénie par : xn+1 = g(xn ) avec x0 = a ∈ [0, 1] converge vers un réel qui est
l'unique point xe de g sur [0, 1], et par suite l'unique solution de l'équation f (x) = 0. On prend
x0 = 0, 5, les trois premières itérations de la méthode du point xe donnent :
x1 = g(x0 ) ≈ 0, 877583, x2 = g(x1 ) ≈ 0, 639012 et x3 = g(x2 ) ≈ 0, 802685.
Théorème 2.4
Soit f une fonction de classe C 1 sur un intervalle fermé I admettant un point xe s dans l'intérieur
de I . Si |f 0 (s)| < 1 alors il existe un intervalle J dans I tel que pour tout point y ∈ J, la suite
(xn ) dénie par x0 = y et xn+1 = f (xn ) soit bien dénie et converge vers s. De plus, si f est de
classe C d+1 (d ∈ N) sur J , 0 = f 0 (s) = · · · = f (d) (s) et f (d+1) (s) 6= 0, la convergence de (xn ) vers
s est d'ordre d + 1.
Le théorème ci-dessus est valable dans le cas où l'ordre de convergence de(xn ) est un entier. Le
cas général dépasse le cadre de ce cours.
Figure 2.2
Théorème 2.5
Soit f une fonction de classe C 2 dénie sur un intervalle I contenant un point s pour lequel
f (s) = 0 et f 0 (s) 6= 0. Alors il existe un intervalle J dans I tel que pour tout x0 ∈ J, la suite (xn )
construite par la méthode de Newton soit bien dénie et converge vers s. De plus, la convergence
est quadratique.
Démonstration. La démonstration est donnée dans le cas spécique où f est assez régulière et
f 00 (s) 6= 0. On utilise le fait que la méthode de Newton peut être vue comme une méthode de point
f (x)
xe. En eet, en considérant la fonction F (x) = x − , on remarque que f (x) = 0 équivaut à
f 0 (x)
F (x) = x. Maintenant, on a :
f 0 (x)f 0 (x) − f (x)f 00 (x) f (x)f 00 (x)
F 0 (x) = 1 − =
[f 0 (x)]2 [f 0 (x)]2
puisqu'un point xe de F est un zéro de f, on a F 0 (s) = 0. De plus,
[f 0 (x)]2 [f (x)f 000 (x) + f 00 (x)f 0 (x)] − [f (x)f 00 (x)] [2f 0 (x)f 00 (x)]
F 00 (x) =
[f 0 (x)]4
et par suite, on a
f 00 (s)
F 00 (s) = 6= 0.
f 0 (s)
Donc, et puisque F est de classe C 2 au voisinage de s, l'utilisation du théorème 2.4 termine la
démonstration.
Remarque
Le théorème ci-dessus assure la convergence du schéma de Newton lorsque x0 est assez proche de
la solution recherchée. Si on ne dispose d'aucune approximation de cette solution, la convergence
de la méthode peut aussi être assurée si les conditions du théorème ci-dessous sont vériées.
Théorème 2.6
Soit f une fonction de classe C 1 sur un intervalle [a, b], strictement croissante et strictement
convexe, telle que f (a) < 0 < f (b). Alors si f (x0 ) > 0, la suite (xn ) construite par la méthode
de Newton est bien dénie et converge vers l'unique zéro de f sur ]a, b[. De plus, la convergence
est quadratique.
Exemple
On reprend l'exemple de la méthode de dichotomie pour tester la méthode de Newton : on
recherche le zéro de f (x) = exp(x) + cos(x) sur [−2, −1] et l'algorithme s'arrête quand |f (xn )| ≤
10−3 . En prenant x0 = −1, La précision requise est atteinte par la méthode de Newton après
seulement deux itérations. Plus précisément on obtient : x1 ≈ −1, 750967 et x2 ≈ −1, 746136,
cette dernière valeur vérie la condition d'arrêt avec |f (x2 )| ≈ 4.1 × 10−6 .
Exemple
Toujours en considérant l'exemple précédent, on prend comme valeurs initiales pour la méthode
de la sécante x0 = −2 et x1 = −1. La précision requise est atteinte par la méthode de la
sécante après trois itérations. Plus précisément on obtient : x2 ≈ −1, 763824 et x3 ≈ −1, 747009,
x4 ≈ −1, 746137 avec |f (x4 )| ≈ 2, 7 × 10−6 .
linéaires
Dans ce chapitre, nous présentons diérents algorithmes pour la résolution du système linéaire
Ax = b, où A ∈ Mn (R) (Mn (R) étant l'espace vectoriel des matrices carrées d'ordre n) est une
matrice inversible et b ∈ Rn . Le but est donc de résoudre le problème :
x ∈ Rn
Ax = b.
Le fait que A est une matrice inversible implique bien entendu l'existence et l'unicité du vecteur
solution x.
En fait, la résolution d'un tel problème est équivalent à résoudre le système de n équations et à
n inconnus suivant :
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
a31 x1 + a32 x2 + a33 x3 + · · · + a3n xn = b3
..
.
an1 x1 + an2 x2 + an3 x3 + · · · + ann xn = bn
18
3.1. Méthodes directes 19
On dit que A est triangulaire supérieure si ses éléments en-dessous de la diagonale sont nuls,
autrement dit :
i > j =⇒ aij = 0
Une matrice triangulaire supérieure a la forme suivante :
a11 a12 . . . . . . . . . a1n
0 a22 . . . . . . . . . a2n
. ... ... ..
.. .
.. . . . . .
.
. . . .
.. . .
. . . . ...
.
0 . . . . . . . . . 0 ann
Théorème 3.1
Soit A ∈ Mn (R) une matrice triangulaire. Alors A est inversible si et seulement si ses éléments
diagonaux sont tous non nuls.
Les systèmes triangulaires sont très simples à résoudre, c'est pourquoi un grand nombre de
méthodes directes consistent à ramener la résolution d'un système linéaire quelconque à celle d'un ou
plusieurs systèmes triangulaires. Ci-dessus les algorithmes de descente et de remontée qui permettent
respectivement de résoudre les systèmes triangulaires inférieures et triangulaires supérieures.
Algorithme (Descente)
Les solutions du système triangulaire inférieur
si i < j,
lij = 0
LX = C avec
lii 6= 0
Algorithme (Remontée)
Les solutions du système triangulaire supérieur
si i > j
uij = 0
UX = C avec
uii 6= 0
Exemple
Considérons le système suivant de 4 équations à 4 inconnues :
x1 + x2 + x3 + x4 = 1
13x2 + 5x3 + 4x4 = 0
−2x3 + 5x4 = 8
7x4 = 14
à = 0 6 −1 1
−1 1 −2 0
Pour appliquer la méthode de Gauss, il faut d'abord que le premier coecient de la première ligne
de à soit non nul. La première ligne a un 1 en première position, on dit que nous avons un pivot en
position (1, 1) (première ligne, première colonne). Ce pivot sert de base pour éliminer tous les autres
termes de la première colonne.
Dans la deuxième ligne, l'élément de la première colonne est déjà nul. Le premier coecient de la
troisième ligne sera annulée en eectuant l'opération élémentaire L3 ← L3 + L1 :
1 1
1 1 3 1 1 3
L3 ←L3 +L1
0 6 −1 1 −→ 0 6 −1 1
−1 1 −2 0 0 2 −1 3
1 0 0
Ceci revient à multiplier à à gauche par la matrice E1 = 0 1 0 . On remarque que le travaille
1 0 1
sur la matrice élargie est plus pratique car il permet d'eectuer le produit matriciel simultanément
sur le système linéaire et sur le second membre.
La deuxième ligne a un terme non nul (6) en position (2, 2) : c'est un pivot. On ajoute donc (−1/3)
fois la ligne 2 à la ligne 3 pour annuler le deuxième terme de la troisième ligne :
1 1 1 3
1 1 1 3
L3 ←L3 − 13 L2 0 6 −1
0 6 −1 1 −→ 1
2 8
0 2 −1 3 0 0 −
3 3
1 0 0
Ceci revient à multiplier la matrice précédente à gauche par la matrice E2 =
0 1
. Une
0
1
0 − 1
3
matrice triangulaire supérieure à trois pivots est nalement obtenu : on peut donc utiliser la méthode
de remontée pour obtenir la solution du système, et on obtient (en notant xi les composantes de
x) : x1 = 15/2, x2 = −1/2 et x3 = −4. On a ainsi résolu le système linéaire. Finalement, au
moyen des opérations décrites ci-dessus, on a transformé le système linéaire Ax = b en U x =
E2 E1 b, où U = E2 E1 A. Remarquons que l'algorithme de Gauss permet aussi de décomposer la
matrice A en un produit de deux matrices LU , avec L = (E2 E1 )−1 est une matrice triangulaire
inférieure (l'inverse d'une matrice triangulaire inférieure est une matrice triangulaire inférieure), et
U est une matrice triangulaire supérieure. C'est le principe de la factorisation LU (Voir la section
3.1.3).
Pour que l'algorithme de Gauss ci-dessus fonctionne, les pivots de la matrice doivent être non
nuls (lors de la division par ajj ). Si au cours de l'élimination le pivot ajj est nul, on doit permuter
la ligne j avec l'une des lignes suivantes vériant akj 6= 0. Le choix qui minimise le nombre de tests
à eectuer est de choisir la première ligne possible. Notons que si le pivot ajj est très petit, son
utilisation peut entraîner des erreurs d'arrondi importantes pouvant fausser les calculs. Il y a deux
raisons au moins pour cela : un pivot très proche de zéro peut entrainer une très grande valeur
du coecient mij qui peut avoir à son tour une mauvaise représentation sur machine à cause du
nombre ni de chires signicatifs en virgule ottante. La deuxième raison est que le terme aik va
tendre à être négligé dans la somme aik = aik − mij ajk à cause de la soustraction de deux nombres
de grandeurs très diérentes. Pour éviter de telles erreurs d'arrondi, la stratégie du pivot partiel
consiste à choisir lors de l'élimination la ligne pour laquelle on aura le plus grand pivot en valeur
absolue. Il existe d'autres stratégies pour diminuer la sensibilité aux erreurs d'arrondi. La stratégie
du pivot total consiste par exemple à chercher le pivot parmi tous les éléments de la matrice carrée
restante (ce qui conduira à une permutation de ligne et une permutation de colonne) mais cette
technique augmente considérablement le nombre de tests à eectuer.
Exemple
Résolvons le système suivant par la méthode de Gauss avec stratégie du pivot partiel : Ax = b,
où
0.02 0.01 0 0 0.02
1 2 1 0 1
et b =
A=
0 1 2 1 4
0 0 100 200 800
0.02 0.01 0 0 0.02 1 2 1 0 1
1 2 1 0 1 L1 ↔L2 0.02 0.01 0 0 0.02
0
−→
1 2 1 4 0 1 2 1 4
0 0 100 200 800 0 0 100 200 800
1 2 1 0 1 1 2 1 0 1
L2 ←L2 −0.02L1 0 −0.03 −0.02 0 0 L2 ↔L3 0 1 2 1 4
−→
0
−→ 0 −0.03 −0.02 0
1 2 1 4 0
0 0 100 200 800 0 0 100 200 800
1 2 1 0 1 1 2 1 0 1
L3 ←L3 +0.03L2 0 1 2 1 4 L3 ↔L4 0
1 2 1 4
−→
0
−→
0 0.04 0.03 0.12 0 0 100 200 800
0 0 100 200 800 0 0 0.04 0.03 0.12
1 2 1 0 1
0 1 2 1 4
L4 ←L4 −L3 ∗4×10−4
−→ 0 0
100 200 800
0 0 0 −0.05 −0.2
1
0
Par la méthode de remontée, on obtient x = .
0
4
3.1.3 Factorisation LU
Comme signalé dans la section précédente, La factorisation LU découle de l'algorithme de Gauss
dans le cas où on ne permute jamais. Elle consiste à factoriser la matrice A en un produit de deux
matrices triangulaires A = LU, où L est triangulaire inférieure (L pour "lower" en anglais) et U
est triangulaire supérieure (U pour "upper" en anglais). Une fois établie la factorisation LU de A,
la résolution du système linéaire Ax = b est équivalente à la simple résolution de deux systèmes
triangulaires Ly = b puis U x = y . Cette méthode est donc très pratique lorsqu'on a à résoudre
plusieurs systèmes où seul le second membre change : une fois la décomposition établie, la résolution
de chaque système pourra se faire en résolvant seulement deux systèmes triangulaires.
Théorème 3.2
Soit A une matrice donnée d'ordre n pour laquelle l'élimination de Gauss peut être eectuée
sans permutation de lignes, alors cette matrice admet une décomposition LU (L est triangulaire
inférieure et U est triangulaire supérieure).
Il faut souligner que la décomposition LU n'est pas unique. Cependant, le choix le plus populaire
pour cette factorisation garantissant l'unicité (si la décomposition existe) consiste à imposer que la
matrice U ait des 1 sur sa diagonale. C'est la décomposition de Crout et elle peut être obtenue grâce
à l'algorithme suivant :
Première colonne de L :
li1 = ai1 pour i = 1, . . . , n
Première ligne de U :
a1i
u1i = pour i = 2, . . . , n
l11
Pour i = 2, . . . , n − 1 :
i−1
X
lii = aii − lik uki
k=1
Exemple
Soit le système :
3 −1 2 x1 12
1 2 3 x2 = 11
2 −2 −1 x3 2
avec A est la matrice du système. On veut résoudre ce système en factorisant A en un produit
LU .
Première ligne de U : l'élément de la première ligne de A est 3. Les éléments de la première ligne
de U sont donc les éléments de la première ligne de A divisés par 3.
Deuxième colonne de L :
l22 = a22 − l21 u12
= 2 − (1)(−1/3)
= 7/3
l32 = a32 − l31 u12
= −2 − (2)(−1/3)
= −4/3
Deuxième ligne de U :
a23 − l21 u13
u23 =
l22
3 − (1)(2/3)
=
7/3
=1
Calcul de l33 :
l33 = a33 − l31 u13 − l32 u23
= −1 − (2)(2/3) − (−4/3)(1)
= −1
On a donc la décomposition suivante de A :
3 0 0 1 −1/3 2/3
A = 1 7/3 0 0 1 1
2 −4/3 −1 0 0 1
Résolution de U x = y :
Par l'algorithme de remontée, on obtient la solution nale :
x3 = y3
=2
x2 = y2 − u23 x3
= 3 − (1)(2)
=1
x1 = y1 − u12 x2 − u13 x3
= 4 − (−1/3)(1) − (2/3)(2)
=3
Théorème 3.3
Soit une matrice A = (aij )1≤i,j≤n d'ordre n telle que toutes les sous-matrices diagonales d'ordre
1 ≤ k ≤ n, dénies par
a11 · · · a1k
k .. ... ..
∆ = . .
ak1 · · · akk
soient inversibles (autrement dit det ∆k 6= 0). Il existe un unique couple de matrices (L, U ), avec
U triangulaire supérieure, et L triangulaire inférieure ayant une diagonale de 1, tel que
A = LU
Remarque
On ne peut pas toujours obtenir une décomposition LU pour une matrice carrée A. Cependant
dans certains cas, en permutant des lignes de A, la décomposition devient possible. On obtient
alors une décomposition de la forme A = P LU , où P est une matrice de permutation.
Définition 3.2
Une matrice symétrique A ∈ Mn (R) est dénie positive si pour tout vecteur x ∈ Rn non nul on
a xT Ax > 0.
Théorème 3.4
Soit A une matrice symétrique dénie positive. Alors il existe une matrice triangulaire inférieure
L telle que A = LLT . De plus, si on impose aux coecients diagonaux de L d'être positifs, cette
factorisation est unique.
Exemple
Par la méthode de Cholesky, on obtient :
4 12 −16 2 0 0 2 6 −8
12 37 −43 = 6 1 0 0 1 5
−16 −43 98 −8 5 3 0 0 3
• kαvk = |α|kvk ∀α ∈ R, ∀v ∈ V
Définition 3.4
On appelle norme matricielle sur l'espace vectoriel Mn (R) toute norme vériant les propriétés de
la dénition 3.3 en plus de la propriété suivante :
kABk ≤ kAkkBk ∀A, B ∈ Mn (R).
Proposition 3.1
Soit k · k une norme vectorielle sur Rn , l'application k · k : Mn (R) → R+ dénie par
kAvk
kAk = sup = sup kAvk,
v∈Rn kvk v∈Rn
v6=0 kvk=1
est une norme matricielle, appelée norme matricielle subordonnée (à la norme vectorielle donnée).
De plus
kAvk ≤ kAkkvk ∀v ∈ Rn .
Définition 3.5
Soit A ∈ Mn (R). Alors :
kAvk1
kAk1 = sup ,
v∈Rn kvk1
v6=0
kAvk2
kAk2 = sup ,
v∈Rn kvk2
v6=0
kAvk∞
kAk∞ = sup .
v∈Rn kvk∞
v6=0
Proposition 3.2
Soit A = (aij ) une matrice carré de dimension n. Alors :
XN
kAk∞ = max |aij | ,
1≤i≤N
j=1
N
!
X
kAk1 = max |aij | ,
1≤j≤N
i=1
p
kAk2 = ρ (At A),
et en particulier si A est symétrique, kAk2 = ρ (A), où ρ(A) désigne le rayon spectral de la matrice
A, i.e. :
ρ(A) = max{|λ|; λ ∈ C, λ valeur propre de A}
Proposition 3.3
• Soit A ∈ Mn (R) et k · k une norme matricielle quelconque. Alors
ρ(A) ≤ kAk.
• Soient maintenant A ∈ Mn (R) et un nombre ε > 0, il existe au moins une norme matricielle
subordonnée telle que
kAk ≤ ρ(A) + ε.
3.2.2 Conditionnement
Définition 3.6
Soit une norme matricielle subordonnée que l'on note kk. On appelle conditionnement d'une
matrice inversible A ∈ Mn (R), relatif à cette norme, la valeur dénie par :
cond(A) = kAk · A−1 .
Proposition 3.4
Soit A une matrice inversible et soit b 6= 0 un vecteur non nul.
• Soient x et x + δx les solutions respectives des systèmes
Alors on a
kδxk kδbk
≤ cond(A)
kxk kbk
• Soient x et x + δx les solutions respectives des systèmes
Ax = b, et (A + δA)(x + δx) = b
Alors on a
kδxk kδAk
≤ cond(A) .
kx + δxk kAk
De plus, ces inégalités sont optimales.
Remarques
• Pour toute matrice inversible, le conditionnement est toujours supérieur ou égale à 1, 1 = kIn k =
kAA−1 k ≤ kAkkA−1 k = cond(A).
• Si A est une matrice inversible, cond(A) = cond(A−1 ) et cond(αA) = cond(A) pour tout α ∈ R∗ .
|λmax |
• Pour toute matrice symétrique inversible A, cond2 (A) = kAk2 · A−1 2 = , où λmax et
|λmin |
λmin sont respectivement la valeur propre du plus grand module et du plus petit module de A.
• On dira qu'une matrice est bien conditionnée si son conditionnement est proche de 1 et qu'elle
est mal conditionné si son conditionnement est grand.
Exemple
Le système suivant est un exemple de système mal conditionné, dû à R.S. Wilson.
10 7 8 7 x1 32 1
7 5 6 5 x2 23 1
33 dont la solution est 1
= .
8 6 10 9 x3
7 5 9 10 x4 31 1
Le système perturbé
10 7 8 7 x1 + δx1 32, 1 9, 2
7 5 6 5 x2 + δx2 22, 9 −12, 6
33, 1 a pour solution 4, 5
= .
8 6 10 9 x3 + δx3
7 5 9 10 x4 + δx4 30, 9 −1, 1
Ainsi une erreur relative de moins de 0, 5% sur les données entraîne une erreur relative supérieur
à 100% (parfois supérieur à 1000%) sur chaque élément du vecteur solution.
De même
10 7 8, 1 7, 2 x1 + ∆x1 32 −81
7, 08 5, 04 6 5 x2 + ∆x2 23 137
33 a pour solution −34
= .
8 5, 98 9, 89 9 x3 + ∆x3
6, 99 4, 99 9 9, 98 x4 + ∆x4 31 22
On note aussi que la matrice du système qu'on note A est inversible avec un déterminant égal à
1 (loin de 0) . Son inverse est donnée par :
25 −41 10 −6
−41 68 −17 10
A−1 = 10 −17
.
5 −3
−6 10 −3 2
x0 donné dans Rn ,
(E )
M x(k+1) = N x(k) + b ∀k ≥ 1
Si la suite de solutions approchées x(k) converge vers une limite x quand k tend vers l'inni, alors
par passage à la limite dans la relation de récurrence (E) , on obtient
(M − N )x = Ax = b
Par conséquent, si la suite de solutions approchées converge, sa limite est forcément la solution du
système linéaire.
D'un point de vue pratique, la matrice M est choisit de telle façon que le système linéaire (E)
soit facile à résoudre. Il faut savoir qu'on peut arrêter les itérations à tout moment où x(k) devient
susamment proche de la solution inconnue x. Comme on ne connait pas x, on ne peut pas décider
d'arrêter le calcul dès que x − x(k) ≤ où est la précision désirée. Par contre on connait Ax (qui
vaut b ), et un critère d'arrêt fréquemment utilisé est b − Ax(k) ≤ . Cependant, si la norme de
A−1 est grande ce critère peut être trompeur car
montre que lim Ai x = 0. Ensuite, (B) implique (C) car, si ρ(A) ≥ 1, alors il existe λ et x 6= 0
i→+∞
tels que Ax = λx et |λ| = ρ(A), et, par conséquent, la suite Ai x = λi x ne peut pas converger vers
0. Le fait que (C) implique (D) est une conséquence immédiate de la proposition 3.3. Il ne reste
plus maintenant qu'à montrer que (D) implique (A). Pour cela on considère la norme matricielle
subordonnée telle que kAk < 1, et on a
Ai ≤ kAki → 0 lorsque i → +∞
Définition 3.8
On dit que la méthode itérative dénie par (E) est convergente si, quel que soit le choix du vecteur
initial x0 ∈ Rn , la suite de solutions approchées x(k) converge vers la solution exacte x.
Théorème 3.5
• La méthode itérative dénie par (E)
converge si et seulement si le rayon spectral de la matrice
d'itération M −1 N vérie ρ M −1 N < 1.
• La méthode itérative dénie par (E) converge si et seulement si kM −1 N k < 1 pour au moins
une norme matricielle subordonnée k · k.
Par application
du lemme 3.1, on en déduit que ek tend vers 0, quel que soit e0 , si et seulement
si ρ M −1 N < 1, donc si et seulement si kM −1 N k < 1 pour au moins une norme matricielle
subordonnée k · k par la proposition 3.3.
x donné
(0)
n
(k+1) 1 X (k)
xi = bi − aij xj ∀i = 1, . . . , n.
aii
j=1
j6=i
Définition 3.9
Soit A = (aij ) une matrice de Mn (R). A est dite à diagonale strictement dominante (par lignes)
si elle vérie :
j=n
X
|aij | < |aii | , 1 ≤ i ≤ n.
j=1
j6=i
Proposition 3.5
Si A est une matrice à diagonale strictement dominante alors A est inversible.
Théorème 3.6
Si A est une matrice à diagonale strictement dominante, la méthode de Jacobi converge.
Démonstration.
j=n
1 X
Si A est une matrice carrée à diagonale strictement dominante alors : : |aij | < 1, 1 ≤ i ≤ n.
|aii | j=1
j6=i
−aij
Par ailleurs, en posant T = D−1 (E + F ) = (tij ), on a tij = si i 6= j et tii = 0. Il s'en suit
aii
que
j=n j=n
X 1 X
kT k∞ = max |tij | = max |aij | < 1.
1≤i≤n 1≤i≤n |aii |
j=1 j=1
j6=i
Théorème 3.8
Si A est une matrice à diagonale strictement dominante, la méthode de Gauss-Seidel converge.
Soit k l'indice tel que |yk | = max |yi | = kyk∞ = kT xk∞ . On a donc
1≤i≤n
j=k−1
X j=n
X
−1
D−1 F
yk = D E y +
kj j kj
xj
j=1 j=k+1
d'où
j=k−1 j=n
X |akj | X |akj |
|yk | ≤ kyk∞ + kxk∞
|akk | |akk |
j=1 j=k+1
et par suite
j=k−1 j=n
1 −
X |akj | kyk∞ X |akj |
≤ .
|akk | kxk∞ |akk |
j=1 j=k+1
On conclut que
Pj=k−1 |akj |
Pj=n |akj |
1 − j=1 |akk |
kyk∞ j=k+1 |akk |
≤ < =1
kxk∞ Pj=k−1 |akj | Pj=k−1 |akj |
1 − j=1 |akk | 1 − j=1 |akk |
Théorème 3.9
Si A est une matrice symétrique dénie positive, la méthode de Gauss-Seidel converge.
Théorème 3.10
Si A est une matrice à diagonale strictement dominante et si 0 < ω ≤ 1, l'algorithme de relaxation
converge.
Théorème 3.11
Soit A est une matrice symétrique dénie positive. Si 0 < ω < 2 la méthode de relaxation converge.
Théorème 3.12
Une condition nécessaire de convergence pour la méthode de relaxation est que 0 < ω < 2.
Démonstration. On rappelle que le déterminant d'une matrice est égal au produit de ses valeurs
propres (distinctes ou non) et que le déterminant d'une matrice triangulaire est égal au produit des
termes de la diagonale principale.
On pose : −1
1 1−ω
T (ω) = E−F E+F .
ω ω
Si les valeurs propres de T (ω) sont notées λi (ω), on obtient :
n
det 1−ω
ω D + F
Y
det (T (ω)) = λi (ω) = 1 = (1 − ω)n ,
i=1
det ω D − E
d'où ρ (T (ω)) ≥ [|1 − ω|n ]1/n = |1 − ω|. Pour que la méthode converge, il est nécessaire d'avoir
ρ(T ) < 1 (voir théorème 3.5) et par conséquent |1 − ω| < 1. Donc une condition nécessaire de
convergence pour la méthode de relaxation est que 0 < ω < 2.
Interpolation polynomiale
Dans tout ce chapitre, nous considérons une fonction f continue sur un intervalle [a, b] de R.
Nous cherchons à approcher cette fonction par un polynôme dans le sens suivant : étant donné n + 1
points distincts x0 , x1 , . . . , xn , de [a, b], on cherche un polynôme Pn (x) de degré inférieur ou égal à
n tel que
Pn (xi ) = f (xi ) pour i = 0, . . . , n.
Cette approche, qui fait l'objet de ce chapitre est appelée interpolation polynomiale. Elle est à
ne pas confondre avec une autre approche très utilisée : l'approximation au sens des moindres carrés.
En termes très généraux, on peut dire que dans le cas de l'interpolation polynomiale, on cherche un
polynôme dont la courbe passe par tous les points connus du graphe de f tandis que dans la méthode
des moindres carrés, on essaie d'approcher le mieux possible la courbe de f par un polynôme sans
toutefois passer nécessairement par des points de la courbe de f .
Les polynômes Li sont appelés polynômes de base de Lagrange associés aux points x0 , x1 , . . . , xn .
Démonstration.
Existence
Pour chaque
Pn i = 0, . . . , n, Li est un polynôme de degré n vériant Lj (xi ) = δij . Par conséquent
Pn (x) = i=0 f (xi ) Li (x) est de degré inférieur ou égal à n et on a :
Pn (xi ) = f (xi ) , i = 0, 1, . . . , n.
35
36 Interpolation polynomiale
Unicité
Supposons qu'il existe deux polynômes diérents Pn et Qn de degré inférieur ou égal à n, interpolant
f aux points xi . Posant maintenant Dn (x) = Pn (x) − Qn (x), Dn est donc un polynôme de degré
inférieur ou égal à n et par conséquent il peut avoir au plus n zéros. Cependant, on a Dn (xi ) = 0
pour i = 0, 1, . . . , n, ce qui voudrait dire que Dn aurait (n + 1) zéros d'où la contradiction. On
conclut que Pn − Qn = 0.
Exemple
Trouvons à l'aide de l'interpolation de Lagrange, le polynôme de degré 2 passant par les points :
(−1, 2), (0, 1) et (1, −1).
Les polynômes de base de Lagrange sont données par :
(x − x1 ) (x − x2 ) x(x − 1) x(x − 1)
L0 (x) = = = ,
(x0 − x1 ) (x0 − x2 ) (−1)(−1 − 1) 2
(x − x0 ) (x − x2 ) (x − (−1))(x − 1) (x + 1)(x − 1)
L1 (x) = = = ,
(x1 − x0 ) (x1 − x2 ) −(−1)(−1) −1
(x − x0 ) (x − x1 ) (x + 1)x (x + 1)x
L2 (x) = = = .
(x2 − x0 ) (x2 − x1 ) (1 − (−1))(1 − 0) 2
Donc
P2 (x) = L0 (x)f (x0 ) + L1 (x)f (x1 ) + L2 (x)f (x2 )
x(x − 1) (x + 1)(x − 1) (x + 1)x
= f (x0 ) + f (x1 ) + f (x2 )
2 −1 2
x(x − 1) (x + 1)(x − 1) (x + 1)x
=2 + −
2 −1 2
1 2 3
= − x − x + 1.
2 2
En posant
Mn+1 = max f (n+1) (x) ,
x∈[a,b]
Démonstration.
Si x = xi , le résultat est évident car en (x) = 0 et Πn (x) = 0.
Par conséquent, R admet au moins n + 2 zéros dans [a, b]. On peut donc appliquer le théorème de
Rolle entre deux zéros consécutifs de R. Il en résulte l'existence de (n + 1) zéros distincts pour R0 .
De même pour R00 , on peut voire facilement qu'elle s'annule en n points distincts de [a, b]. En itérant
le procédé n fois, on conclut que R(n+1) s'annule en un point de [a, b] qu'on note θx . En dérivant
(n + 1) fois l'expression de R, et en posant en (x) = f (x) − Pn (x), on déduit que :
Πn (x) (n+1)
en (x) = f (θx ) .
(n + 1)!
Remarque
Si la fonction f à interpoler est un polynôme de degré inférieur ou égal à n (où n + 1 est le nombre
de points d'interpolation), l'erreur d'interpolation est nulle.
Définition 4.1
Soit f une fonction numérique dénie sur un intervalle [a, b] contenant n + 1 points distincts
x0 , x1 , . . . , xn . Les diérences divisées de f aux points (xi ) sont dénit par récurrence comme
suit :
f [xi ] = f (xi ), pour i = 0, ..., n.
Pour i = 0, ..., n−1, on appellera première diérence divisée, notée f [xi , xi+1 ] (ou [f (xi ), f (xi+1 )])
le rapport
f [xi+1 ] − f [xi ] f (xi+1 ) − f (xi )
f [xi , xi+1 ] = = .
xi+1 − xi xi+1 − xi
Pour i = 0, ..., n − 2, on appellera deuxième diérence divisée, notée f [xi , xi+1 , xi+2 ] (ou
[f (xi ), f (xi+1 ), f (xi+2 )]) le rapport
Pour i = 0, ..., n − p, on appellera p−ième diérence divisée, notée f [xi , xi+1 , . . . , xi+p ] (ou
[f (xi ), f (xi+1 ) . . . , f (xi+p )])
Exemple
Avec x0 = −1, x1 = 0, x2 = 1, et f (x0 ) = 2, f (x1 ) = 1, f (x2 ) = 0, on obtient :
1−2 0−1
[f (−1), f (0)] = = −1, [f (0), f (1)] = = −1.
0 − (−1) 1−0
−1 − (−1)
[f (−1), f (0), f (1)] = = 0.
1 − (−1)
Remarque
On peut calculer les diérences divisées d'une manière plus organisée en se basant sur le schéma
suivant :
x f (x) 1ère diérence divisée 2ème diérence divisée n−ième diérence divisée
x0 f [x0 ]
x1 f [x1 ] f [x0 , x1 ]
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
.. .. .. ...
. . .
xn f [xn ] f [xn−1 , xn ] f [xn−2 , xn−1 , xn ] ... f [x0 , . . . , xn ]
Proposition 4.1
La j -ième diérence divisée f [x0 , x1 , . . . , xj ] est indépendante de l'ordre des points x0 , x1 , . . . , xj ,
et on a :
j
X f (xi )
f [x0 , . . . , xj ] = Qj .
i=0 k=0,k6=i (xi − xk )
Définition 4.2
Soient x0 , x1 , . . . , xn , n + 1 points distincts de [a, b]. Les polynômes Ni dénis pour i = 0, . . . , n
par :
N0 (x) = 1
j−1
(x − xi ) pour j = 1, . . . , n,
Y
Nj (x) =
k=0
Démonstration. Puisque card {N0 (x), N1 (x), . . . .Nn (x)} = dim Pn (x) = n+1, il sut de montrer
que {N0 (x), N1 (x), . . . .Nn (x)} est un système libre. Soient C0 , C1 , . . . ., Cn des constantes vériant :
C0 N0 (x) + C1 N1 (x) + . . . + Cn Nn (x) = 0.
Posons F (x) = C0 N0 (x) + C1 N1 (x) + . . . + Cn Nn (x) = 0. Comme les xi sont supposés deux à
deux distincts, on obtient :
F (x0 ) = C0 N0 (x0 ) = 0 ⇐⇒ C0 = 0
F (x1 ) = C1 N1 (x1 ) = C1 (x1 − x0 ) = 0 ⇐⇒ C1 = 0
.........
F (xn ) = Cn Nn (xn ) = Cn (xn − x0 ) (xn − x1 ) . . . (xn − xn−1 ) = 0 ⇐⇒ Cn = 0
La famille {N0 (x), N1 (x), . . . Nn (x)} est donc libre et par suite c'est une base de Pn .
Démonstration. Pn ∈ Pn et B = {N0 (x), N1 (x), . . . Nn (x)} est une base de Pn selon la pro-
position précédente, donc on peut écrire Pn (x) dans la base B . Plus précisément, en écrivant
Pn (x) = D0 N0 (x) + D1 N1 (x) + . . . + Dn Nn (x) pour x = xi et 0 ≤ i ≤ n, on obtient le système
triangulaire inférieur suivant :
Pn (x0 ) = D0 = f (x0 )
Pn (x1 ) = D0 + N1 (x1 ) D1 = f (x1 )
Pn (x2 ) = D0 + N1 (x2 ) D1 + N2 (x2 ) D2 = f (x2 )
.. ..
. .
Pn (xn ) = D0 + N1 (xn ) D1 + · · · + Nn (xn ) Dn = f (xn )
La résolution du système ci-dessus par la méthode de la descente permet de déduire les Di et par
suite la forme du polynôme d'interpolation de Newton.
Exemple
Calculons le polynôme d'interpolation de la fonction f (x) = x x2 − 1 relativement aux points
x0 = −1, x1 = 1 et x2 = 2.
On commence d'abord par dresser le tableau des diérences divisées :
xk f [xk ] f [xk , xk+1 ] f [x0 , x1 , x2 ]
-1 0
1 0 0
2 6 6 2
Figure 4.1 Interpolation de la fonction f utilisant des points équidistants sur [−1, 1]
En 1901, le mathématicien allemand Carl Runge a montré qu'en considérant la fonction f (x) =
1
, et en considérant des points d'interpolation équidistants, on obtient une mauvaise approxi-
1 + x2
mation de la fonction f surtout aux bords où l'erreur peut devenir extrêmement grande (voir gure
1
4.2 pour la fonction f (x) = ). De plus, l'erreur d'interpolation tend vers l'inni lorsque
1 + 25x2
le nombre de points augmente. Autrement dit, plus on utilise dans la construction du polynôme
d'interpolation Pn des points où on connaît la valeur exacte de f , moins bien sera l'approximation
qu'on va obtenir en dehors de ces points. On peut voir d'après la gure 4.3 que ce phénomène peut
être évité si nous choisissons comme points d'interpolation les abscisses de Chebychev. On note
cependant que le choix de ces points ne résout pas complètement le phénomène de Runge.
Figure 4.2 Interpolation de la fonction f utilisant des points équidistants sur [−1, 1]
Figure 4.3 Interpolation de la fonction f utilisant des points de Tchebychev sur [−1, 1]
h2 00
f (x + h) = f (x) + hf 0 (x) + f (ξ), ξ ∈ (x, x + h).
2
42
5.1. Dérivation numérique 43
f (x + h) − f (x) h 00
f 0 (x) = − f (ξ), ξ ∈ (x, x + h),
h 2
d'où, en éliminant le reste, on obtient de nouveau la formule :
f (x + h) − f (x)
f 0 (x) ' ,
h
appelé diérence décentrée avant d'ordre 1. La formule de diérence décentrée arrière est obtenue
en utilisant un développement de Taylor pour f (x − h). Plus précisément, on a :
f (x) − f (x − h)
f 0 (x) ' ,
h
Dans le cas de diérences centrées, on évalue la fonction f en x + h et en x − h :
h2 00 h3 000
f (x + h) = f (x) + hf 0 (x) + f (x) + f (ξ1 )
2 6
h2 h3 000
f (x − h) = f (x) − hf 0 (x) + f 00 (x) − f (ξ2 )
2 6
où ξ1 ∈ (x, x + h) et ξ2 ∈ (x − h, x). Par suite
f (x + h) − f (x − h) h2 000
f 0 (x) = f (ξ1 ) + f 000 (ξ2 ) ,
−
2h 12
ce qui veut dire que l'erreur de troncature est
h2 000
f (ξ1 ) + f 000 (ξ2 ) .
−
12
Si f 000 est une fonction continue sur [x − h, x + h], alors le théorème des valeurs intermédiaires assure
l'existence d'un point ξ ∈ (x − h, x + h) vériant
1 000
f 000 (ξ) = f (ξ1 ) + f 000 (ξ2 ) .
2
Il s'en suit que
f (x + h) − f (x − h) h2 000
f 0 (x) = − f (ξ),
2h 6
et on a alors
f (x + h) − f (x − h)
f 0 (x) ' .
2h
Pour obtenir les formules de la troisième et la quatrième dérivée, on prend une combinaison
linéaire des développement de Taylor, pour f (x + 2h), f (x+ h), f (x − h) et f (x − 2h).
Les formules suivantes sont toutes d'ordre 2 :
1
f 0 (xi ) ' [f (xi+1 ) − f (xi−1 )]
2h
1
f 00 (xi ) ' 2 [f (xi+1 ) − 2f (xi ) + f (xi−1 )]
h
1
f 000 (xi ) ' 3 [f (xi+2 ) − 2f (xi+1 ) + 2f (xi−1 ) − f (xi−2 )]
2h
(4) 1
f (xi ) ' 4 [f (xi+2 ) − 4f (xi+1 ) + 6f (xi ) − 4f (xi−1 ) + f (xi−2 )]
h
g̃h = g + c1 h + c2 h2 + c3 h3 + · · · (5.1)
On voit que l'on dispose d'une approximation de g d'ordre linéaire. Grâce à d'astucieuses combi-
naisons linéaires, nous allons être capable de créer une approximation de g plus précise que toutes
celles dont nous disposons jusque là et ce, sans calculer de nouvelles approximations g̃ .
Nous disposons donc, au départ, d'une série d'approximations de g qui convergent linéairement.
Voyons à présent comment nous pouvons obtenir une suite qui converge quadratiquement. Ecrivons
(5.1) pour deux pas consécutifs. Nous avons
g̃h = g + c1 h + c2 h2 + c3 h3 + · · · (5.2)
h h2 h3
+ c2 + c3 + · · ·
g̃ h = g + c1 (5.3)
2 2 4 8
Pour se débarrasser du terme en h, il sut d'eectuer − 12 (5.2)+(5.3). Après cette opération, nous
obtenons donc
1 1 1 3
g̃ h − g̃h = g − c2 h2 − c3 h3 + · · · (5.4)
2 2 2 4 8
d'où
−f (x + 2h) + 8f (x + h) − 8f (x − h) + f (x − 2h)
f 0 (x) ' .
12h
n−1 n−1
X b−aX
Rn = f (xi ) (xi+1 − xi ) = f (xi )
n
i=0 i=0
Exemple
En prenant n = 4 et en utilisant la méthode des rectangles à gauche, on a
Z 1
f (x)dx ≈ 0, 25 (f (0) + f (0, 25) + f (0, 5) + f (0, 75))
0
Z 1
Si f (x) = sin(x2 ), on obtient f (x)dx ≈ 0, 2108.
0
Figure 5.1
Remarque
On peut dénir similairement la méthode des rectangles à droite où
n−1
X
Rn = h f (xi+1 ) ,
i=0
Théorème 5.1
Si f est de classe C 1 sur [a, b], alors la méthode des rectangles converge et on a plus précisément :
b max[a,b] | f 0 (x) |
Z
Rn − f (t)dt ≤ (b − a)2
a 2n
n−1 n−1
!
X f (a) + f (b) X
Tn = h (f (xi ) + f (xi+1 )) /2 = h + f (xi ) .
2
i=0 i=1
Figure 5.2
Exemple
En prenant n = 4 et en utilisant la méthode des trapèzes, on a
Z 1
f (0) + f (1)
f (x)dx ≈ 0, 25 + f (0, 25) + f (0, 5) + f (0, 75)
0 2
Z 1
Si f (x) = sin(x2 ), on obtient f (x)dx ≈ 0, 3160.
0
Théorème 5.2
Si f est de classe C 2 sur [a, b], alors la méthode des trapèzes converge et on a plus précisément :
b max[a,b] | f 00 (x) |
Z
Tn − f (t)dt ≤ (b − a)3
a 12n2
Démonstration. La méthode des trapèzes consiste à approcher f sur le segment [xi , xi+1 ] par son
polynôme d'interpolation Pi de degré 1 ayant les mêmes valeurs que f aux bornes de l'intervalle.
D'après le théorème 4.2, comme f est de classe C 2 , on a
f 00 (θx )
∀x ∈ [xi , xi+1 ] , f (t) − Pi (t) = (xi+1 − t) (t − xi ) ,
2
avec θx ∈ [xi , xi+1 ]. Donc
xi+1 xi+1
|f 00 (θx )|
Z Z
| (f (t) − Pi (t)) dt ≤ (xi1 − t) (t − xi ) dt
xi xi 2
max[a,b] | f 00 (x) |
Z xi+1
≤ (xi+1 − t) (t − xi ) dt
xi 2
max[a,b] | f 00 (x) |
Z xi+1 Z xi+1
= (xi+1 − t) (t − xi+1 ) dt + (xi+1 − t) (xi+1 − xi ) dt
xi xi 2
| f 00 (x) | max[a,b] | f 00 (x) | h3
≤ (xi+1 − xi )3 ≤ .
12 12
Par suite, on peut conclure de la façon suivante
Z b n−1
X Z xi+1
Tn − f (t)dt = (Pi (t) − f (t)) dt
a i=0 xi
n−1
X Z xi+1
≤ |Pi (t) − f (t)| dt
i=0 xi
n−1
X | f 00 (x) | h3 max[a,b] | f 00 (x) | h3 00
3 max[a,b] | f (x) |
≤ =n = (b − a)
12 12 12n2
i=0
et au milieu ξi de ce segment (voire gure 5.3). La fonction f sera donc approchée sur le segment
[xi , xi+1 ] par son polynôme d'interpolation Pi de Lagrange de degré 2 ayant les mêmes valeurs que
Z b
f aux bornes de l'intervalle et en son milieu. La valeur approchée de f (x)dx par la méthode de
a
Simpson notée par Sn est alors donnée par
n−1
b−aX
Sn = (f (xi ) + f (xi+1 ) + 4f (ξi ))
6n
i=0
n−1 n−1
!
b−a X X
= f (a) + f (b) + 2 f (xi ) + 4 f (ξi ) ,
6n
i=1 i=0
Figure 5.3
Exemple
En prenant n = 4 et en utilisant la méthode de Simpson, on a
Z 1
f (x)dx ≈ 0, 25/6 (f (0) + f (1) + 2 (f (0, 25) + f (0, 5) + f (0, 75))
0
Théorème 5.3
Si f est de classe C 3 sur [a, b], alors la méthode de Simpson converge et on a plus précisément :
b max[a,b] | f (3) (x) |
Z
Sn − f (t)dt ≤ (b − a)4
a 192n3
pour tout entier naturel n non nul. Si f est de classe C 4 sur [a, b], un résultat où la convergence
est plus rapide peut être obtenu :