Vous êtes sur la page 1sur 156

TABLE DES MATIÈRES

1 Introduction à L'analyse Numérique 5


1.1 Erreurs de modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1.1 Représentation des nombres sur ordinateur . . . . . . . . . . . . . . . . . . . 9

1.1.2 Représentation des entiers signés . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.1.3 Représentation des nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2 Arithmétique ottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.1 Opérations risquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.2 Évaluation des polynômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.3 Erreurs de troncature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.3.1 Développement de Taylor en une variable . . . . . . . . . . . . . . . . . . . . 19

1.3.2 Développement de Taylor en plusieurs variables . . . . . . . . . . . . . . . . . 21

1.3.3 Propagation d'erreurs dans le cas général . . . . . . . . . . . . . . . . . . . . . 23

2 Résolution des équations non linéaires 26


2.1 Localisation et séparation des racines . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.1 Théorème de Rolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.2 Théorème des valeurs intermédiaires . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.3 Localisation des racines d'un polynôme réel . . . . . . . . . . . . . . . . . . . 28

2.2 Méthodes de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.1 Méthode de dichotomie(bissection) . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.2 Méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.2.3 Méthode de point xe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.2.4 Méthode de newton Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1
3 Résolution Des systèmes Linéaire 46
3.1 Un peu de Calcul Matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.1.1 Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.2 Méthode Directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.2.1 Système associée à une matrice triangulaire . . . . . . . . . . . . . . . . . . . 49

3.2.2 Méthode d'élimination de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.3 Factorisation LU (Crout.Doolittle) . . . . . . . . . . . . . . . . . . . . . . . . 51

3.2.4 Décomposition LU et permutation de lignes . . . . . . . . . . . . . . . . . . . 52

3.2.5 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.2.6 Eets de l'arithmétique ottante . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.3 Vocabulaire d'algèbre numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.4 Méthodes itératives pour les systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . 61

3.4.1 Résultats généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.4.2 Choix d'un test d'arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.4.3 Exemples des méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.4.4 CONVERGENCE DES MÉTHODES ITÉRATIVES . . . . . . . . . . . . . . 65

4 Interpolation et approximation polynomiale 72


4.1 Interpolation Polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.1.1 Matrice de Vandermonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.1.2 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.1.3 Interpolation de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.1.4 Limites de l'interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . 80

4.1.5 polynôme de Tchebychev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.1.6 Interpolation de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.1.7 Fonction Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.2 Approximation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.2.1 Polynômes orthogonaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.2.2 Méthode classique des moindres carrés . . . . . . . . . . . . . . . . . . . . . . 92

4.2.3 Transformée de Fourier discrète . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5 Dérivation et intégration numériques 107


5.1 Intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5.1.1 Formules de Newton-Cotes simples et composées . . . . . . . . . . . . . . . . . 107

5.1.2 Quadratures de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5.2 Dérivation Numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.2.1 dérivé première . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5.2.2 Dérivées d'ordre supérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2
LETTRES GRECQUES

α alpha | σ sigme
β beta | ς variante − sigma
γ gamma | τ tau
δ delta | υ upsilon
 epsilon | φ phi
ε epsilon | ϕ phi
ζ zeta | χ chi
η eta | ψ psi
θ theta | ω omega
ϑ variante − theta | Γ gamma
ι iota | ∆ delta
κ kappa | Θ theta
λ lambda | Λ lambda
µ mu | Ξ xi
ν nu | Π pi
ξ xi | Σ sigma
π pi | Υ upsilon
$ variante − pi | Φ phi
ρ rho | Ψ P si
% variante − rho | Ω omega

3
CHAPITRE

INTRODUCTION À L'ANALYSE NUMÉRIQUE

Les cours traditionnels de mathématiques nous familiarisent avec des théories et des méthodes qui
permettent de résoudre de façon analytique un certain nombre de problèmes. C'est le cas notamment
des techniques d'intégration et de résolution d'équations algébriques ou diérentielles. Bien qu'on
puisse proposer plusieurs méthodes pour résoudre un problème donné, celles-ci conduisent à un même
résultat, précis et unique. C'est ici que l'analyse numérique se distingue des autres champs plus
classiques des mathématiques. En eet, pour un problème donné, il est possible d'utiliser plusieurs
techniques de résolution qui résultent en diérents algorithmes. Ces algorithmes dépendent de certains
paramètres qui inuent sur la précision du résultat. De plus, on utilise en cours de calcul des approximations
plus ou moins précises. Par exemple, on peut remplacer une dérivée par une diérence nie de façon
à transformer une équation diérentielle en une équation algébrique. Le résultat nal et son degré de
précision dépendent des choix que l'on fait. Une partie importante de l'analyse numérique consiste
donc à contenir les eets des erreurs ainsi introduites, qui proviennent de trois sources principales :
• les erreurs de modélisation ;
• les erreurs de représentation sur ordinateur ;
• les erreurs de troncature.
Les erreurs de modélisation, comme leur nom l'indique, proviennent de l'étape de mathématisation
du phénomène physique auquel on s'intéresse. Cette étape consiste à faire ressortir les causes les plus
déterminantes du phénomène observé et à les mettre sous forme d'équations (diérentielles le plus
souvent). Si le phénomène observé est très complexe, il faut simplier et négliger ses composantes
qui paraissent moins importantes ou qui rendent la résolution numérique trop dicile. C'est ce que
l'on appelle les erreurs de modélisation. La seconde catégorie d'erreurs est liée à l'utilisation de
l'ordinateur. En eet, la représentation sur ordinateur (généralement binaire) des nombres introduit
souvent des erreurs. Même inmes au départ, ces erreurs peuvent s'accumuler lorsqu'on eectue
un très grand nombre d'opérations. Par exemple, la fraction 1/3 n'a pas de représentation binaire
exacte, car elle ne possède pas de représentation décimale nie. Ces erreurs se propagent au l des
calculs et peuvent compromettre la précision des résultats. Enn, les erreurs de troncature proviennent
principalement de l'utilisation du développement de Taylor, qui permet par exemple de remplacer une

4
équation diérentielle par une équation algébrique. Le développement de Taylor est le principal outil
mathématique du numéricien. Il est donc primordial d'en maîtriser l'énoncé et ses conséquences. Ce
chapitre traite donc principalement d'erreurs numériques, et non des inévitables erreurs de programmation
qui font, hélas, partie du quotidien du numéricien. Il devrait permettre au lecteur de mieux gérer les
erreurs au sein des processus numériques an d'être en mesure de mieux interpréter les résultats. Tout
d'abord, un peu de terminologie est nécessaire pour éventuellement quantier les erreurs.

Dénition 1.0.1 Soit x, un nombre,et x∗ une approximation de ce nombre.L'erreur absolue est


dénie par :
∆x = |x − x∗ | (1.1)

Dénition 1.0.2 Soit x, un nombre, et x∗ , une approximation de ce nombre. L'erreur relative est
dénie par :
|x − x∗ | |∆x|
Er (x) = = (1.2)
|x| x
De plus, en multipliant par 100, on obtient l'erreur relative en pourcentage.

En pratique, il est dicile d'évaluer les erreurs absolue et relative, car on ne connaît généralement

pas la valeur exacte de x et on n'a que x . Dans le cas de quantités mesurées dont on ne connaît que
la valeur approximative, il est impossible de calculer l'erreur absolue ; on dispose en revanche d'une
borne supérieure pour cette erreur qui dépend de la précision des instruments de mesure utilisés. Cette
borne est quand même appelée erreur absolue, alors qu'en fait on a :

|x − x∗ | ≤ ∆x

ce qui peut également s'écrire :


x∗ − ∆x ≤ x ≤ x∗ + ∆x (1.3)

et que l'on note parfois x = x∗ ± ∆x. On peut interpréter ce résultat en disant que l'on a estimé la

valeur exacte x à partir de x avec une incertitude de ∆x de part et d'autre. L'erreur absolue donne
une mesure quantitative de l'erreur commise et l'erreur relative en mesure l'importance. Par exemple,
si on fait usage d'un chronomètre dont la précision est de l'ordre du dixième de seconde, l'erreur
absolue est bornée par 0.1 s. Mais est-ce une erreur importante ? Dans le contexte d'un marathon
d'une durée de 2h20min, l'erreur relative liée au chronométrage est très faible :
0.1
= 0.0000119
2 × 60 × 60 + 20 × 60
et ne devrait pas avoir de conséquence sur le classement des coureurs. Par contre, s'il s'agit d'une
course de 100 m d'une durée d'environ 10 s, l'erreur relative est beaucoup plus importante :

0.1
= 0.01
10.0
soit 1% du temps de course. Avec une telle erreur, on ne pourra vraisemblablement pas faire la
diérence entre le premier et le dernier coureur. Cela nous amène à parler de précision et de chires
signicatifs au sens de la dénition suivante.

Dénition 1.0.3 Si l'erreur absolue vérie ∆x ≤ 0.5 × 10m


alors le chire correspondant à la me puissance de 10 est dit signicatif et tous ceux à sa gauche
(correspondant aux puissances de 10 supérieures à m) le sont aussi.

5
Exemple 1.0.1 On obtient une approximation de π (x = π) au moyen de la quantité 22 7
(x∗ = 227
=
3, 142857 · · · ) On en conclut que : ∆x = |π − 7 | = 0.00126 Puisque l'erreur absolue est plus petite
22

que 0.5 × 10−2 , le chire des centièmes est signicatif et on a en tout 3 chires signicatifs (3, 14).

Exemple 1.0.2 Si on retient 3, 1416 comme approximation de π , on a :

∆x = |π − 3.1416| ' 0.73 × 10−5

et l'erreur absolue est inférieure à 0.5 × 10−4 . Le chire 6 correspondant à cette puissance de 10 est
signicatif au sens de la dénition, ainsi que tous les chires situés à sa gauche. Il est à remarquer
que le chire 6 dans 3,1416 est signicatif même si la quatrième décimale de π est un 5 (3, 14159).
L'approximation 3,1416 possède donc 5 chires signicatifs.

Remarque 1.0.1 Inversement, si un nombre est donné avec n chires signicatifs, cela signie que
l'erreur absolue est inférieure à 0, 5 fois la puissance de 10 correspondant au dernier chire signicatif.

Exemple 1.0.3 On a mesuré le poids d'une personne et trouvé 90, 567kg . On vous assure que l'appareil
utilisé est susamment précis pour que tous les chires fournis soient signicatifs. D'après la dénition,
puisque le dernier chire signicatif correspond aux millièmes (milligrammes), cela signie que :

∆x ≤ 0.5 × 10−3 kg

En pratique, on conclut que : ∆x = 0.5 × 10−3 kg

1.1 Erreurs de modélisation


La première étape de la résolution d'un problème, et peut-être la plus délicate, consiste à modéliser
le phénomène observé. Il s'agit en gros d'identier tous les facteurs internes et externes qui inuent
(ou que l'on soupçonne d'inuer) sur les résultats. Dans le cas d'un phénomène physique, on fait
l'inventaire des forces en présence : gravitationnelle, de friction, électrique, etc. On a par la suite
recours aux lois de conservation de la masse, de l'énergie, de la quantité de mouvement et à d'autres
principes mathématiques pour traduire l'inuence de ces diérents facteurs sous forme d'équations. Le
plus souvent, on obtient des équations diérentielles ou aux dérivées partielles. L'eort de modélisation
produit en général des systèmes d'équations complexes qui comprennent un grand nombre de variables
inconnues. Pour réussir aies résoudre, il faut simplier certaines composantes et négliger les moins
importantes. On fait alors une première erreur de modélisation.

De plus, même bien décomposé, un phénomène physique peut être dicile à mettre sous forme
d'équations. On introduit alors un modèle qui décrit au mieux son inuence, mais qui demeure une
approximation de la réalité. On commet alors une deuxième erreur de modélisation. illustrons cette
démarche à l'aide d'un exemple.

Exemple 1.1.1 Le problème du pendule est connu depuis très longtemps . Une masse m est suspendue
à une corde de longueur l. Au temps t = 0, on suppose que l'angle θ(0) entre la corde et la verticale
est θ0 et que sa vitesse angulaire θ0 (0) est θ00 . Les forces en présence sont la gravité agissant sur
la masse et la corde, d'une part, et la friction de l'air agissant sur tout le système, d'autre part.
Suivant la deuxième loi de Newton, la force due à l'accélération tangentielle mlθ00 (t) est équilibrée par
la composante tangentielle de l'accélération gravitationnelle mgsin(θ(t)) et par la force de friction Ff
qui s'oppose au mouvement. On a alors :

mlθ00 (t) = −mgsin(θ(t)) − Ff

6
Pour connaître comment se comporte la force de friction Ff en fonction de θ(t), il faut recourir
à des mesures expérimentales, qui démontrent que la friction est à peu près proportionnelle à la
vitesse lθ(t) avec un coecient de proportionnalité cf . Il est important de remarquer que cette loi
est approximative et que le coecient cf est obtenu avec une précision limitée. Tout cela entraîne des
erreurs de modélisation.
On obtient une équation diérentielle du second ordre :

cf θ0 (t) gsin(θ(t)
θ00 (t) = − − (1.4)
m l
θ(0) = θ0 (1.5)

θ0 (0) = θ00 (1.6)

L'équation diérentielle 1.4 est non linéaire et on démontre qu'elle ne possède pas de solution analytique
simple. Une brève analyse montre qu'il est raisonnable de négliger la friction de l'air, car les vitesses
de mouvement sont faibles. Il s'agit encore d'une erreur de modélisation, qui paraît acceptable à cette
étape de l'analyse. Si les résultats s'avèrent insatisfaisants, il faudra revenir en arrière et identier,
parmi les forces négligées, celle qui était la plus importante. Une analyse a dimensionnelle est souvent
nécessaire pour y arriver. Même en négligeant la friction, ce qui revient à poser cf = 0, l'équation
résultante ne possède toujours pas de solution simple. En eet, sa résolution fait intervenir les intégrales
elliptiques qui ne peuvent s'exprimer en fonctions élémentaires. Puisque tel est le but, on doit encore
simplier le problème. On peut par exemple supposer que les angles sont petits et que :

sin(θ(t)) ≈ θ(t)

Il en résulte le problème simplié suivant :

gθ(t)
θ00 (t) = − (1.7)
l
θ(0) = θ0 (1.8)

θ0 (0) = θ00 (1.9)

L'équation 1.7 possède la solution périodique classique :

θ(t) = A cos(ωt) + B sin(ωt) (1.10)

où ω 2 = g/l et les constantes A et B sont déterminées par les conditions initiales (A = θ0 , B = θ00 /ω)

7
La gure permet la comparaison entre les solutions des équations diérentielles 1.4 et 1.7 dans le cas
0
où θ0 = 0, 1 et θ0 = 0. L'équation 1.10 est la solution analytique de l'équation diérentielle 1.7, alors
que l'équation diérentielle 1.4 ne possède qu'une solution numérique . On remarque immédiatement
que la solution numérique (où la friction n'est pas négligée) prévoit l'amortissement du mouvement
avec le temps, tandis que la solution analytique reste parfaitement périodique. La solution numérique
est de toute évidence plus près de ce que l'on observe pour un pendule.

1.1.1 Représentation des nombres sur ordinateur


Un ordinateur ne peut traiter les nombres de la même manière que l'être humain. Il doit d'abord
les représenter dans un système qui permette l'exécution ecace des diverses opérations. Cela peut
entraîner des erreurs de représentation sur ordinateur, qui sont inévitables et dont il est souhaitable de
comprendre l'origine an de mieux en maîtriser les eets. Cette section présente les principaux éléments
d'un modèle de représentation des nombres sur ordinateur. Ce modèle s'avère utile pour comprendre
le fonctionnement type des ordinateurs ; il ne peut bien entendu tenir compte des caractéristiques
sans cesse changeantes des ordinateurs modernes. La structure interne de la plupart des ordinateurs
s'appuie sur le système binaire. L'unité d'information ou bit prend la valeur 0 ou 1. Évidemment, très
peu d'information peut être accumulée au moyen d'un seul bit. On regroupe alors les bits en mots de
longueur variable (les longueurs de 8, de 16, de 32 ou de 64 bits sont les plus courantes). Les nombres,
entiers et réels, sont représentés de cette manière, bien que leur mode précis de représentation dépende
du fabricant.

1.1.2 Représentation des entiers signés


Nous traitons de trois formes parmi les plus courantes de représentation des entiers sur ordinateur.
Plusieurs autres variantes existent, et il importe de connaître celle qui est utilisée par l'ordinateur

8
an de pouvoir s'y retrouver. Pour transformer un entier positif N dans sa représentation binaire
habituelle, il faut déterminer les ai ; tels que :

(N )10 = (an−1 an−2 an−3 · · · a2 a1 a0 )2

ou encore

N = an−1 × 2n−1 + an−2 × 2n−2 + an−3 × 2n−3 + · · · + a2 × 21 + a1 × 20 + a0

Exemple 1.1.2 l'entier décimal 1000 s'écrit 1111101000 en base 2.

Voyons maintenant quelques variantes de représentation binaire des entiers signés : la représentation
signe et grandeur, la représentation en complément à 2 et la représentation par excès. Ces variantes
présentent toutes un certain nombre d'avantages et d'inconvénients au regard de l'exécution des
opérations arithmétiques élémentaires.

Représentation signe et grandeur


Pour illustrer la représentation signe et grandeur, il sut de prendre un exemple. Considérons un mot
de 16 bits . Dans cette représentation, un bit (le premier) est consacré au signe :

0 pour un entier positif


1 pour un entier négatif

Les autres bits peuvent alors servir à la représentation de l'entier lui-même. Ainsi :

0101 1100 1010 0100 = (0 × 215 + 1 × 214 + 0 × 213 + 1 × 212 + · · · + 1 × 22 + 0 × 21 + 0 × 20 )

est la représentation binaire du nombre décimal 23716. Le premier bit (0) indique un entier positif.
Le plus grand entier représentable dans ce cas est bien sûr 0111111111111111 qui représente 32767,
15
c'est-à-dire 2 − 1 en base 10. Il est à remarquer que le nombre 0 peut être représenté de deux façons,
à savoir :

+0 = 0000 0000 0000 0000


-0 = 1000 0000 0000 0000

Un mot de 16 bits permet d'exprimer tous les entiers compris entre ¯32767 et +32767. Si un calcul sur
des nombres entiers résulte en un entier supérieur à 32767, le compilateur enverra un message d'erreur
indiquant un débordement (Overow).

Représentation en complément à 2
La représentation en complément à 2 est très fréquemment utilisée. Si on dispose de n bits pour
exprimer l'entier N, on pose :

N = −an−1 × 2n−1 + an−2 × 2n−2 + an−3 × 2n−3 + · · · a2 × 22 + a1 × 21 + a0 × 20


Il faut remarquer le signe négatif devant le terme an−1 On constate facilement que tous les entiers
positifs vérient : an−1 = 0 Les entiers positifs sont donc représentés par 0 suivi de leur expression
binaire habituelle en (n − 1) bits. Pour
obtenir la représentation d'un nombre négatif, il sut de lui
n−1
ajouter 2 et de transformer le résultat en forme binaire.

9
Exemple 1.1.3 La représentation sur 4 bits de 0101 vaut :

−0 × 23 + 1 × 22 + 0 × 21 + +1 × 20

soit 5 en forme décimale. Par contre, 1101 vaut :

−1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

c'est-à-dire −8+5 = −3. Inversement, la représentation binaire de −6 sera 1 suivi de la représentation


sur 3 bits de : −6 + 23 = 2 qui est 010. On aura donc (−6)10 = (1010)2 dans la représentation en
complément à 2.

Représentation par excès


Illustrons la représentation par excès en prenant pour exemple un mot de 4 bits (n = 4). On peut
4 n
alors représenter au plus 2 (2 dans le cas général) entiers diérents, y compris les entiers négatifs.
Si on veut exprimer un entier décimal N, il sut de lui ajouter un excès d et de donner le résultat
sous forme binaire. Inversement, si on a la représentation binaire par excès d'un entier, il sut de
calculer sa valeur en base 10 et de soustraire d pour obtenir l'entier recherché. La représentation par
excès a l'avantage d'ordonner la représentation binaire en assignant à 0000 le plus petit entier décimal
n−1 3
représentable, à savoir −d. En général, la valeur de d est 2 (2 sur 4 bits). Ainsi, avec 4 bits et
d = 23 , on obtient :
Forme binaire Forme Décimal
0000 -8
0001 -7
. .
. .
. .
1110 +6
1111 +7

Exemple 1.1.4 Soit un mot de 8 bits et un excès d = 27 = 128. Pour représenter (−100)10 , il sut
de lui ajouter 128, ce qui donne 28, et d'exprimer le résultat sur 8 bits, soit 00011100.
Remarque 1.1.1 Il existe d'autres représentations des entiers signés, comme la
représentation en complément à 1. Notre but n'étant pas d'en donner une liste exhaustive, nous nous
limitons à celles qui ont déjà été présentées.

1.1.3 Représentation des nombres réels


La tâche de représentation est plus complexe dans le cas des nombres réels. En eet, dans le système
l
décimal, nous avons l'habitude de représenter un nombre x sous la forme : x = m × 10 où m est la
mantisse, l est l'exposant et 10 est la base. De façon générale, selon une base b quelconque, on peut
écrire :
x = m × bl
La forme générale de la mantisse est la suivante : m = 0.d1 d2 d3 · · · dn
−1
ce qui signie que : m = d1 × b + d2 × b−2 + d3 × b−3 + · · · + dn × b−n + où n est le nombre de chires
de la mantisse. Les di vérient :
1 ≤ d1 ≤ (b − 1) (1.11)

0 ≤ di ≤ (b − 1) pour i = 2, 3, · · · , n (1.12)

10
La première inégalité signie que la mantisse est normalisée, c'est-à-dire que son premier chire est
toujours diérent de 0. La normalisation permet d'assurer l'unicité de la représentation et d'éviter
2 3
les ambiguïtés entre : 0.1020 × 10 et 0.0102 × 10 pour représenter 10.2. La dernière expression n'est
jamais retenue. Dans cet exemple, on a utilisé la base b = 10 et n = 4 chires dans la mantisse. Ainsi,
1
la mantisse satisfait toujours :
b
≤ m < 1 car la plus petite mantisse possible est 0.1000, qui vaut 1/b.
Ces considérations servent de lignes directrices pour la représentation d'un nombre réel sur ordinateur.
Dans le cas qui nous intéresse, la base sera généralement 2 (b = 2). Il faut donc trouver un moyen de
représenter la mantisse (une fraction), l'exposant (un entier signé) et le signe de ce nombre.

Considérons à titre d'exemple un mot de 8 bits tel que l'illustre la gure suivante. Il est entendu
qu'en pratique les mots sont beaucoup plus grands. Le premier bit donne le signe du nombre. Il reste
donc 7 bits pour représenter la mantisse et l'exposant. On retient 3 bits pour l'exposant et les 4 bits
suivants pour la mantisse. Il est à noter que cette dernière est normalisée et que son premier bit est
toujours 1. Il faut ensuite déterminer quelle est la représentation utilisée pour l'exposant. Par exemple,
si l'exposant est exprimé suivant la représentation signe et grandeur, alors 01011011 se décompose de
la façon suivante :

1 0
Ce nombre est donc positif. L'exposant est négatif et vaut : −(0 × 2 + 1 × 2 ) = 1 et la mantisse est :
1×2−1 +0×2−2 +1×2−3 +1×2−4 = 0.6875 Ainsi, 01011011 représente le nombre décimal :0, 6875×2−1 =
0.34375 Par contre, si l'exposant est exprimé suivant la représentation en complément à 2, la valeur
binaire 101 qui représente l'exposant signie alors −3 et (01011011)2 vaut 0, 0859375 en base 10.

Conversion d'une fraction décimale en valeur binaire


La méthode de conversion d'une fraction décimale en valeur binaire est similaire à celle que l'on utilise
dans le cas des entiers. Soit f , une fraction décimale comprise entre 0 et 1. Il faut donc trouver les di ;

11
tels que : f10 = (0.d1 d2 d3 · · · )2
−1
ou encore : f = d1 × 2 + d2 × 2−2 + d3 × 2−3 + · · ·

Si on multiplie f par 2, on obtient d1 plus une fraction. En appliquant le même raisonnement à


(2f − d1 ), on obtient d2 . On poursuit ainsi jusqu'à ce que la partie fractionnaire soit nulle ou que l'on
ait atteint le nombre maximal de chires de la mantisse.

Exemple 1.1.5 Si f = 0, 0625, on a :

0, 0625 × 2 = 0, 1250 c-à-d d1 =0


0, 1250 × 2 = 0, 2500 c-à-d d2 =0
0, 2500 × 2 = 0, 5000 c-à-d d3 =0
0, 5000 × 2 = 1, 0000 c-à-d d4 =1

ce qui signie que (0.0625)10 = (0, 0001)2

Exemple 1.1.6 Si f = 31 , on a :
1
3
×2=0+ 2
3
c-à-d d1 = 0
2
3
×2=0+ 1
3
c-à-d d2 = 1
1
3
×2=0+ 2
3
c-à-d d3 = 0
.. .. ..
. . .

1
On peut poursuivre la conversion à l'inni et démontrer que :
3
= (0, 010101 − −−)2 En pratique,
puisqu'on n'utilise qu'un nombre ni de chires dans la mantisse, il faudra s'arrêter après n bits.

Norme IEEE
L'institute for Electrical and Electronic Engineers (IEEE) s'eorce de rendre aussi uniformes que
possible les représentations sur ordinateur. Il propose une représentation des nombres réels en simple
précision sur 32 bits et en double précision sur 64 bits (convention IEEE-754). Les représentations en
simple et double précision sont construites comme suit. Le premier bit témoigne du signe du nombre,
8−1
les 8 bits suivants (11 en double précision) déterminent l'exposant avec un excès de 127 ou 2 −1
11−1
(1023 ou 2 − 1 en double précision) et les 23 derniers bits (52 en double précision) sont pour la
mantisse normalisée. Puisque l'on normalise la mantisse, le premier bit est toujours 1 et il n'est pas
nécessaire de le garder en mémoire. La mantisse normalisée peut donc commencer par un 0 tout en
conservant la même précision qu'avec 24 bits (53 en double précision). Ainsi, suivant la notation de
Cheney et Kincaid , les 32 bits de la représentation en simple précision IEEE :d1 d2 d3 · · · d31 d32 )2
désignent le nombre décimal :

(−1)d1 × 2(d2 d3 ···d9 )2 × 2−127 × (1, d10 d11 · · · d32 )2

On remarque immédiatement les diérentes composantes : le bit de signe, l'exposant avec un excès de
127 et la mantisse normalisée par l'ajout du 1 manquant.

Exemple 1.1.7 Les 32 bits suivants (en simple précision IEEE) :


1 1000 0011 1100 0000 0000 0000 0000 000 se décomposent en :

(−1)1 × 2(10000011)2 × 2−127 × (1.11)2 = −2131 × 2−127 × (1 + 2−1 + 2−2 ) = −16 × 1, 75 = −28

12
Exemple 1.1.8 On obtient la représentation du nombre décimal (30, 0625)10 en simple précision
au moyen de l'opération inverse. Tout d'abord, la partie entière (30)10 devient (11110)2 en forme
binaire et la partie fractionnaire (0, 0625)10 est tout simplement (0, 0001)2 Ainsi, on a : (30, 0625)10 =
(11110, 0001)2 = 1.11100001 × 24 Dans la dernière expression, la mantisse est normalisée et le bit 1
à la gauche de la virgule n'est pas conservé en mémoire. L'exposant 4 est décalé de 127 pour devenir
131. La représentation de 131 sur 8 bits est (10000011)2 Puisque le nombre (30.0625)10 est positif, sa
représentation en simple précision IEEE sera :01000001111100001000000000000000

Erreurs dues à la représentation


Le fait d'utiliser un nombre limité de bits pour représenter un nombre réel a des conséquences
importantes sur la propagation des erreurs. On peut par exemple rechercher quel est le plus petit
nombre positif représentable sur 8 bits .En choisissant la représentation signe et grandeur pour
l'exposant, on constate que le nombre doit être positif (0), que son exposant doit être négatif (1),
que sa valeur doit être la plus petite possible compte tenu du signe (11) et, enn, que la mantisse doit
être la plus petite possible compte tenu de la normalisation (1000). On obtient :

0 111 1000 = (1 × 2−1 ) × 2−3


qui vaut 0, 0625. Conséquemment, on ne peut pas représenter tout nombre réel positif plus petit que
0, 0625 dans ce système à 8 bits. Un calcul résultant en un nombre plus petit que 0, 0625 donnerait
lieu à un sous-dépassement ( underow). On peut se demander quel serait le nombre suivant. Il
s'agit bien sûr de 01111001, dont la valeur décimale est 0.0703125. Il n'est donc pas possible de
représenter exactement sur 8 bits les nombres entre 0, 0625 et 0, 0703125. Si on cherche par exemple
à représenter le nombre réel 0, 07, l'ordinateur choisira soit 01111000 (c'est-à-dire (0, 0625)10 ), soit
01111001 (c'est-à-dire (0, 0703125)10 )- Le choix dépend de l'utilisation de la troncature (chopping),
qui consiste à choisir systématiquement la borne inférieure, ou de l'arrondi (rounding), qui consiste
à choisir la borne inférieure seulement si le nombre que l'on souhaite représenter est plus petit que :
0.0625 + 0.0703125
2
Par ailleurs, le plus grand nombre représentable sur 8 bits est 0011 1111, qui vaut 7.5. Tout calcul
résultant en un nombre plus grand que 7,5 donnerait lieu à un débordement. Cet exemple sur 8 bits
exagère grandement les eets de la représentation des nombres réels sur ordinateur. Personne ne songe
à faire des calculs numériques avec seulement 8 bits. Si on travaille avec plus de bits, le plus petit
nombre représentable devient de plus en plus petit et l'écart entre les nombres représentables diminue
également. Les conclusions qui suivent restent cependant vraies.
• Quel que soit le nombre de bits utilisés, il existe un plus petit et un plus grand nombre positifs
représentables (de même pour les nombres négatifs). Il existe donc un intervalle ni à l'extérieur
duquel on se heurte inévitablement à un débordement ou à un sous-dépassement.
• À l'intérieur de cet intervalle ni, seulement un nombre ni de nombres sont représentables
exactement, et on doit recourir à la troncature ou à l'arrondi pour représenter les autres réels.
La représentation en point ottant induit une erreur relative qui dépend du nombre de bits de
la mantisse, de l'utilisation de la troncature ou de l'arrondi ainsi que du nombre x que l'on veut
représenter. En eet, nous avons vu l'importance sur la précision du nombre de bits de la mantisse
et nous avons également constaté qu'un nombre ni seulement de réels peuvent être représentés
exactement. L'intervalle entre les nombres représentables varie en longueur selon l'exposant devant la
mantisse.

Dénition 1.1.1 La précision machine  est la plus grande erreur relative que l'on puisse commettre
en représentant un nombre réel sur ordinateur en utilisant la troncature.

13
Théorème 1.1.1 La précision machine vérie :

 ≤ b1−n (1.13)

où b est la base utilisée et n le nombre de bits de la mantisse.

Exemple 1.1.9 Suivant la norme IEEE, la mantisse d'un réel contient 23 bits en simple précision
(52 bits en double précision), mais avec une précision de 24 bits (53 en double précision) puisque,
après la normalisation, le premier 1 n'est pas gardé en mémoire. La précision machine vaut alors :

21−24 = 0, 119 × 10−6


en simple précision et
21−53 = 0, 222 × 10−15
en double précision

Ce résultat peut être vérié directement sur ordinateur au moyen de l'algorithme qui suit

Algorithme : Précision machine


1. =1

2. Lorsque 1+>1 eectuer = 2
else =×2
3. Précision machine est 

Exemple 1.1.10 Le problème consiste à sommer 10000 fois le nombre (1, 0)10 , qui possède un développement
binaire ni, et le nombre (0, 1)10 , qui n'a pas de représentation exacte sur un nombre ni de bits. On
obtient, sur un IBM RISC 6000, les résultats suivants :
10000, 00000 et 999, 9028931 en simple précision
et : 10000, 0000000000000 et 1000, 00001490116119 en double précision

Cela démontre l'eet des erreurs de représentation sur ordinateur. Des opérations en apparence
identiques donnent, dans un cas, un résultat exact et, dans l'autre, un résultat erroné dont la précision
augmente avec le nombre de bits de la mantisse.

1.2 Arithmétique ottante


Les erreurs ont tendance à se propager et quelques fois à s'amplier au l des calculs. Dans cette
section, nous suivons l'évolution des erreurs au l des opérations élémentaires. An de simplier
l'exposé, nous utilisons le système décimal, mais les eets décrits valent également pour les autres
bases. Tout nombre réel x s'écrit sous la forme :

x = 0.d1 d2 d3 · · · , dn−1 dn dn+1 · · · × 10l

Exemple 1.2.1 Soit x,tante à un nombre réel. On note f l(x) sa représentation en notation ottante
n chires dénie par :
f l(x) = 0.d1 d2 d3 · · · dn × 10l

14
Remarque 1.2.1 La notation ottante d'un nombre dépend du nombre n de chires dans la mantisse,
mais aussi du procédé retenu pour éliminer les derniers chires. Ainsi, la troncature consiste à
retrancher les chires à partir de la position n + 1. Avec l'arrondi, on ajoute 5 au (n + 1)e chire de
la mantisse avant d'eectuer la troncature. La troncature est dite biaisée, car on a toujours, pour des
nombres positifs, f l(x) ≤ x. Par contre, l'arrondi est non biaisé, car on a tour à tour x ≤ f l(x) ou
x ≥ f l(x). Nous utilisons l'arrondi dans les exemples qui suivent.

Remarque 1.2.2 La norme IEEE recommande l'utilisation de l'arrondi dans la


représentation binaire des nombres réels.

Exemple 1.2.2 Si on choisit n = 4, alors on a :

f l(1/3) = 0.3333 × 100


f l(π) = 0, 3142 × 101
f l(12.4551) = 0, 1246 × 102

Opérations élémentaires
Les opérations élémentaires sont l'addition, la soustraction, la multiplication et la division. Soit x et
y, deux nombres réels. On eectue ces opérations en arithmétique ottante de la façon suivante :

x+y → f l(f l(x) + f l(y))


x−y → f l(f l(x) − f l(y))
x÷y → f l(f l(x) ÷ f l(y))
x×y → f l(f l(x) × f l(y))

En un mot, on doit d'abord représenter les deux opérandes en notation ottante, eectuer l'opération
de la façon habituelle et exprimer le résultat en notation ottante.

Exemple 1.2.3 Si on prend n = 4, alors on a :


1
3
×3 → f l(f l( 13 ) × (3)
= f l((0.3333 × 100 ) × (0.3000 × 101 )
= f l(0.9999 × 101 )
= 0.9999 × 100

On remarque une légère perte de précision par rapport à la valeur exacte de cette opération qui est 1.
La multiplication et la division sont particulièrement simples en arithmétique ottante à cause de la
loi des exposants.

Exemple 1.2.4 Toujours avec n = 4, eectuer les opérations suivantes :


a) (0.4035 × 106 ) × (0.1978 × 10−1 )
= f l(0.4035 × 106 × 0.1978 × 10−1 )
= f l(0.0798123 × 105 )
= f l(0.798123 × 104 )
= 0.7981 × 104
b) (0.56789 × 104 ) ÷ (0.1234321 × 10−3 )
= f l(0.5679 × 104 ) ÷ (0.1234 × 10−3 )
= f l(0.4602106969 × 108 )
= 0.4602 × 108

15
Par contre, il faut être plus prudent avec l'addition et la soustraction. On ajoute d'abord des zéros à
la mantisse du nombre ayant le plus petit exposant de telle sorte que les deux exposants soient égaux.
On eectue ensuite l'opération habituelle et on met le résultat en notation ottante.

Exemple 1.2.5 Toujours avec n = 4, eectuer les opérations suivantes :


a) (0, 4035 × 106 ) + (0, 1978 × 104 )
= f l(0, 4035 × 106 + 0.1978 × 104 )
= f l(0, 4035 × 106 + 0.001978 × 106 )
= f l(0.405478 × 106 )
= 0.4055 × 106
b) (0.56789 × 104 ) − (0.1234321 × 106 )
= f l(0.5679 × 104 − 0.1234 × 106 )
= f l(0, 005679 × 106 + 0.1234 × 106 )
= −f l(0.11772 × 106 )
= −0.1177 × 106

On constate qu'il est primordial de décaler la mantisse avant d'eectuer l'addition ou la soustraction.

Remarque 1.2.3 Il faut bien remarquer que des opérations mathématiquement équivalentes ne le
sont pas forcément en arithmétique ottante. L'ordre des opérations est très important. En voici un
exemple.

Exemple 1.2.6 La propriété de distributivité de la multiplication sur l'addition n'est pas toujours
respectée en arithmétique ottante. En eet, en arithmétique exacte :

122 × (333 + 695) = (122 × 333) + (122 × 695) = 125416

En arithmétique ottante avec n = 3, on obtient d'une part :

122 × (333 + 695) = f l[(0.122 × 103 ) × f l(0.333 × 103 + 0.695 × 103 )]


= f l[(0.122 × 103 ) × f l(1.028 × 103 )]
= f l[(0.122 × 103 ) × (0.103 × 104 )]
= f l(0, 012566 × 107 )
= 0, 126 × 106

et d'autre part :

(122 × 333) + (122 × 695) = f l[f l((0.122 × 103 ) × (0.333 × 103 ))


+ f l((0.122 × 103 ) × (0.695 × 103 ))]
= f l[f l(0.040626 × 106 ) + f l(0.08479 × 106 )]
= f l[(0.406 × 105 ) + (0.848 × 105 )]
= f l(1.254 × 105 )
= 0.125 × 106

On constate donc une légère diérence entre les deux résultats, ce qui indique que les deux façons
d'eectuer les opérations ne sont pas équivalentes en arithmétique ottante.

16
1.2.1 Opérations risquées
Un certain nombre de calculs sont particulièrement sensibles aux erreurs d'arrondi. Nous présentons
quelques exemples d'opérations à éviter.

Exemple 1.2.7 Additionner deux nombres dont les ordres de grandeur sont très diérents :
(0.4000 × 104 ) + (0.1000 × 10−2 ) = f l(0.4000 × 104 + 0.1000 × 10−2 )
= f l(0, 4000 × 104 + 0.0000001 × 104 )
= f l(0.4000001 × 104 )
= 0.4000 × 104

La loi des exposants et l'arrondi font en sorte que le petit nombre disparaît complètement devant le
plus grand. Ce comportement est encore plus en évidence dans l'exemple suivant.

Exemple 1.2.8 Calculer les racines


√ de : ax2 + bx + c √
−b + b2 − 4ac −b − b2 − 4ac
qui sont bien sûr : r1 = et r2 =
2a 2a
On considère le cas où a = 1, b = 3000.001 et c = 3. Les racines exactes sont r1 = −0.001 et r2 =
−3000. Un calcul en simple précision (norme IEEE) donne r1 = −0, 00098828133 et r2 = −3000, 0000
dont l'erreur relative est respectivement de 1, 17% et de 0.0%. Le calcul de r2 ne pose aucune diculté
particulière.
√ L'erreur relative liée à r1 provient de l'addition de (−b), qui vaut −3000, 000977, et de
b2 − 4ac, qui vaut 2999, 999023. Cette opération revient à soustraire des nombres très voisins. Pour
éviter cela, on peut multiplier r1 par son conjugué et calculer :
√ ! √ 
−b + b2 − 4ac −b − b2 − 4ac −2c
r1 = √ = √
2a 2
−b − b − 4ac b + b2 − 4ac
On obtient de cette manière : r1 = −0, 001000000047
et une erreur relative extrêmement faible.

1.2.2 Évaluation des polynômes


Il est très fréquent d'avoir à évaluer des polynômes de degré élevé en analyse numérique. Il est donc
important de pouvoir les évaluer rapidement et de la façon la plus stable possible du point de vue
de l'arithmétique ottante. C'est ce que permet l'algorithme de Horner appelé aussi algorithme de
multiplication imbriquée. Pour évaluer un polynôme de la forme :

p(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn
en un point x quelconque, il sut de regrouper judicieusement les termes de la façon suivante :

p(x) = a0 + x(a1 + x(a2 + x(a3 + · · · + x(an−1 + an x) · · · ))) (1.14)

Voyons l'évaluation d'un polynôme à l'exemple suivant.

Exemple 1.2.9 Soit le polynôme : p(x) = 2 + 4x + 5x2 + 3x3


qui nécessite 6 multiplications et 3 additions. En suivant le mode de regroupement de l'équation 1.14,
on obtient : p(x) = 2 + x(4 + x(5 + 3x))
qui nécessite seulement 3 multiplications et 3 additions (et aucune élévation de puissance). On réduit
donc substantiellement le nombre d'opérations nécessaires et, de plus, cette nouvelle expression est
moins sensible aux eets de l'arithmétique ottante. La méthode de Horner est facile à programmer
grâce à l'algorithme suivant.

17
Algorithme : Méthode de Horner
1. Étant donné les coecients ai d'un polynôme de degré n.
2. Étant donné une abscisse x.
3. Étant donné la variable pn qui contiendra la valeur du polynôme en x
4. p n = an .
5. Pour i = n, n − 1, n − 2, · · · , 2, 1 : pn = ai−1 + pn x
6. Écrire x, p(x) = pn .

1.3 Erreurs de troncature


Les erreurs de troncature constituent la principale catégorie d'erreurs. Tout au long de ce manuel,
nous abordons des méthodes de résolution qui comportent des erreurs de troncature plus ou moins
importantes. L'ordre d'une méthode dépend du nombre de termes utilisés dans les développements de
Taylor appropriés. Il est donc essentiel de revoir en détail le développement de Taylor, car il constitue
l'outil fondamental de l'analyse numérique.

Remarque 1.3.1 Il est important de ne pas confondre les erreurs de troncature traitées dans cette
section et la troncature utilisée pour la représentation des nombres sur ordinateur.

1.3.1 Développement de Taylor en une variable


Il existe plusieurs façons d'introduire le développement de Taylor. Une façon très simple consiste à
le présenter formellement comme un problème d'approximation au voisinage d'un point x0 . On se
demande alors quel est le polynôme de degré 0 (noté P0 (x)) qui donne la meilleure approximation
d'une fonction f (x) donnée dans le voisinage du point x0 . Selon la gure 1.5, ce polynôme est :

P0 (x) = f (x0 ) On peut pousser plus loin l'analyse et chercher le meilleur polynôme de degré 1 de la
forme :
P1 (x) = a0 + a1 (x − x0 ) (1.15)

On pourrait tout aussi bien chercher un polynôme de forme plus classique : P1 (x) = b0 + b1 x
Ces deux expressions sont équivalentes et aboutissent au même résultat. La forme 1.15 est plus pratique

18
et plus naturelle puisqu'elle s'articule autour du point x0 . On doit introduire deux conditions pour
déterminer les deux constantes. Intuitivement, la meilleure droite (polynôme de degré 1) est celle qui
passe par (x0 , f (x0 )) et dont la pente est celle de la fonction f (x) en x0 , ce qui entraîne que :

P1 (x0 ) = f (x0 ) (1.16)

P10 (x0 ) = f 0 (x0 ) (1.17)

ou encore
a0 = f (x0 ) (1.18)

a1 = f 0 (x0 ) (1.19)

Il en résulte l'expression suivante : P1 (x) = f (x0 ) + f 0 (x0 )(x − x0 )


On peut bien sûr poursuivre ce raisonnement à condition que la fonction f (x) soit susamment
dérivable.

Dénition 1.3.1 . Le polynôme de Taylor de degré n de la fonction f (x) autour de x0 est déni par :
f 00 (x0 )(x − x0 )2 f 000 (x0 )(x − x0 )3 f (n) (x0 )(x − x0 )n
Pn (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + + + ··· + (1.20)
2! 3! n!

où f (n) (x0 ) désigne la dérivée d'ordre n de f (x) en x0 .

Ce polynôme donne une approximation de la fonction f (x) au voisinage de x0 . Il n'y a cependant pas
égalité en ce sens que si on utilise l'équation 1.20 pour estimer f (x) on commettra une erreur.

Théorème 1.3.1 Soit f (x), une fonction dont les dérivées jusqu'à l'ordre (n+1) existent au voisinage
du point x0 . On a l'égalité suivante :

f (x) = Pn (x) + Rn (x) (1.21)

où Pn (x) est le polynôme de Taylor 1.20 et Rn (x) est l'erreur commise, qui est donnée par :

f n+1 (ε(x))(x − x0 )(n+1)


Rn (x) = (1.22)
(n + 1)!
pour un certain ε(x) compris entre x0 et x.
Remarque 1.3.2 1. L'équation 1.21 est une égalité et ne devient une approximation que lorsque
le terme d'erreur est négligé.
2. Le terme d'erreur de l'équation 1.22 devient de plus en plus grand lorsque x s'éloigne de x0 en
vertu du terme (x − x0 )(n+1)
3. Inversement, pour une valeur de x près de x0 , le terme d'erreur de l'équation 1.21 est de plus
en plus petit lorsque n augmente.
4. On sait que le point ε(x) existe et qu'il varie avec x, mais on ne connaît pas sa valeur exacte. Il
n'est donc pas possible d'évaluer le terme d'erreur exactement. On peut tout au plus lui trouver
une borne supérieure dans la plupart des cas.
5. On commet une erreur de troncature chaque fois que l'on utilise le développement de Taylor et
que l'on néglige le terme d'erreur de l'équation 1.21.

Un cas particulier important du théorème précédent est le premier théorème de la moyenne, qui
équivaut à poser n=0 dans le développement de Taylor.

19
Corollaire
Soit f (x), une fonction dérivable dans l'intervalle [x0 , x]. Alors il existe ε dans [x0 , x] tel que :

f (x) = f (x0 ) + f 0 (ε)(x − x0 )

qui s'écrit également sous la forme :

f (x) − f (x0 ) = f 0 (ε)(x − x0 ) (1.23)

On crée une forme plus pratique du développement de Taylor en remplaçant x par x0 + h ou encore
l'expression x − x0 par h. On obtient ainsi :

f (x0 + h) = pn (h) + Rn (h) (1.24)

Exemple 1.3.1 On considère la fonction f (x) = ex au voisinage de x0 = 0. Puisque toutes les


dérivées de ex sont égales à ex et valent 1 en x0 = 0, le développement de Taylor de degré n devient :

h2 h3 hn
ex0 +h = eh ' Pn (h) = 1 + h + + + ··· +
2! 3! n!
et l'expression du terme d'erreur 1.29 est :

eε(h) hn+1
Rn (h) =
(n + 1)!

où ε(h) ∈ [0, h].

Dénition 1.3.2 Une fonction f (h) est un grand ordre de hn au voisinage de 0 (noté f (x) = O(hn ))
s'il existe une constante positive C telle que :

f (h)
| |≤C
hn
au voisinage de 0.

Bien qu' imprécise, cette dénition exprime assez bien les caractéristiques d'une fonction de type
O(hn ). Lorsque h est assez petit, la fonction O(hn ) décroît comme Chn . Plus n est grand, plus la
3 2
décroissance est rapide. Ainsi, une fonction 0(h ) décroît plus vite qu'une fonction O(h ), qui elle-même
décroît plus vite qu'une fonction O(h). Pour avoir une idée du comportement d'une fonction de type
O(hn ), il sut de remarquer que, lorsque h est divisé par 2, la fonction O(hn ) diminue selon un facteur
n n
approximatif de 2 . En eet, si on remplace h par h/2 dans Ch , on obtient :

h n Chn
C( ) = n
2 2

1.3.2 Développement de Taylor en plusieurs variables


On peut reprendre, dans le cas de plusieurs variables, le raisonnement qui a mené au développement
de Taylor d'une variable. Nous nous limitons, pour les ns de l'exposé, à trois variables, le cas général
étant similaire.

20
Théorème 1.3.2 Soit f (x1 , x2 , x3 ), une fonction de trois variables, que l'on suppose susamment
diérentiable. On a alors :
 
∂f (x1 , x2 , x3 ) ∂f (x1 , x2 , x3 ) ∂f (x1 , x2 , x3 )
f (x1 + h1 , x2 + h2 , x3 + h3 ) = f (x1 , x2 , x3 ) + h1 + h2 + h3
∂x1 ∂x2 ∂x3
 
1 ∂f (x1 , x2 , x3 ) 2 ∂f (x1 , x2 , x3 ) 2 ∂f (x1 , x2 , x3 ) 2
+ h1 + h2 + h3
2! ∂x21 ∂x22 ∂x23
 
∂f (x1 , x2 , x3 ) ∂f (x1 , x2 , x3 ) ∂f (x1 , x2 , x3 )
+ h1 h2 + h1 h3 + h2 h3 + · · · .
∂x1 ∂x2 ∂x1 ∂x3 ∂x2 ∂x3
Les termes suivants (désignés par les pointillés) font intervenir les diérentes dérivées partielles d'ordre
3, 4, 5 · · · de la fonction f (x1 , x2 , x3 ). On voit bien la similitude avec le cas d'une variable. En pratique,
on utilise principalement le développement de degré 1, qui ne fait intervenir que les dérivées partielles
d'ordre 1.

Exemple 1.3.2 Soit la fonction de deux variables :f (x1 , x2 ) = x21 + x1 sin(x2 ) que l'on développe
autour de (x1 , x2 ) = (1, 0) On a alors f (1, 0) = 1. De plus, les dérivées partielles du premier ordre de
f sont :
∂f (x1 , x2 ) ∂f (x1 , x2 )
= 2x1 + sin x2 , = x1 cos(x2 )
∂x1 ∂x2
et celles du deuxième ordre sont :
∂ 2 f (x1 , x2 ) ∂ 2 f (x1 , x2 ) ∂ 2 f (x1 , x2 )
= 2 = −x 1 sin(x 2 ) = cos(x2 )
∂x21 ∂x22 ∂x1 ∂x2

Au point (1, 0), ces dérivées partielles valent :

∂f (1, 0) ∂f (1, 0)
=2 =1
∂x1 ∂x2
et
∂ 2 f (1, 0) ∂ 2 f (1, 0) ∂ 2 f (1, 0)
= 2 = 0 =1
∂x21 ∂x22 ∂x1 ∂x2
Le développement de Taylor de degré 2 de cette fonction de deux variables autour du point (1, 0) est
donc :
1
f (1 + h1 , 0 + h2 ) ' 1 + 2h1 + 1h2 + (2h21 + 0h22 ) + (1h1 h2 )
2
c'est-à-dire :
f (1 + h1 , h2 ) ' 1 + 2h1 + h2 + h21 + h1 h2

En choisissant par exemple h1 = h2 = 0.1, on obtient l'approximation suivante :


f (1.1, 0.1) ' 1.32

qui est proche de la valeur exacte 1.319816758 avec une erreur absolue d'environ 0.000183. Si on prend
maintenant h1 = h2 = 0.05 f (1.05, 0.05) qui vaut 1.155. L'erreur
on obtient une approximation de
absolue dans ce dernier cas est d'environ 0.000021825, qui est environ 8.4 fois plus petite qu'avec
h1 = h2 = 0.1. Ce facteur de 8 s'explique par le choix d'un développement de degré 2 (et d'ordre 3)
et par la division des valeurs de h1 et h2 par 2.

21
1.3.3 Propagation d'erreurs dans le cas général
Nous approfondissons dans cette section plusieurs notions vues plus haut. Que peut-on-dire, par
exemple, de la précision des résultats obtenus lorsqu'on additionne ou qu'on multiplie des valeurs
connues avec une précision limitée? Plus généralement, si on a :

x = x∗ ± ∆x
y = y ∗ ± ∆y
quelle sera la précision de la fonction d'une variable f (x∗ ) ou de la fonction de deux variables g(x∗ , y ∗ )?
Ici encore, le développement de Taylor apporte une solution. Considérons d'abord le cas d'une variable.

Une quantité x inconnue est approchée par une valeur approximative x avec une erreur absolue ∆x.

On estime la valeur inconnue f (x) par l'approximation f (x ). L'erreur absolue liée à ce résultat est :
∆f = |f (x) − f (x∗ )| On a de plus :
f (x) = f (x∗ ± ∆x) = f (x∗ ) ± f 0 (x∗ )∆x + O((∆x)2 )
En négligeant les termes d'ordre plus grand ou égal à 2, on obtient :

∆f ' |f 0 (x∗ )|∆x


que l'on peut également écrire :
f (x) = f (x∗ ) ± |f 0 (x∗ )|∆x (1.25)

Exemple 1.3.3 On a mesuré la longueur d'un côté d'une boîte cubique et obtenu
l∗ = 10.2cm avec une précision de l'ordre du millimètre (∆l = 0.1cm). On cherche le volume v de
cette boîte. Dans ce cas, f (l) = l3 = v et l'erreur liée au volume est :
∆v = |f 0 (l∗ )|∆l = 3(10, 2)2 × 0.1 = 31.212 ≤ 0.5 × 102
La valeur approximative du volume est (10, 2)3 = 1061.2cm3 , dont seuls les deux premiers chires sont
signicatifs.

On traite les fonctions de plusieurs variables en faisant appel au développement de Taylor en plusieurs
variables. Nous donnons le résultat en dimension 3 seulement, car le cas général ne pose aucune
diculté supplémentaire.

Exemple 1.3.4 Soit f (x, y, z), une fonction de trois variables x, y et z dont on estime la valeur par :
x ,y et z avec une précision de ∆x, de ∆y et de ∆z respectivement. L'erreur absolue ∆f est donnée
∗ ∗ ∗

par :
∂f (x∗ , y ∗ , z ∗ ) ∂f (x∗ , y ∗ , z ∗ ) ∂f (x∗ , y ∗ , z ∗ )
∆f = | |∆x + | |∆y + | |∆z (1.26)
∂x ∂y ∂z
On obtient ainsi le tableau suivant à partir de l'équation 1.26
∆(x + y) = ∆x + ∆y
∆(x − y) = ∆x + ∆y
∆(x × y) = |y|∆x + |x|∆y
|y|∆x + |x|∆y
∆(x ÷ y) =
y2
On remarque que les erreurs absolues pour la soustraction s'additionnent. Le tableau montre également
la similitude entre la propagation d'erreurs et la diérentiation d'une somme, d'une diérence, d'un
produit et d'un quotient de deux fonctions.

22
Série d'exercices N1
Exercice 1 :
Tous les chires des nombres suivants sont signicatifs. Donner une borne supérieure de l'erreur absolue
et estimer l'erreur relative.
a) 0, 1234 b) 8, 760 c) 3, 14156
3 8
d) 0, 11235 × 10 e) 8, 000 f ) 0, 22356 × 10
Exercice 2 :
Exprimer les nombres décimaux suivants en représentation binaire classique. 32 ,125 , 1231 , 876 , 999
et 12345
Exercice3 :
Exprimer les entiers signés 125, −125, 0, 175 et −100 dans une forme binaire sur 8 bits en utilisant :
a) la représentation signe et grandeur.
b) le complément à 2.
c) la représentation par excès (d = 27 ).
Exercice 4 :
Traduire les nombres binaires 00000011, 10000001 et 11111111 dans la forme décimale selon que la
représentation utilisée est :
a) la représentation binaire classique.
b) la représentation signe et grandeur.
c) le complément à 2.
d) la représentation par excès (d = 27 )
Exercice 5 :
Pour représenter les nombres réels, considérer un mot de 16 bits dont 1 exprime le signe du nombre,
5, l'exposant et 10, la mantisse.
a) Représenter le plus petit et le plus grand nombre positifs en utilisant le complément à 2 pour
l'exposant.
b) Déterminer la précision machine.
Exercice 6 :
Convertir en forme binaire les fractions décimales suivantes :0.5 ,0.2 ,0.9 , 1/3 , 0, 25 et 3/8
Exercice 7 :
Un ordinateur représente les nombres réels sur 32 bits dans l'ordre suivant :
 1 bit pour le signe du nombre (0 = positif, 1 = négatif ) ;
 7 bits pour l'exposant en représentation signe et grandeur ;
 24 bits pour la mantisse (normalisée).

a) Que représentent (en base 10) les 32 bits : 1000 1011 1010 1000 0010 0000 0000 0000
b) Donner une borne supérieure de l'erreur relative liée à cette représentation (on suppose que
l'ordinateur utilise la troncature).
c) Donner l'expression binaire sur 32 bits du plus petit nombre réel positif représentable et donner
sa valeur en base 10.

Exercice 8 :
Convertir les nombres suivants en simple précision IEEE. a) − 52, 234375 , b)7112, 0 , c)16, 2 Vérier
les réponses en les retransformant en nombres décimaux. Evaluer l'erreur de représentation commise
en c.

Exercice 9 :
Donner la représentation en notation ottante en base 10 des nombres suivants (arrondir en conservant

23
4 chires dans la mantisse). e , 1/6 2/3, 12, 487 × 105 , 213456 et 2000, 1
Exercice 10 :
Montrer que la loi d'associativité de l'addition n'est pas toujours respectée en arithmétique ottante.
3 3
Utiliser l'arithmétique ottante à 3 chires et les nombres suivants : x = 0, 854 × 10 , y = 0, 251 × 10
3
et z = 0, 852 × 10 .
Exercice 11 :
Eectuer les développements de Taylor suivants à l'ordre demandé. Donner l'expression analytique du
terme d'erreur. Donner également une borne supérieure de l'erreur lorsque c'est possible.
a cos(x) autour de x0 = 0 (ordre 8)
b) sin(x) autour de x0 = 0 (ordre 9)
c) arctan(x) autour de x0 = 0 (ordre 5)
d) cos(x) autour de x0 = π/2 (ordre 7)
e) sin(x) autour de x0 = π/2 (ordre 8)
Exercice 12 :
Évaluer les erreurs commises dans l'évaluation des fonctions suivantes. Tous les chires fournis sont
signicatifs. Indiquer le nombre de chires signicatifs du résultat.

a) ln(x)en x = 2.01

b) arctan(x) en x = 1.0100
8 ∗
c) x en x = 1.123
2
d) sin (x) en x = 0.11
Exercice 13 :
Évaluer les erreurs commises dans l'évaluation des fonctions de plusieurs variables suivantes. Tous les
chires fournis sont signicatifs. Indiquer le nombre de chires signicatifs du résultat.
2 3 ∗ ∗
1) x y en x = 12.1, y = 3, 721
∗ ∗ −3 ∗
2) −xyz en x = 1, 260, y = 0.5 × 10 ,z = 12, 93
Exercice 14 :
La fonction f(x) est dénie par :
Z x
2 2
f (x) = √ e−t dt
π 0

Pour en obtenir le développement de Taylor, on peut suivre les étapes suivantes :


−x
a) Obtenir le développement de Taylor de e . (Limiter le développement aux 6 premiers termes
−t2
b) Déduire de a) le développement de Taylor de e
c) Déduire de b) le développement de Taylor de f (x)
d) Donner une approximation de f (1) en utilisant les 4 premiers termes de son développement de
Taylor.
e) Quel est l'ordre de l'approximation obtenue en d) ?
f ) Donner le nombre de chires signicatifs de l'approximation obtenue en d) en la comparant
avec la valeur exacte f (1) = 0, 842701.

24
CHAPITRE

RÉSOLUTION DES ÉQUATIONS NON

LINÉAIRES

C'est seulement pour certaines équations bien particulières que les procédés classiques de résolution
permettent d'exprimer les solutions exactes. Un exemple typique est celui des équations du second
degré, en utilisant le discriminant. Dans de nombreux cas, on peut seulement localiser les solutions,
et en calculer des valeurs numériques approchées. Considérons par exemple, l'équation

10x − 9 exp(−x)

Les méthodes usuelles de transformation (transposition, utilisation de la fonction logarithme, ...) ne


permettent pas de résoudre algébriquement cette équation. Pourtant, on observe graphiquement qu'elle
admet une solution unique sur [0,1].

soit f : R −→ R une fonction continue dont on veut cherche numériquement un ou plusieurs zéros r,
i.e f (r) = 0 les méthodes numériques pour approcher r consistent à :
• localiser grossièrement le ou les zéros de f en procédant à des évaluations qui souvent sont de
type graphique ; on note x0 cette solution grossière

25
• construire , à partir de x0 , une suite x1 , x2 , x3 · · · , xn , · · · telle que

lim xn = r où r satisfait f (r) = 0


n→+∞

on dit alors que la méthode est convergente

2.1 Localisation et séparation des racines


De nombreux théorèmes d'algèbre ou d'analyse arment :  il existe un réel (ou un complexe) x tel
que f (x) = 0 , où f désigne une fonction. Nous dirons que x est un zéro ou une racine de f . (Le
terme  racine  s'emploie surtout dans le cas des polynômes, mais ce n'est pas une règle absolue.)
Les archétypes sont le théorème des valeurs intermédiaires (et la fonction f est alors continue sur un
intervalle de m) et le théorème de d'Alembert-Gauss (et la fonction f
est alors un polynôme). Un autre
0
exemple est le théorème de Rolle, qui arme l'existence d'un zéro de f . Nous aborderons ici le cas
des fonctions d'une variable réelle. Il existe des extensions au cas de fonctions de plusieurs variables
(par exemple, de la méthode de Newton) mais elles sont nettement plus complexes.

Dénition 2.1.1 Soit f : R → R une fonction. On dit que r est un zéro de f si f (r) = 0. Il est dit
simple si f (r) 6= 0, multiple sinon. Si f est de classe C p avec p ∈ N, on dit que r est un zéro de
0

multiplicité p si :  (i)
f (r) = 0 ∀i = 0, · · · , p − 1
f (p) (r) 6= 0

2.1.1 Théorème de Rolle


Théorème 2.1.1 Soit f : [a, b] → R telle que
 f est continue sur [a, b]
 f est dérivable sur ]a, b[
 f (a) = f (b).
Alors il existe r ∈]a, b[ tel que f 0 (r) = 0.

Interprétation géométrique : il existe au moins un point du graphe de f où la tangente est horizontale.

Démonstration : Tout d'abord, si f est constante sur [a, b] r ∈]a, b[convient.


alors n'importe quel
Sinon il existex0 ∈ [a, b] tel que f (x0 ) 6= f (a). Supposons par exemple f (x0 ) > f (a). Alors f est
continue sur l'intervalle fermé et borné [a, b], donc elle admet un maximum en un point r ∈ [a, b]. Mais
f (r) ≥ f (x0 ) > f (a) donc r 6= a. De même comme f (a) = f (b) alors r 6= b. Ainsi r ∈]a, b[. En r, f est
0
donc dérivable et admet un maximum (local) donc f (r) = 0.

26
2.1.2 Théorème des valeurs intermédiaires
Théorème 2.1.2 Pour toute fonction f dénie et continue sur un intervalle I et à valeurs réelles,
l'image f (I) est un intervalle.

Énoncé équivalent :
Théorème 2.1.3 Pour toute application continue f : [a, b] −→ R et tout réel u compris entre f (a)
et f (b), il existe au moins un réel r compris entre a et b tel que f (r) = u.

Cas particulier (Théorème de Bolzano) :


Théorème 2.1.4 Pour toute application continue f : [a, b] −→ R, Si f (a)f (b) < 0, il existe au moins
un réel r ∈ [a, b] tel que f (r) = 0 (car 0 est compris entre f (a) et f (b)

2.1.3 Localisation des racines d'un polynôme réel


Proposition 2.1.1 Soit P = an xn + · · · + a0 ∈ R[X] un polynôme non constante de degré n, les
racines de P sont majorées,en valeur absolue,par max{1, | aan0 | + · · · + | an−1
an
|}

2.2 Méthodes de résolution


2.2.1 Méthode de dichotomie(bissection)
Cette méthode consiste en une succession de divisions par deux de l'intervalle pour approcher de plus
en plus la racine de l'équationf (x) =0 , jusqu'à ce qu'une précision  soit atteinte. Hypothèses sur
la fonction f On se place dans le cas où la fonction

f : [a, b] −→ R

vérie les hypothèses :

• f est continue sur[a, b]


• f est strictement monotone sur [a, b]
• f (a)f (b) < 0

27
ce qui assure l'existence et l'unicité de la racine r ∈ [a, b]
Algorithme de la bissection
1. Étant donné un intervalle [a, b] pour lequel f (x) possède un changement de signe

2. Étant donné , le critère d'arrêt, et N, le nombre maximal d'itérations


an +bn
3. Poser : xn = 2
4. Si :|bn − xn | ≤ 
• convergence atteinte
• écrire la racine xn
• écrire f (xn )
• arrêt

5. Si f (an )f (xn ) < 0, alors bn = x n


6. Si f (xn )f (bn ) < 0, alors an = x n
7. Si le nombre maximal d'itérations N est atteint :
 convergence non atteinte en N itérations
 arrêt

8. Sinon retour à l'étape 3

Calcul de l'erreur
La méthode de dichotomie a l'énorme avantage de fournir un encadrement d'une solution r de
l'équation (f (x) = 0). Il est donc facile d'avoir une majoration de l'erreur. En eet, à chaque étape,
la taille l'intervalle contenant r est divisée par 2. Au départ, on sait que r ∈ [a, b] (de longueur b − a) ;
b−a b−a
puis r ∈ [a1 , b1 ] (de longueur ) ; puis r ∈ [a2 , b2 ] (de longueur ) ; ...; r ∈ [an , bn ] étant de longueur
2 22
b−a
2n
) Si, par exemple, on souhaite obtenir une approximation de r à 10−N près, comme on sait que
−N
an ≤ r ≤ bn , on obtient |r − an | ≤ |an − bn | = b−a 2n
. Donc pour avoir |r − an | ≤ 10 il sut de choisir
b−a −N
n tel que 2n ≤ 10 Nous allons utiliser le logarithme décimal :

b−a N + log(b − a)
n
≤ 10−N ⇐⇒ n ≥
2 log(2)

dans le cas le plus général,si l'erreur est  alors :

log |b−a|

n=[ ]+1 (2.1)
log2
Remarque 2.2.1 En toute rigueur il ne faut pas confondre précision et nombre de décimales exactes,
par exemple 0,999 est une approximation de 1, 000 à 10−3 près, mais aucune décimale après la virgule
n'est exacte. En pratique, c'est la précision qui est la plus importante, mais il est plus frappant de
parler du nombre de décimales exactes.

Dénition 2.2.1 soit p un entier positif. On dit qu'une méthode convergente est d'ordre p s'il existe
une constante k telle que
|r − xn+1 | ≤ k|r − xn |p (2.2)

 si p = 1(et k<1) on parle de convergence linéaire.


 si p = 2 on parle de convergence quadratique.
 si p = 3 on parle de convergence cubique.

28
 si p = 1 et k = kn où kn dépend de n et est tel que limn→+∞ kn = 0 on parle de convergence
sur linéaire.

Exercice Soit la fonction f (x) dont le graphe est illustré à la gure suivante.
a) Un étudiant propose de résoudre l'équation f (x) = 0 par la méthode de la bissection à partir
de l'intervalle initial [0; 0, 5]. Expliquer pourquoi cet intervalle est un choix valide pour cette
méthode.
b) Retenant cet intervalle de départ, laquelle des racines est trouvée par la méthode de la bissection ?
Justier votre réponse.
c) Combien d'itérations de la méthode de la bissection seront nécessaires pour obtenir cette racine
−6
avec une erreur absolue de 10 en partant de l'intervalle [0; 0, 5] ?

Solution
a) f (0) × f (0; 5) < 0 donc l'intervalle initial est avec changement de signe.
b) La racine r2 [0, 25; 0, 50]. En eet à la deuxième itération, la méthode de la bissection considère
l'intervalle avec changement de signe [0, 25; 0, 50].
c) Au moins 19 itérations.

2.2.2 Méthode de la sécante


Dénition 2.2.2 Une partie A de E(espace vectoriel) est dite convexe si elle contient le segment
joignant deux quelconques de ses points, ce qui se traduit ainsi :

∀x ∈ A, ∀y ∈ A, ∀λ ∈ [0, 1] (1 − λ)x + λy ∈ A (2.3)

Dénition 2.2.3 On appelle combinaison convexe des points x1 , ..., xn ∈ E tout x ∈ E de la forme
x = λ1 x1 + λ2 x2 + ... + λn xn , où les λi sont des réels positifs de somme 1.

29
Dénition 2.2.4 La fonction f est dite convexe si, pour tous x, y ∈ C et λ ∈ [0, 1] on a :
f ((1 − λ)x + λy) ≤ (1 − λ)f (x) + λf (y) (2.4)

Si cette inégalité est stricte dès que x 6= y etλ ∈]0, 1[, est dite strictement convexe. Si ces inégalités
sont dans l'autre sens, f est dite concave (resp. strictement concave).

Ainsi f est concave (ou strictement concave) si, et seulement si, −f est convexe (ou strictement
convexe), ce qui permet de se limiter aux fonctions convexes. Il y a des liens entre parties convexes et
fonctions convexes. Par exemple, si f est convexe et si k ∈ R, x ∈ C, f (x) ≤ k et x ∈ C, f (x) < k sont
des parties convexes de E

Méthode de la sécante
L'idée de la méthode de la sécante est très simple : pour une fonction f continue sur un intervalle
[a, b], et vériant f (a) ≤ 0, f (b) > 0, [AB]
A = (a, f (a)) et B = (b, f (b)). Si
on trace le segment où
le segment reste au-dessus du graphe de f alors la fonction s'annule sur l'intervalle[a0 , b] où (a0 , 0) est
le point d'intersection de la droite (AB) avec l'axe des abscisses. La droite (AB) s'appelle la sécante.
On recommence en partant maintenant de l'intervalle [a0 , b] pour obtenir une valeur a0

Proposition 2.2.1 Soit f : [a, b] −→ R une fonction continue, strictement croissante et convexe telle
que f (a) < 0, f (b) > 0. Alors la suite dénie par
b − an
a0 = a et an+1 = an − f (an ) (2.5)
f (b) − f (an )

est croissante et converge vers la solution r de (f (x) = 0).

L'hypothèse f convexe signie exactement que pour tout x, x0 dans [a, b] la sécante (ou corde) entre
(x, f (x)) et (x0 , f (x0 )) est au-dessus du graphe de f
Démonstration

1. Justions d'abord la construction de la suite récurrente. L'équation de la droite passant par les
deux points (a, f (a)) et (b, f (b)) est

f (b) − f (a)
y = (x − a) + f (a)
b−a
Cette droite intersecte l'axe des abscisses en (a0 , 0) qui vérie donc 0 = (a0 − a) f (b)−f
b−a
(a)
+ f (a),
0 b−a
donc a = a − f (a)
f (b)−f (a)

30
2. Croissance de (an ) :
Montrons par récurrence que f (an ) ≤ 0. C'est vrai au rang 0 car f (a0 ) = f (a) < 0 par
hypothèse. Supposons vraie l'hypothèse au rang n.
Si an+1 < an (un cas qui s'avérera a posteriori jamais réalisé), alors comme f est strictement
croissante, on af (an+1 ) ≤ f (an ), et en particulier f (an+1 ) ≤ 0.
Sinon an ≤ an+1 . Comme f est convexe : la sécante entre (an , f (an )) et (b, f (b)) est au-dessus
du graphe de f . En particulier le point (an+1 , 0) (qui est sur cette sécante par dénition an+1 )
est au-dessus du point (an+1 , f (an+1 )), et donc f (an+1 ) ≤ 0 aussi dans ce cas, ce qui conclut la
récurrence.
b−an
Comme f (an ) ≤ 0 et f est croissante, alors par la formule an+1 = an − f (b)−f (an )
f (an ), on
obtient que an ≤ an+1 .

3. Convergence de (an ) :
La suite (an ) est croissante et majorée par b, donc elle converge. Notons l sa limite. Par
continuité f (an ) → f (l). Comme pour tout n, f (an ) ≤ 0, on en déduit que f (l) ≤ 0. En
particulier, comme on suppose f (b) > 0, on a l < b. Comme an → l, an+1 → l. f (an ) −→ f (l),
b−an
l'égalité an+1 = an − f (an ) devient à la limite (lorsque n −→ +∞) :
f (b)−f (an )
b−l
l = l − f (b)−f (l)
f (l), ce qui implique f (l) = 0.
Conclusion : (an ) converge vers la solution de (f (x) = 0)
Algorithme de la méthode de la sécante
1. Étant donné , un critère d'arrêt

2. Étant donné N, le nombre maximal d'itérations

3. Étant donné a0 = aet b, deux valeurs initiales de la solution

4. Eectuer :
b − an
an+1 = an − f (an )
f (b) − f (an )
5. Si |an+1 − an | <  alors
 convergence atteinte
 écrire la solution an
 arrêt

6. Si le nombre maximal d'itérations N est atteint :


 convergence non atteinte en N itérations
 arrêt

7. retour à l'étape 4

Calcul de l'erreur
La méthode de la sécante fournit l'encadrement an ≤ r ≤ b . Mais comme b est xe cela ne donne
pas d'information exploitable pour |r − an |. Voici une façon générale d'estimer l'erreur, à l'aide du
théorème des accroissements nis.

Proposition 2.2.2 Soit f : I −→ R une fonction dérivable et r tel que f (r) = 0. S'il existe une
constante m > 0 telle que pour tout x ∈ I, f 0 (x) ≥ m alors

|f (x)|
|x − r| ≤ ∀x ∈ I
m

31
2.2.3 Méthode de point xe
Théorème 2.2.1 (des Accroissements Finis)
Soit f : [a, b] −→ R une fonction continue sur [a, b] et dérivable sur ]a, b[. Il existe c ∈]a, b[ tel que :

f (b) − f (a) = f 0 (c)(b − a)

Dénition 2.2.5 Soit k un réel strictement positif et f une fonction dénie sur un intervalle [a, b] de
R à valeurs dans R. La fonction g est dite Lipschitzienne de rapport de k (encore dite k-Lipschitzienne)
si pour tous x et y de [a, b] on a :
|f (x) − f (y)| ≤ k|x − y|
.

Dénition 2.2.6 Soit f une fonction k-Lipschitzienne sur [a, b]. La fonction f est dite contractante
de rapport de contraction k si k ∈]0, 1[.

Lemme 2.2.1 Soit f une fonction de classe C 1 sur [a, b] . S'il existe un réel k ≥ 0 tel que :
|f 0 (x)| ≤ k ∀x ∈ [a, b] alors la fonction g est k-Lipschitzienne sur [a, b]

Dénition 2.2.7 Un point xe d'une fonction g(x) est une valeur de x qui reste invariante pour cette
fonction, c'est-à-dire toute solution de :
x = g(x)
est un point xe de la fonction g(x).

Il existe un algorithme très simple permettant de déterminer des points xes. Il sut en eet d'eectuer
les itérations de la façon suivante :


x0 donnée
xn+1 = g(xn )

à partir d'une valeur estimée initiale x0 . L'intérêt de cet algorithme réside dans sa généralité et dans
la relative facilité avec laquelle on peut en faire l'analyse de convergence. Il en résulte l'algorithme
plus complet suivant.
Algorithme des points xes
• Etant donné , un critère d'arrêt

• Etant donné N, le nombre maximal d'itérations

• Etant donné xo , une valeur estimée initiale du point xe

• Eectuer xn+1 = g(xn )


• si |xn+1 − xn | ≤ 
• convergence atteinte
• écrire la solution xn+1
• arrêt

• Si le nombre maximal d'itérations N est atteint :


• convergence non atteinte en N itérations
• arrêt

32
• Retour à l'étape 4

On peut résoudre des équations non linéaires de la forme f (x) = 0 en utilisant l'algorithme des points
xes. Il sut pour ce faire de transformer l'équation f (x) = 0 en un problème équivalent de la forme
x = g(x). L'ennui, c'est qu'il y a une innité de façons diérentes de le faire. Nous verrons que certains
choix donnent lieu à des algorithmes convergents et d'autres pas.

Exemple 2.2.1 Commençons par un exemple simple. On cherche à résoudre l'équation du second
degré x2 − 2x − 3 = 0. Puisqu'il y a une innité de façons diérentes de transformer cette équation
sous la forme x = g(x), nous en choisissons trois au hasard.
√ 3 x2 − 3
g1 (x) = 2x + 3, g2 (x) = g3 (x) =
x−2 2

Si on applique l'algorithme des points xes à chacune des fonctions gi (x) en partant de x0 = 4 , on
obtient pour g1 (x) :
x1 = g1 (4) = 3, 3166248
x2 = g1 (3, 3166248) = 3, 1037477
x3 = g1 (3, 1037477) = 3, 0343855
x4 = g1 (3, 0343855) = 3, 0114402
x10 = g1 (3, 0000470) = 3, 0000157
L'algorithme semble donc converger vers la racine r = 3. Reprenons l'exercice avecg2 (x), toujours en
partant de x0 = 4
x1 = g2 (4) = 1.5
x2 = g2 (1.5) = −6.0
x3 = g2 (−0.6) = −0.375
x4 = g2 (−0.375) = −1.2631579
x10 = g2 (−0.9989841) = −1.0003387

On remarque que, contrairement au cas précédent, les itérations convergent vers la raciner2 = −1 en
ignorant la racine r1 = 3. En dernier lieu, essayons l'algorithme avec la fonction g3 (x)

x1 = g3 (4) = 6.5
x2 = g3 (6.5) = 19.62
x3 = g3 (19.625) = 191.0703
x4 = g3 (191.0703) = 18252.43

Visiblement, les itérations tendent vers l'inni et aucune des deux solutions possibles ne sera atteinte.
Cet exemple montre clairement que l'algorithme des points xes, selon le choix de la fonction itérative
g(x), converge vers l'une ou l'autre des racines et peut même diverger complètement dans certains cas.
Il faut donc une analyse plus ne an de déterminer dans quelles conditions la méthode des points
xes est convergente.

33
Convergence de la méthode des points xes
Dénition 2.2.8 Le bassin d'attraction de la racine r pour la méthode des points xes xn+1 = g(xn )
est l'ensemble des valeurs initiales x0 pour lesquelles xn tend vers r lorsque n tend vers l'inni.

Dénition 2.2.9 Un point xe r de la fonction g(x) est dit attractif si :

|g 0 (r)| < 1

et répulsif si :
|g 0 (r)| > 1
Le cas où |g 0 (r)| = 1 est indéterminé.

Théorème 2.2.2 Soit g une fonction de classe C 1 au voisinage r . Si g(r) = r et |g 0 (r)| < 1, alors
il existe  strictement positif tel que :
∀x0 ∈ I = [r − , r + ], la suite xn = g(xn−1 ) est dénie et converge vers r , l'unique solution de
g(x) = x dans I

34
Théorème 2.2.3 Soit g une fonction continue ,dérivable,à valeurs dans [a, b](g est stable) et k-contractante
sur [a, b] , et (xn ) la suite récurrente dénie par :

x0 ∈ [a, b]
xn+1 = g(xn ) pour tout n > 0

Alors
1. ∃!r ∈ [a, b] telque r = g(r) (existence d'un point xe unique )
2. la suite (xn ) converge vers r
kn
3. Pour tout n ∈ N∗ on a : |xn − r| ≤ |x
1−k 1
− x0 |

autre majoration d'erreur

∀n ≥ 0 |xn − r| ≤ k n |x0 − r| ≤ k n |b − a| (2.6)

test d'arrêt
Fixons > 0 Pour que xn soit une valeur approchée de r à  près, il sut que :

k n |b − a| ≤ 

soit
ln − ln|b − a|
n≥ (2.7)
lnk
Remarque 2.2.2 • Si |g 0 (r)| < 1 et |g 0 (r)| =
6 0la méthode de points xes converge à l'ordre 1.
• Si |g (r)| = 0, et |g (r)| =
0 00
6 0 on a une convergence quadratique ;
• Si |g (r)| = 0, et |g (r)| =
00 000
6 0 , la convergence est d'ordre 3 ; et ainsi de suite.

Remarque 2.2.3 On prendra garde de ne pas confondre la fonction f (x) et la fonction g(x)

Exercice :
L'équation x3 + 4x2 − 10 = 0 possède une seule racine dans l'intervalle [1; 2]. On peut obtenir diérents
problèmes de points xes de cette équation :
• x = g1 (x) = x − x3 − 4x2 + 10;
1
• x = g2 (x) = ( 10
x
− 4x) 2 ;
1
• x = g3 (x) = 12 (10 − x3 ) 2
10 12
• x = g4 (x) = ( 4+x )
2x3 +4x2 +10
• x = g5 (x) = 3x2 +8x
L'algorithme des points xes nous donne les résultats suivants :

1. Expliquer pourquoi on n'a pas eu convergence avec la méthode des points xes associée à g1 (x)
mais que la fonction g3 (x) nous a donné un algorithme convergent.

2. Que s'est-il passé avec g2 (x)


3. Expliquer pourquoi g3 (x) a mené à une méthode des points xes qui a convergé moins vite que
g4 (x). Expliquer pourquoi g4 (x) a mené à une méthode des points xes qui a convergé moins
vite que g5 (x).
4. Donner l'ordre de convergence des méthodes des points xes associées à g3 (x), g4 (x) et g5 (x).
5. On remarque que pour les méthodes associées à g3(x) et g4(x), les valeurs de xn semblent
supérieures à la racine à une itération et inférieures à la racine à l'autre itération. Expliquer
pourquoi on observe ce comportement.

35
6. Pour la méthode associée à fonction g5 (x), donner une approximation de l'erreur absolue |en+1 |
que l'on obtiendrait à l'itération n+1 si on suppose que la valeur absolue de l'erreur à l'itération
n est |en | = 10−3

solution

1. La racine semble être r = 1, 3652300134 : La méthode g1 (x) diverge car g10 (r) = 15.4 > 1 . La
0
méthode g3 (x) converge car g3 (r) = 0, 51 < 1 :

• on a g2 (x2 ) = −8, 65 ce qui donne un nombre complexe, d'où le NaN.
0 0 0
2. La méthode g4 (x) converge plus vite que la méthode g 3(x) car |g4 (r)| = 0, 13 < |g3 (r)| = 0, 51 :
0 0
La méthode g4 (x) converge moins vite que la méthode g5 (x) car |g5 (r)| ' 0 < |g4 (r)| = 0, 13
0
3. La méthode g3(x) converge à l'ordre 1, car |g3 (r)| < 1 et g3 (r) 6= 0. La méthode g4 (x) converge
0 0
6 0. La méthode g5 (x) converge à l'ordre 2, car |g50 (r)| = 0.
à l'ordre 1, car |g4 (r)| < 1 et |g4 (r)| =

4. Les valeurs de xn semblent supérieures à la racine à une itération et inférieures à la racine à


0
l'autre itération pour les méthodes g3 (x) et g4 (x), car on a respectivement −1 < g3 (r) < 0 et
−1 < g4 (r) < 0. En vertu de l'approximation en+1 ' g0 (r)en , l'erreur change de signe à chaque
itération.

5. La méthode des points xes associée à la fonction g5 (x) converge à l'ordre 2. En vertu de
g 00 (r) 2
l'approximation en+1 '
2
en , on a |en+1 | ' 4, 9 × 10−7

2.2.4 Méthode de newton Raphson


La méthode de Newton est l'une des méthodes les plus utilisées pour la résolution des équation
non linéaire. cette méthode possède également une belle interprétation géométrique.nous commençons
cependant par donner une première façon d'obtenir l'algorithme,basée sur l'utilisation du développement
de Taylor. Soit une équation à résoudre de la forme :f (x) = 0 À partir d'une valeur initiale x0 de
la solution, on cherche une correction δx telle que :f (x0 + δx) = 0 En faisant un développement de
Taylor autour de x = x0 , on trouve :

f 00 (x0 )(δx)2 f 000 (x0 )(δx)3


0 = f (x0 ) + f 0 (x0 )δx + + + ···
2! 3!
Il sut maintenant de négliger les termes d'ordre supérieur ou égal à 2 en δx pour obtenir :

0 = f (x0 ) + f 0 (x0 )δx

36
On peut alors isoler la correction recherchée : δx = − ff0(x 0)
(x0 )
La correction δx est en principe la quantité que l'on doit ajouter à x0 pour annuler la fonction f (x).
Puisque nous avons négligé les termes d'ordre supérieur ou égal à 2 dans le développement de Taylor,
cette correction n'est pas parfaite et on pose : x1 = xo + δx On recommence le processus en cherchant
à corriger x d'une nouvelle quantité δx. On obtient alors l'algorithme suivant.

Algorithme de la méthode de Newton


1. Étant donné , un critère d'arrêt.
2. Étant donné N , le nombre maximal d'itérations.
3. Étant donné xq , une valeur initiale de la solution
f (xn )
4. Eectuer : xn+1 = xn − f 0 (xn )
5. si |xn+1 − xn | <  alors :
• convergence atteinte
• écrire la solution xn+1
• arrêt

6. Si le nombre maximal d'itérations N est atteint :

7. convergence non atteinte en N itérations. arrêt

8. retour à l'étape 4

Remarque 2.2.4 L'algorithme de la méthode de Newton est un cas particulier de celui de la méthode
des points xes où : g(x) = x − ff0(x n)
(xn )

Théorème 2.2.4 (Newton convergence local)


Soit f : [a; b] → R de classe C 2 vériant :
1. f (a)f (b) < 0
2. f 0 (x) 6= 0; ∀x ∈ [a; b]
3. f 00 (x) 6= 0, ∀x ∈ [a, b].
La suite (xn ) dénie par : (
x0 ∈ [a, b]. tel que f (x0 )f 00 (x0 ) > 0
xn+1 = xn − ff0(x n)
(xn )

est convergente vers r.

37
Proposition 2.2.3 soit f ∈ C 2 ([a, b]) telle que f admet une racine séparée r ∈ [a, b].
si f 0 (x) 6= 0sur [a, b] alors il existe δ > 0 tel que l'algorithme dénie par :
(
x0 ∈ Iδ =]r − δ, r + δ[
(2.8)
xn+1 = xn − ff0(x n)
(xn )

converge vers r. de plus on à une majoration de l'erreur


M
|xn+1 − r| ≤ |xn − r|2 , ∀n ≥ 0 (2.9)
2m
où M = maxx∈Iδ |f 00 (x)| ,et m = minx∈Iδ |f 0 (x)|

Théorème 2.2.5 (Newton convergence global)


soit f ∈ C 2 ([a, b]) telle que
1. f (a)f (b) < 0
2. f 0 (x) 6= 0∀x ∈ [a, b]
3. f 00 garde un signe constant sur [a, b]
|f (c)|
4. soit c tel que |f 0 (c)| = min{|f 0 (a)|, |f 0 (b)|} alors |f 0 (c)|
< (b − a) sous ces hypothèse on a :
i) ∃!r ∈ [a, b], f((r) = 0
x0 ∈ [a, b]
ii) le processus
xn+1 = xn − ff0(x n)
(xn )
converge vers r
iii) on a les majoration de l'erreur
M
|xn+1 − r| ≤|xn − r|2 , ∀n ≥ 0
2m
avec M = maxx∈[a,b] |f (x)|, m = minx∈[a,b] |f (x)|
00 0

Remarque 2.2.5 pour la majoration de l'erreur,en utilisant la récurrence, on obtient :


M M M M 2n −1 n M 2n −1 n
|xn − r| ≤ |xn−1 − r|2 ≤ ( |xn−2 − r|2 )2 ≤ ( ) |x1 − r|2 ≤ ( ) |a − b|2
2m 2m 2m 2m 2m
cette majoration est valable si : − b| < 1(i.e il faut que( 2m |a − b|2 → 0 quand n → +∞ )
M M 2 n −1 n
2m
|a )

Exercice : On veut calculer les deux racines de la fonction f (x) = x2 −sin(x)+ π6 − 6
3
dans L'intervalle
[ −π
2
; π]. Le graphe de la fonction f est illustré à la gure suivante :

38
1. Peut-on appliquer la méthode de la bissection pour calculer chacune des deux racines ? Pourquoi ?

2. À l'aide du graphe de la fonction f, discuter de l'ordre de convergence de la méthode de Newton


pour les deux racines.

3. On considère maintenant la méthode de point xe :


xn π 3
xn+1 = sin(xn ) + −( − )
2 6 2
pour calculer la racine r > 0. En observant que r ∈ [ 2π
3
; π] , déterminer la nature du point xe
(attractif, répulsif ou indéterminé).

Solution
1. On ne peut pas utiliser la méthode de bissection pour trouver la racine près de −1 car il n'y a
pas d'intervalle avec changement de signe tout près de cette racine. On peut cependant l'utiliser
pour l'autre racine car la fonction possède de signe dans l'intervalle [2; 2, 5] :

2. Pour la racine r1 près de −1, la convergence est d'ordre 1 car f 0 (r1) = 0. Pour la racine r2 près
0
de 2, 3, la convergence est au moins d'ordre 2 car f (r2 ) 6= 0 ( racine simple).

3. Le point xe r2 ∈ [ 2π
3
; π] est attractif car g 0 (x) ≤ 1 pour tout x dans l'intervalle [ 2π
3
; π]

39
SÉRIE D'EXERCICE N 2
Exercice 1
1. Séparer les racines des équation suivants :

a)ex sin(x) − 1 = 0 dans ] − π, π[ b)xln(x) − 1 = 0, c)x


4
− x − 1 = 0;
d)x4 − 3x + 1 = 0; e/ex − log(x) = 2 ; f /x − log(x) = 2 ; g/x3 − x2 − x − 1 = 0
2. on considère l'équation g :
i) montre que l'algorithme de dichotomie converge vers l'unique racine r dans ]1, 2[
ii) combien d'itération N faut-il eectuer par cet algorithme pour avoir une précision de =
−2
10 ?
iii) calculer une approximation deα par cet algorithme en utilisant le test d'arrêt |f (xn )| ≤ 
puis le test |xn+1 − xn | ≤ 

Exercice 2
soit f : R −→ R dénie par f (x) = x3 + 2x − 1.
1. localiser les racines de f.
2. montrer que f admet une racine séparer sur [0, 1]
3. calculer le nombre d'itération pour que l'erreur commise avec la méthode de dichotomie soit
−2
inférieur à  = 8.10

4. trouver alors une valeur approchée de la racine de f dans [0, 1] avec cette précision.

Exercice 3
montrer que les fonctions dénies ci-dessous sont contractante, en précisant à chaque fois leur constante
de contraction :
7|x|
f1 (x) = 4 + 92 sin(4x) sur [0, π4 ] f2 (x) = 1 + 8
sur [−3, 3] f3 (x) = e−1−x sur R∗+

Exercice 4
on considère l'équation
f (x) = e3x − x − 30 = 0 · · · (1)
1. montrer que l'équation (1) admet une seul solution positive ξ ∈ [1, 2]
2. montrer que l'équation (1) est équivalent à l'équation

1
x = φ(x), x ∈ [1, 2] oùφ(x) = ln(x + 30)
3

3. vérier que φ et [1, 2] réalisent un hypothèse de théorème de point xe.quelle conclusion peut
on obtenir ?

40
4. on considère la suite itérative 
x0 ∈ [1, 2]
xn+1 = φ(xn ) n ≥ 0
pour x0 = 1 calculer x2 et l'erreur d'approximation correspondante. en déduire un encadrement
judicieux de la racine ξ ∈ [1, 2] de l'équation (1)

5. déterminer le nombre d'itérations nécessaire pour avoir une valeur approchée de ξ à 10−8 prés.

6. on considère à présent le processus de newton noté (yn )n≥0 appliqué à l'équation (1).
(a) le processus de newton converge t-il pour toute valeur y0 dans l'intervalle[1, 2] justier votre
réponse.
(b) pour y0 = 1, calculer y2 et l'erreur d'approximation correspondante .En déduire un encadrement
judicieux de la racine.

Exercice 5
On considère l'équation f (x) = 0, avec f (x) = cos(x) − xex x ∈ [0, π2 ]
1. Étudier les variations de f et montrer que cette équation admet une unique solution [0, π2 ]
2. Utiliser la méthode de dichotomie pour trouver une valeur approchée de r ( avec la précision
−6
10
3. Vérier que la méthode de Newton est applicable pour trouver une valeur approchée de r , En
00
étudiant le signe de f indiquer un bon choix de x0 Calculer alors les 10 premiers itérés de
cette méthode.
cos(x)
4. on met l'équation f (x) = 0 sous la forme
ex
x=
 Montrer que les hypothèses d'application de la méthode du point xe ne sont pas vériées
sur l'intervalle [0, 0.6]
 montrer qu'elle sont sur l'intervalle [0.45, 0.6]
 Combien de termes devrait-on calculer par la méthode du point xe pour trouver une valeur
−6
approchée de r à 10 près ?

Exercice 6
On considère la fonction f dénie par f (x) = x3 − 4x + 2, x ∈ I = [ 12 , 1]
1. montrer que l'équation f (x) = 0 · · · (1) est équivalent à l'équation

2
x = φ(x) = , x ∈ I · · · (2)
4 − x2
2. montrer que φ vérie les hypothèses du théorème du point xe dans I et conclure quand à la
racine ξ de l'équation (1) dans I
3. on considère la suite itérative xn+1 = φ(xn ), n ≥ 0 pour x0 = 1 calculer x2 dire combien il faut
d'itération pour approcher ξ 10−2 prés
à
on considère la méthode de newton appliquée à l'équation (1)

4. Dénir les itération (yn )n≥0 du processus de Newton.

5. Les hypothèses du théorème de newton, pour la convergence globale sont-elles vériées dans I.
6. Préciser le choix de y0 ∈ I pour assurer la convergence du processus.

7. pour y0 ainsi choisi,calculer y1 et en déduire un encadrement de ξ

41
Exercice 7 (concours juin 2011)
On considère la fonction f dénie par :

f (x) = ln(x) − arctg(x), x > 0

1. Montrer que l'équation f (x) = 0 admet une unique racine α qu'on localisera dans un intervalle
I entre deux entiers consécutifs.

2. On considère la suite dénie par :



x0 = 3
xn+1 = g(xn ) avec g(x) = x − ln(x) + arctg(x).

Montrer que sa limite est α et en déduire le nombre d'itérations N qui assure que :

|xn − α| < 10−6

Exercice 8 (concours juin 2012)


Soit l'équation : ln(x) − x2 + 2 = 0
1. Séparer graphiquement les racines de cette équation.

2. Montrer que la plus grand racine est comprise dans un intervalle de forme [n, n + 1], n ∈ N
3. Écrire l'équation donnée sous la forme x = F (x) puis montrer que la méthode du point xe :


xn+1 = F (xn ), n = 0, 1, · · ·
x0 quelconque dans[a, b]

converge vers la racine de l'équation.

4. En partant de l'approximation initiale x0 = 1.5 estimer le nombre d'itération nécessaire à


−3
l'approximation de la racine à 10 prés.

5. trouver la valeur approchée de cette racine par cette méthode et avec cette précision.

Exercice 9 (concours 2014)


En utilisant la méthode de Newton
√ Raphson écrire un algorithme qui calcule la racine cubique d'un
nombre réel α > 0 c'est à dire ( α). On vériera les
3
conditions de convergence de la méthode de
Newton-Raphson.

Application :Calculer 3
5 par cette méthode à 0.01 prés(Prendre x0 = 2)

Exercice 10
On cherche à approcher les éventuelles racines de l'équation :

1 π
f (x) = x − cos(x) x ∈ I = [0, ] (2.10)
2 2
1. Montrer qu'il existe une seule racine r de l'équation (1) sur I.

42
2. Considérons le Schéma de point xe suivant :


xn+1 = g(xn ) n = 0, 1, · · ·
x0 = α ∈ I.

où g(x) = 21 cos(x)
Montrer que pour tout α la suite (xn ) converge vers r.
3. On prendre α=0 déterminer n tel que |xn − r| ≤  = 10−6
4. Calculer x4

Exercice 11
Soit la fonction f (x) = xlnx − 1
1. Montrer que la méthode de la sécante associée à f (x) = 0 converge vers l'unique racine r de f
dans I = [1; 2] :

2. Calculer x1 , x2 , x3 et majorer |x1 − r|

Exercice 12
Le problème de points xes
βq γq 2
xn+1 = αxn + 2 + 5
xn xn

où α, β et γ sont des paramètres, permet de calculer r = 3 q quelque soit q > 0.
Déterminer les paramètres α, β et γ pour que la méthode de points xes ait l'ordre de convergence le
plus élevé possible, quelque soit q > 0. Quel est l'ordre de convergence de la méthode de points xes
obtenue ?

Exercice 13
On veut calculer le zéro r de la fonction f (x) = x3 − 2 en utilisant la méthode de point xe

ω 2ω
xn+1 = (1 − )xn + (1 − ω)x3n + 2 + 2(ω − 1)
3 3xn

où ω est un paramètre réel.

1. Pour quelle(s) valeur(s) du paramètre ω le zéro de la fonction f (x) est-il un point xe de la
méthode proposée ?

2. Pour quelle(s) valeur(s) de ! la méthode proposée est-elle au moins d'ordre 2 ?

3. Existe-t-il une valeur de ω telle que l'ordre de la méthode de point xe soit supérieure à 2 ?

43
Exercice 14
On considère la fonction f (x) = ln((x + 1)exp(−2x) + 1 − x). Le but de ce problème est de déterminer
le domaine de dénition de f.

1. On pose u(x) = (x + 1)exp(−2x) + 1 − x. Calculez u0 et u00 .


(a) Montrez que u0 s'annule pour une valeur de γ qu'on localisera entre deux entiers successifs.

(b) Montrez que u s'annule en deux valeurs α et β (on notera α la valeur positive).

(c) Montrez que α = −β.


(d) Localisez α et β entre deux entiers successifs.

2. En déduire le domaine de dénition de f en fonction de α et le graphe de f.


3. Écrire la méthode de Newton pour l'approximation eective de α. Choisir une valeur x0
qui assure la convergence de la suite vers α et calculez x1 et x2 . à l'aide du théorème des
accroissements nis, calculez une majoration de l'erreur |x2 − α|

44
CHAPITRE

RÉSOLUTION DES SYSTÈMES LINÉAIRE

Introduction
De façon générale, la résolution d'un système d'équations linéaires consiste à trouver un vecteur
X = [x1 , x2 , x3 , · · · , xn ]T (X dénotera toujours un vecteur colonne et l'indice supérieur T désignera
sa transposée) solution de :

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 (3.1)
.
.
.
an1 x1 + an2 x2 + an3 x3 + · · · + ann xn = bn

On peut utiliser la notation matricielle, qui est beaucoup plus pratique et surtout plus compacte. On
écrit alors le système précédent sous la forme :

AX = B (3.2)

où A est la matrice :  
a11 a12 a13 ··· a1n
 a21 a22 a23 ··· a2n 
.
 
 .. .
.
.
.
.
.
 . . . ··· . 
an1 an2 an3 ··· ann
et où b = [b1 , b2 , b3 , · · · , bn ]T est le membre de droite. Bien entendu, la matrice A et le vecteur b sont
connus. Il reste à déterminer le vecteur X . Le problème 3.1 ou 3.2 est un système de n équations
et n inconnues. En pratique, la valeur de n varie considérablement et peut s'élever jusqu'à plusieurs
centaines de milliers. Dans ce chapitre, nous nous limitons à des systèmes de petite taille, mais les
stratégies développées sont valides quelle que soit la taille du système. Notons nalement que le coût
de la résolution croît rapidement avec n.

45
Remarque 3.0.1 Dans la plupart des cas, nous traitons des matrices non singulières ou inversibles,
c'est-à-dire dont la matrice inverse existe.la solution de l'équation 3.2 peut s'écrire :

X = A−1 b

et la discussion peut sembler close. Nous verrons cependant que le calcul de la matrice inverse A−1
est plus dicile et plus long que la résolution du système linéaire de départ.

3.1 Un peu de Calcul Matricielle


On note Mn,m (K) l'ensemble des matrices de type (n, m) n-lignes et m-colonnes dont les coecients
appartiennent à K = R ou C. On note Mn (K) l'ensemble des matrices carrées d'ordre n.
m n
Une matrice M ∈ Mn,m (K) est associée à une application linéaire l de E = K dans G = K . Soient
{ej }j=1,m base de K m et {gi }i=1,n une base de K n ; la j'ème colonne de la matrice M est constituée
des coordonnées de l(ej ) dans la base {gi }i=1,n .

Produit scalaire. Soit (x, y) ∈ Rn × Rn


n
X
(x, y) = xi y i = x t y = y t x
i=1

Produit hermitien. Soit (x, y) ∈ Cn × Cn


n
X
(x, y) = xi y i = xt y t = y ∗ x
i=1

Avec y∗ = yt l'adjoint de y.

Dénition 3.1.1 Soit A ∈ Mn,m (K), on dit que A est


t
• hermitienne si A = A∗ (A∗ = A )
• symétrique si A = At
• unitaire si AA∗ = A∗ A = I
• orthogonale si A est réelle et At A = AAt = I soit encore A−1 = At
• normale si AA∗ = A∗ A.

3.1.1 Valeurs et vecteurs propres


Dénition 3.1.2 On appelle
• (λ, u) ∈ C × CN élément propre de A si Au = λu et λ valeur propre de A, u vecteur propre
associée à λ.
• p(A) = {λi ; λi valeur propre de A} = spectre de A.
• ρ(A) = max |λi | = rayon spectral de A.
i=1,N
N
aii = trace de A, avec A = (aij ).
P
• T r(A) =
i=1
• Les valeurs propres de A sont les racines du polynôme :

PA (λ) = det(A − λI) = (−1)N λN + (−1)N −1 αN −1 λN −1 + · · · + det(A).

46
• Les vecteurs propres de A sont les vecteurs tels que Av = λv et ils forment un sous espace
vectoriel Eλ = {v ∈ K n ; Av = λv}.
N N
λi , det(A) = λi (propriétés)
P Q
• T r(A) =
i=1 i=1
• A est semblable à B s'il existe une matrice inversible S ∈ Mn (K) telle que A = SBS −1
• A est diagonalisable ssi A = SDS −1 avec D la matrice diagonale formée des valeurs propres,
la i ème colonne de S est un vecteur propre (à droite) associé à λi ,

Théorème 3.1.1 (Factorisation unitaire d'une matrice Théorème de Schur) Toute matrice carrée
peut s'écrire
A = UT U∗
avec U une matrice unitaire U −1 = U ∗ , T une matrice triangulaire supérieure.

Conséquence sur les matrices normales :

Théorème 3.1.2 Une matrice A est normale (i.e.AA∗ = A∗ A) si et seulement si il existe U une
matrice unitaire telle que
A = U DU ∗
avec D la matrice diagonale formée des valeurs propres. Autrement dit, une matrice normale est
diagonalisable et ses vecteurs propres sont orthonormés.

Corollaire 3.1.1 Toute matrice symétrique réelle est diagonalisable et la base des vecteurs propres
est orthonormée. Car si A une matrice symétrique réelle alors A est normale. De même, si A est une
matrice hermitienne alors A est normale.

3.2 Méthode Directe


Considérons le système suivant :

    
4 0 0 x1 10
 0 1 0   x2  =  20 
0 0 2 x3 10

est très facile à résoudre. Il sut de considérer séparément chaque ligne. On obtient ainsi :
X = [ 10
4
, 20, 5]t . On voit tout de suite comment résoudre le cas général :

bi
xi = pour i = 1, 2, · · · , n
aii
On remarque de plus que le système a une solution unique seulement si tous les termes diagonaux
sont non nuls.
Le deuxième type de système simple est le système triangulaire inférieur ou supérieur.

47
3.2.1 Système associée à une matrice triangulaire
Dénition 3.2.1 La matrice A est triangulaire supérieure (respectivement triangulaire inférieure) si
aij = 0 pour tout couple i, j tel que 1 ≤ j < i ≤ N (resp 1 ≤ i < j ≤ N )

Supposons que la matrice A soit triangulaire supérieure,Nous constatons alors que le determinant de
A est égale a :
n
Y
det(A) = aii
i=1

la matrice A est supposée régulière, donc aii 6= 0, ∀i ∈ {1, 2, · · · , N } si la matrice A dans le système
3.2 est triangulaire supérieur alors on peut obtenir la solution si on applique l'algorithme suivant :
Algorithme 1 :
bn
• xn = ann
n
P
bi − aij xj
j=i+1
• pour i=n−1 à 1 faire : xi =
aii
si la matrice A dans le système 3.2 est triangulaire inférieur alors on peut obtenir la solution si on
applique l'algorithme suivant :
Algorithme 2 :
b1
• x1 = a11
i−1
P
bi − aij xj
j=1
• pour i=2 à n faire : xi =
aii
Exemple 3.2.1     
3 0 0 x1 9
 1 2 0   x2  =  7 
3 2 1 x3 14

on commence par la première équation :x1 = b1


x1
= 9
3
=3
Puisque x1 est maintenant connue, on peut déterminer x2 : x2 = b2 −a 21 x1
a22
= 7−(1)(3)
2
=2
La dernière équation s'écrit : x3 = b3 −a31 x1 −a32 x2
a33
= 14−(3)(3)−(2)(2)
2
=1

Les matrices triangulaires sont primordiales pour la résolution des systèmes linéaires. Dans les sections
qui suivent, nous voyons comment ramener un système linéaire quelconque à un ou plusieurs systèmes
triangulaires. Nous abordons essentiellement trois méthodes dites directes au sens de la dénition
suivante.

Dénition 3.2.2 Une méthode de résolution d'un système linéaire est dite directe si la solution du
système peut être obtenue par cette méthode en un nombre ni et prédéterminé d'opérations.

48
3.2.2 Méthode d'élimination de Gauss
Opération élémentaire sur les lignes
Revenons au système :
AX = b (3.3)

et voyons comment on peut le transformer sans en modier la solution. La réponse est toute simple.
On peut toujours multiplier (à gauche de chaque côté) les termes de cette relation par une matrice
W inversible ; la solution n'est pas modiée puisque l'on peut multiplier par W −1 pour revenir au
système de départ. Ainsi :
W Ax = W b (3.4)

possède la même solution que le système (3.4).

Remarque 3.2.1 Ce résultat n'est plus vrai si la matrice W n'est pas inversible. On ne peut plus en
eet revenir en arrière si la matrice W −1 n'existe pas.

Pour transformer un système quelconque en système triangulaire, il sut d'utiliser trois opérations
élémentaires sur les lignes de la matrice. Ces trois opérations élémentaires correspondent à trois types
de matrices W diérents. C'est la base de la méthode d'élimination de Gauss. On note li , la ligne i
de la matrice A.
Les trois opérations élémentaires dont on a besoin sont les suivantes :

1. Opération (li ←− λli ) : remplacer la ligne i par un multiple d'elle-même.

2. Opération (li ↔ lj ) : intervertir la ligne i et la ligne j.


3. Opération (li ← li + λlj ) : remplacer la ligne i par la ligne i plus un multiple de la ligne j.
Ces trois opérations élémentaires sont permises car elles équivalent à multiplier le système 3.4 par une
matrice inversible.

Remarque 3.2.2 Des trois opérations élémentaires, seule l'opération (li ← li + λlj ) n'a pas d'eet
sur le déterminant. La permutation de deux lignes en change le signe, tandis que la multiplication
d'une ligne par un scalaire multiplie le déterminant par ce même scalaire.

Tous les outils sont en place pour la résolution d'un système linéaire. Il sut maintenant d'utiliser
systématiquement les opérations élémentaires pour introduire des zéros sous la diagonale de la matrice
A et obtenir ainsi un système triangulaire supérieur. La validité de la méthode d'élimination de Gauss
repose sur le fait que les opérations élémentaires consistent à multiplier le système de départ par une
matrice inversible.

Dénition 3.2.3 La matrice augmentée du système linéaire est la matrice de dimension n sur n + 1
que l'on obtient en ajoutant le membre de droite b à la matrice A, c'est-à-dire :
 
a11 a12 · · · a1n | b1
 a21 a22 · · · a2n | b2 
 .. .. . . .. .. 
 
 . . . . | . 
an1 an2 · · · ann | bn

Puisque les opérations élémentaires doivent être eectuées à la fois sur les lignes de la matrice A et
sur celles du vecteur b, cette notation est très utile.

49
Algorithme de la méthode de Gauss :
• dénir la matrice augmentée.
• pour k = 1 à n.
• si akk = 0 alors :
 s'il existe i>k tel que aik 6= 0 alors permuter les lignes i et k.
 sinon la matrice est singulière (sortir de l'algorithme).
 n si.
.
• pour i = k + 1 à n
aik
 retrancher à la ligne i la nouvelle ligne k multipliée par
akk
n pour.

• n pour
an,n+1
• xn =
ann
n
P
ai,n+1 − aij xj
• pour i = n − 1 à 1 xi = j=i+1
aii
• n pour

Gauss Pivot partiel


La méthode du pivot partiel consiste à choisir pour pivot le coecient de plus grand module de la
première colonne de A :
|ai1 | = max |ak1 |
1≤k≤n

Notons que ai1 6= 0 puisque l'on a supposé que A est inversible. On pourra donc diviser par ai1 . On
obtient un nouveau système en permutant dans A les lignes 1 et i et en laissant les autres inchangées.
Puis on applique une étape d'élimination à ce nouveau système.

gauss pivot total


La méthode du pivot total prend pour pivot aij tel que :

aij = max |akl |


1≤k,l≤n

doit donc permuter les lignes 1 et i ainsi que les colonnes 1 et j.

3.2.3 Factorisation LU (Crout.Doolittle)


Principe de la méthode
Supposons un instant que nous ayons réussi à exprimer la matrice A en un produit de deux matrices
triangulaires LetU . Comment cela nous permet-il de résoudre le système AX = b? Il sut de remarquer
que :
AX = LU X = b

50
et de poser UX = Y . La résolution du système linéaire se fait alors en deux étapes :


LY = b
UX = Y

qui sont deux systèmes triangulaires. On utilise d'abord une descente triangulaire sur la matrice L
pour obtenir Y et par la suite une remontée triangulaire sur la matrice U pour obtenir la solution
recherchée X. Il faut tout de suite souligner que la décomposition LU n'est pas unique. On peut en
eet écrire un nombre réel comme le produit de deux autres nombres d'une innité de façons. Il en
est de même pour les matrices.
Les deux choix les plus populaire sont :
décomposition de Doolittle : elle consiste à imposer que la matrice L ait des 1 sur sa diagonale.
décomposition de Crout : elle consiste à imposer que la matrice U ait des 1 sur sa diagonale.

Algorithme de décomposition de Doolittle :


• pour k=1àn
 L(k, k) = 1;
 pour j = k à n
k−1
P
* U (k, j) = A(k, j) − L(k, m)U (m, j)
m=1
 n pour.
 pour i=k+1 à n
k−1
P
* L(i, k) = (A(i, k) − L(i, m)U (m, k))/U (k, k)
m=1
 n pour.
• n pour.
Algorithme de décomposition de Crout :
• pour k=1àn
 U (k, k) = 1
k−l
P
 L(k, k) = A(k, k) − L(k, m)U (m, k)
m=1
 pour j =k+1 à n
k−1
P
* U (k, j) = (A(k, j) − L(k, m)U (m, j))/L(k, k)
m=1
* n pour ;
 pour i=k+1 à n
k−1
P
* L(i, k) = A(i, k) − L(i, m)U (m, k)
m=1
* n pour.
• n pour

3.2.4 Décomposition LU et permutation de lignes


Comme nous l'avons déjà remarqué, l'algorithme de décomposition LU (Doolittle) exige que les pivots
Uij soient non nuls. Dans le cas contraire, il faut essayer de permuter deux lignes. Contrairement à
la méthode d'élimination de Gauss, la décomposition LU n'utilise le terme de droite b qu'à la toute

51
n, au moment de la descente triangulaire LY = b. Si on permute des lignes, on doit en garder la
trace de façon à eectuer les mêmes permutations sur b. À cette n, on introduit un vecteur O dit de
permutation qui contient tout simplement la numérotation des équations.
Exemple : résoudre le système suivant par la méthode de LU
   

0 1 3 x1 −1
 3 5 6   x2  =  7 
3 10 22 x3 1

       
0 1 3 3 5 6 3 5 6 3 5 6
 3 5 6 ∼ 0 1 3 ∼ 0 1 3 ∼ 0 1 3  (3.5)
3 10 22 3 10 22 0 5 16 0 0 1
   
3 5 6 1 0 0
donc la matrice U =  0 1 3  et L=  0 1 0 
0 0 1 1 5 1
     
1 0 0 3 5 6 x1 7
le système est équivalent à :  0 1 0   0 1 3   x2  =  −1 
 1 51 0
  0 1 x
 3  1
1 0 0 y1 7  y1 = 7
la solution de système :  0 1 0   y2  =  −1  est y2 = −1
1 5 1 y 1  y3 = −1

   3  
3 5 6 x1 7  x1 = 1
la solution de système  0 1 3   x2  =  −1  est x2 = 2
0 0 1 x3 −1 x3 = −1

3.2.5 Factorisation de Cholesky


Dénition 3.2.4 une matrice A est dit symétrique si et seulement si : At = A.

Proposition 3.2.1 Si A est une matrice symétrique alors ses valeurs propres sont réelles.

Dénition 3.2.5 Soit A une matrice symétrique réelle d'ordre n. Elle est dite dénie positive si elle
est positive et inversible, autrement dit si elle vérie l'une des quatre propriétés équivalentes suivantes :
1. Pour toute matrice colonne non nulle X à n éléments réels on a X T AX > 0
2. Toutes les valeurs propres de A (qui sont nécessairement réelles) sont strictement positives.
3. Il existe une matrice B ∈ Mn (R) tel que A = BB T
4. Les n déterminants des sous-matrices principales de A sont strictement positifs.
 
1 1 0
Exemple : Soit la matrice A= 1 2 1 
0 1 2
Montrer que A est une matrice symétrique dénie positive.

Théorème 3.2.1 soit A ∈ Mn (R) une matrice dénie positive ,il existe une unique matrice
Q ∈ Mn (R) triangulaire inférieure telle que qii > 0 ∀i et A = QQT

52
Lorsque A est dénie positive, la méthode de Cholesky pour la résolution du système AX = QQT X = b
T
consiste à étudier les deux systèmes triangulaires QY = b et Q X = Y .
La décomposition de Cholesky s'obtient par l'algorithme suivant qui décrit l'identication des deux
membres de l'équation matricielle :
Algorithme√de décomposition de Cholesky
q11 = a11
pour j=2 à n
qj1 = aj1 /q11
n.
pour i=2 à n
s
i−1
P
qii = aii − |qik |2
k=1
pour j=i+1 à n
i−1
P
qji = (aji − qjk qik )/qii
k=1
n
n

Exemple
 3.2.2Donner
 la décomposition de Cholosky de la matrice suivante :
1 2 4
A =  2 20 −4 
4 −4 50
première méthode :utilisation de l'algorithme de Cholosky

q11= a11 = 1
q21=pa21 /q11 = 2, q31√ = a31 /q11 = 4
2
q22= a22 − q21 = 20 − 22 = 4
q32=p(a32 − q31 q21 )/q22 = p
(−4 − 4 ∗ 2)/4 = −3
2 2
q33= a33 − q31 − q32 = 50 − 42 − (−3)2 = 5
  
1 0 0 1 2 4
donc A =  2 4 0   0 4 −3 
4 −3 5 0 0 5
deuxième méthode : utilisation de la décomposition LU
Si onapplique l'algorithme
  de la décomposition
 LU on obtient :
1 0 0 1 2 4
A= 2 1 0   0 16 −12 
4 −0.75 1 0 0 25   
1 0 0 1 0 0 1 2 4
• on remarque que : u =  0 4 0   0 4 0   0 1 −0.75 
   0 0 5 0 0 5 0 0 1 
1 0 0 1 0 0 1 0 0 1 2 4
Q= 2 1 0   0 4 0  ; QT =  0 4 0   0 1 −0.75 
4 −0.75 1 0 0 5 0 0 5 0 0 1

3.2.6 Eets de l'arithmétique ottante


Jusqu'ici, nous n'avons utilisé que l'arithmétique exacte. Il est grandement temps de regarder si
l'arithmétique ottante utilisée par les ordinateurs a une inuence quelconque sur les résultats. Il
est probable que oui. En fait, nous allons voir que certaines matrices sont très sensibles aux eets

53
de l'arithmétique ottante et d'autres, très peu. Dans le cas de matrices sensibles, nous parlerons de
matrices mal conditionnées.

Remarque 3.2.3 En arithmétique ottante à m chires dans la mantisse, on doit eectuer chaque
opération arithmétique en représentant les opérandes en notation ottante et en arrondissant le résultat
de l'opération au m chire de la mantisse

Illustrons cela à l'aide des exemples.

   
1 2 x1 10
Exemple 3.2.3 Soit le système suivant :
1.1 2 x2 10.4

dont la solution exacte estx = (4, 3)T . Si on remplace le terme 1, 1 de la matrice par 1, 05, la nouvelle
T
solution exacte devient x = (8, 1) . Cet exemple démontre qu'une petite modication sur un terme de
la matrice peut entraîner une grande modication de la solution exacte. En pratique, l'arithmétique
ottante provoque inévitablement de petites modications de chaque terme de la matrice et de
sa décomposition LU . Il est alors tout à fait possible que ces petites erreurs aient d'importantes
répercussions sur la solution et, donc, que les résultats numériques soient très éloignés de la solution
exacte.

Exemple 3.2.4 Considérons le système :


    
0, 0003 3, 0000 x1 2.0001
=
1, 0000 1, 0000 x2 1.0000

dont la solution exacte est x = (1/3, 2/3)T . Il s'agit maintenant d'eectuer la décomposition LU
en arithmétique ottante à 4 chires. On remarque que le système devient en notation ottante à 4
chires :
0, 3000 × 10−3 0, 3000 × 101
    
x1 0.2000 × 101
=
0.1000 × 101 0.1000 × 101 x2 0.10000
et que le 1 de2, 0001 disparaît. La décomposition LU (Méthode de crout) donne dans ce cas :

0, 3000 × 10−3
  
0 0, 1000 × 101 0, 1000 × 105
LU =
0, 1000 × 101 −0, 9999 × 104 0 0, 1000 × 101

Le terme u12 est très grand puisque le pivot 0, 0003 est presque nul. La descente triangulaire donne
0,2000×101 4
alors : y1 = f l( 0,3000×10−3 ) = 0, 6667 × 10

et y2 = f l( 1−6667
−9999
) = 0.6667
Puis la remontée triangulaire donne : x2 = 0, 6667 et x1 = 6667 − (10000)(0, 6667) = 0 Si on compare
ce résultat avec la solution exacte (1/3 , 2/3)T , on constate une variation importante de la valeur
de x1 . On imagine aisément ce qui peut se produire avec un système de plus grande taille. Mais
comment peut-on limiter les dégâts ? Une première possibilité consiste à utiliser plus de chires dans
la mantisse, mais cela n'est pas toujours possible. Si on passe en revue les calculs précédents, on en
vient rapidement à soupçonner que la source des ennuis est la division par un pivot presque nul. On
sait qu'une telle opération est dangereuse numériquement. Une solution de rechange consiste donc à
permuter les lignes même si le pivot n'est pas parfaitement nul. Dans notre exemple, on aura :
    
1, 0000 1, 0000 x1 1.0000
=
0, 0003 3, 0000 x2 2.0001

54
Cette fois, la décomposition LU (toujours à 4 chires) donne :

  
1.0000 1.0000 1, 0000 1, 0000
LU =
0.0003 3.0000 0 1, 0000
car :
l22 = f l[3 − f l[(l)(0, 0003)]] = f l[3 − 0, 0003] = 3
La descente triangulaire donne y = (1 , 0.6666)T et la remontée nous donne la solution x = (0.3334 , 0.6666)T ,
qui est très près de la solution exacte.

Exemple 3.2.5 Soit le système suivant :


    
2, 0000 100000 x1 100000
=
1, 0000 1, 0000 x2 2.0000

dont la solution exacte est (1, 00002 , 0, 99998)T . Nul besoin ici de rechercher un plus grand pivot. La
décomposition LU (méthode de Crout) (en arithmétique ottante à 4 chires) donne :

  
2 0 1, 0000 50000
LU =
1 −50000 0 1
T
La descente triangulaire conduit à y = (50000 , 1) et la remontée triangulaire,
x = (0 , 1)T . Ici encore, l'erreur est considérable par rapport à la solution exacte. Cet écart est dû au
fait que la matrice A est constituée de termes d'ordre de grandeur très diérents. Par exemple, quand
on calcule le terme l22 doit eectuer en arithmétique ottante à 4 chires : 1 − (1)(50000) = −50000
On a donc eectué une autre opération dangereuse, à savoir soustraire (ou additionner) des termes
dont les ordres de grandeur sont très diérents. Une solution partielle à ce problème est d'eectuer
une mise à l'échelle des coecients de la matrice.

Dénition 3.2.6 La mise à l'échelle consiste à diviser chaque ligne du système linéaire par le plus
grand terme (en valeur absolue) de la ligne correspondante de la matrice A. On ne tient pas compte
du terme de droite b pour déterminer le plus grand terme de chaque ligne.

Dans notre exemple, il sut de diviser la première ligne par 100000 (le plus grand terme de la deuxième
ligne étant 1) et de résoudre :

0.2000 × 10−4
    
1 x1 1
LU = =
1, 0000 1, 0000 x2 2.0000

La recherche d'un nouveau pivot est maintenant nécessaire. On peut montrer que la résolution en
T
arithmétique ottante à 4 chires donne la solution x = (1 1) , ce qui est beaucoup plus près du
résultat exact.

3.3 Vocabulaire d'algèbre numérique


Cette section traite d'erreur et de mesure d'erreur liée aux systèmes linéaires. Il nous faut tout de suite
introduire une métrique permettant de mesurer l'écart entre une solution numérique et une solution
exacte. Cela nous amène donc à aborder la notion de norme vectorielle au sens de la dénition suivante.

55
Dénition 3.3.1 Une norme vectorielle est une application de Rn dans R qui associe à un vecteur
X un scalaire noté ||X|| et qui vérie les trois propriétés suivantes :
1. La norme d'un vecteur est toujours strictement positive, sauf si le vecteur a toutes ses composantes
nulles :
||X|| > 0, sauf si X = 0Rn
2. Si α est un scalaire, alors :
||αX|| = |α| × ||X||
3. L'inégalité triangulaire est toujours vériée entre deux vecteurs X et Y quelconques :

||X + Y || ≤ ||X|| + ||Y ||

Toute application vériant ces trois propriétés est une norme vectorielle. La plus connue est sans doute
la norme euclidienne.

Dénition 3.3.2 La norme euclidienne d'un vecteur X est notée ||X||e est dénie par :
q
||X|| = x21 + x22 + x23 + · · · x2n

Dénition 3.3.3 La norme l1 est dénie par :


n
X
||X||1 = |xi |
i=1

tandis que la norme l∞ , est dénie par :

||X||∞ = max |xi |


1≤i≤n

Dénition 3.3.4 Une norme matricielle est une application qui associe à une matrice A un scalaire
noté ||A|| vériant les quatre propriétés suivantes :
1. La norme d'une matrice est toujours strictement positive sauf si la matrice a toutes ses composantes
nulles :
||A|| > 0 sauf si A = 0
2. Si a est un scalaire, alors :
||αA|| = |α|||A||
3. L'inégalité triangulaire est toujours vériée entre deux matrices A et B quelconques, c'est-à-dire :

||A + B|| ≤ ||A|| + ||B||

4. Une quatrième propriété est nécessaire pour les matrices :

||AB|| ≤ ||A|| × ||B||

Toute application qui vérie ces quatre propriétés est une norme matricielle.
Voici quelques exemples.

Quelques normes matricielle


n
X
||A||1 = max |aij |
1≤j≤n
i=1

56
n
X
||A||∞ = max |aij |
1≤i≤n
j=1
p
||A||2 = ρ(At A)
La norme ||A||1 consiste à sommer (en valeur absolue) chacune des colonnes de A et à choisir la plus
grande somme.
La norme ||A||∞ fait un travail similaire sur les lignes.
La norme ||A||2 est en quelque sorte l'équivalent de la norme euclidienne pour les matrices, . On
l'appelle la norme de Frobenius.

Dénition 3.3.5 Une norme vectorielle et une norme matricielle sont dites compatibles si la condition :

||AX|| ≤ ||A|| × ||X|| (3.6)

est valide quels que soient la matrice A et le vecteur X .

Les normes vectorielles et matricielles ne sont pas toutes compatibles entre elles. On peut démontrer
que :
||X||1 et ||A||1
||X||∞ et ||A||∞
||X||e et ||A||2
sont compatibles deux à deux.

Dénition 3.3.6 Le conditionnement d'une matrice (noté condA) est déni par :

condA = ||A|| × ||A−1 || (3.7)

Il s'agit simplement du produit de la norme de A et de la norme de son inverse.

Le conditionnement dépend de la norme matricielle utilisée. On utilise le plus souvent la norme ||A||∞

Bornes d'erreurs et conditionnement


Considérons le système linéaire :
AX = b
et notons X , la solution exacte et X ∗ , une solution approximative qu'on obtient en utilisant l'arithmétique
ottante. Ces deux vecteurs devraient être près l'un de l'autre, c'est-à-dire que la norme de l'erreur :

||e|| = ||X − X ∗ ||

devrait être petite. Ce n'est pas toujours le cas. Dénissons le résidu par :

r = b − AX ∗

On a alors :
r = b − AX ∗ = AX − AX ∗ = A(X − X ∗ ) = Ae
ce qui signie que e = A−1 r. Si on utilise des normes vectorielles et matricielles compatibles, :

||e|| ≤ ||A−1 || × ||r|| (3.8)

57
De façon analogue, puisque Ae = r :
||r|| ≤ ||A|| × ||e||
qui peut s'écrire :
||r||
≤ ||e|| (3.9)
||A||
En regroupant les relations 3.8 et 3.9 et , on obtient :

||r||
≤ ||e|| ≤ ||A−1 || × ||r|| (3.10)
||A||

Par ailleurs, en refaisant le même raisonnement avec les égalités AX = b et X = A−1 b on trouve :

||b||
≤ ||X|| ≤ ||A−1 || × ||b||
||A||
Après avoir inversé ces inégalités, on trouve :

1 1 ||A||
≤ ≤ (3.11)
||A−1 || × ||b| ||X|| ||b||

En multipliant les inégalités 3.10 et 3.11, on obtient le résultat fondamental suivant.

Théorème 3.3.1
1 ||r|| ||e|| ||r||
≤ ≤ condA (3.12)
condA ||b|| ||X|| ||b||
Remarque 3.3.1 Plusieurs remarques s'imposent pour bien comprendre l'inégalité précédente.
1. Le terme du milieu représente l'erreur relative entre la solution exacte X et la solution approximative
X ∗.
2. Si le conditionnement de la matrice A est près de 1, l'erreur relative est coincée entre deux
valeurs très près l'une de l'autre. Si la norme du résidu est petite, l'erreur relative est également
petite et la précision de la solution approximative a toutes le chances d'être satisfaisante.
3. Par contre, si le conditionnement de la matrice A est grand, la valeur de l'erreur relative est
quelque part entre 0 et un nombre possiblement très grand. Il est donc à craindre que l'erreur
relative soit alors grande, donc que la solution approximative soit de faible précision et même,
dans certains cas, complètement fausse.
4. Même si la norme du résidu est petite, il est possible que l'erreur relative liée à la solution
approximative soit quand même très grande.
5. Plus le conditionnement de la matrice A est grand, plus on doit être attentif à l'algorithme de
résolution utilisé.
6. Il importe de rappeler que, même si une matrice est bien conditionnée, un mauvais algorithme
de résolution peut conduire à des résultats erronés.

On peut obtenir une autre inégalité qui illustre le rôle du conditionnement d'une matrice quant à la
précision de la solution numérique d'un système linéaire. Soit le système linéaire : AX = b
Lorsque l'on résout un tel système sur ordinateur, où la représentation des nombres n'est pas toujours

exacte, on résout en fait : (A + E)X = b où la matrice E représente une perturbation du système
initial, due par exemple aux erreurs de représentation sur ordinateur des coecients de la matrice A.

58
La matrice E
peut également représenter les erreurs de mesure lorsque les coecients de la matrice

A sont obtenus expérimentalement. Nous noterons encore X , la solution du système perturbé. On a
donc la relation :

X = A−1 b = A−1 ((A + E)X ∗ ) = (I + A−1 E)X ∗ = X ∗ + A−1 EX ∗


On en conclut que : X − X ∗ = A−1 EX ∗
Donc,
||A|| ||A−1 || ||E|| ||X ∗ ||
||X − X ∗ || ≤ ||A−1 || ||E|| ||X ∗ || =
||A||
d'où l'on tire le théorème suivant.

Théorème 3.3.2
||X − X ∗ || ||E||

≤ condA (3.13)
||X || ||A||
Remarque 3.3.2 Les remarques suivantes permettent de bien mesurer la portée de l'inégalité 3.13
1. Le terme de gauche est une approximation de l'erreur relative entre la solution exacte et
la solution du système perturbé. (On devrait avoir ||X|| au dénominateur pour représenter
vraiment l'erreur relative)
2. Le terme de droite est en quelque sorte l'erreur relative liée aux coecients de la matrice A
multipliée par le conditionnement de A.
3. Si condA est petit, une petite perturbation sur la matrice A entraîne un petite perturbation sur
la solution X .
4. Par contre, si condA est grand, une petite perturbation sur la matrice A pourrait résulter en
une très grande perturbation sur la solution du système. Il est par conséquent possible que les
résultats numériques soient peu précis et même, dans certains cas, complètement faux.
Exemple 3.3.1 La matrice :
 
1.012 −2.132 3.104
A =  −2.132 4.096 −7.013 
3.014 −7.0133 0.014
a comme inverse :  
−13.729 −6.0755 0.62540
A =  −6.0755 −2.6888 0.13399 
0.62540 0.13399 −0.11187

On a alors, ||A||∞ = 13.241 et ||A−1 ||∞ = 20.43. Le conditionnement de la matrice est donc 270, ce
qui est le signe d'une matrice mal conditionnée.
En utilisant une autre norme matricielle, on obtiendrait un conditionnement diérent. Toutefois, on
pourrait montrer que le conditionnement, s'il est grand dans une norme, sera grand dans toutes les
normes.

Exemple 3.3.2 La matrice  


3.02 −1.05 2.53
A =  4.33 0.56 −1.78 
−0.83 −0.54 1.47
a comme inverse  
5.661 −7.273 −18.55
A−1 =  200.5 −268.3 −669.9 
76.85 −102.6 −255.9

59
Pour cette matrice, ||A||∞ = 6.67 et ||A−1 ||∞ = 1138.7. Le conditionnement de la matrice est donc
plus que 7595 ce qui est le signe d'une matrice mal conditionnée.

Exemple 3.3.3 Nous avons déjà considéré la matrice :


 
0.0003 3.0
A=
1.0 1.0

dont l'inverse est :  


−0.333367 1.0001
A=
0.333367 1.0001 × 10−4

On a ainsi un conditionnement d'environ 4, ce qui est relativement faible. Nous avons vu que la
résolution d'un système linéaire à l'aide de cette matrice, sans eectuer de permutation de lignes,
aboutit à de mauvais résultats. Cela démontre bien qu'un algorithme mal choisi (la décomposition
LU sans permutation de lignes dans ce cas) peut s'avérer inecace, et ce même si la matrice est bien
conditionnée.

3.4 Méthodes itératives pour les systèmes linéaires


Dans la première partie de cours nous avons étudié des décompositions matricielles (LU, Cholesky)
qui permettent de ramener la résolution de systèmes linéaires à celle de systèmes triangulaires. Ces
méthodes sont qualiées de directes parce que le calcul de la solution est obtenu après un nombre ni
d'opérations.

Les méthodes itératives suivent une autre approche diérente que celle des méthodes directes : elles
calculent une suite d'approximations successives de la solution du problème. En théorie ce processus
est inni, en pratique le calcul d'une solution approchée est arrêté dès que l'on estime avoir atteint
une précision susante. Les méthodes itératives sont utilisées pour résoudre des systèmes de grande
taille et à matrices creuses . Cette approche est en eet plus naturelle dans ces cas-là puisqu'il n'est
pas nécessaire comme dans les méthodes directes de porter à terme le calcul d'une décomposition de
la matrice qui serait extrêmement coûteux.

La méthode des approximations successives pour la résolution de l'équation de point xe x = f (x) est
(k+1)
donnée par le schéma itératif x = f (x(k) ) où le point initial x0 est donné. Si la suite (x(k) ) converge
(k)
vers x et si f est continue en ce point alors f (x) = x et les x constituent autant d'approximations
du point xe x.
On transforme un système linéaire AX = b en une équation de point xe en cassant la matrice A
en A=M −N où M est inversible et  facile à inverser . Le système devient :

X = M −1 N X + M −1 b

qui conduit au schéma itératif


X (k+1) = M −1 N X (k) + M −1 b
que nous allons étudier ici.

60
3.4.1 Résultats généraux
Au système linéaire AX = b avec A ∈ Mn×n et b ∈ Rn en nous associons le schéma itératif

X (k+1) = BX (k) + C, Xo donné

où B ∈ Mn×n et C ∈ Rn .

Dénition 3.4.1 1. On dit que cette méthode itérative est consistante si In − B est inversible et
si A b = (In − B)−1 C .
−1

2. On dit qu'elle est convergente si pour tout X (0) ∈ Rn la suite (X (k) ) dénie ci-dessus est
convergente.

Remarque 1 Lorsqu'une méthode itérative est consistante, le point xe qu'elle dénit est la solution
du système AX = b.
Remarque.2 Une méthode itérative consistante X (k+1) = BX (k) + C ne construit pas nécessairement
une suite d'approximations de la solution du système AX = b. Un exemple simplissime est donné par
le système 2In X = b et la méthode itérative X (k+1) = −X(k) + b La suite (X (k) vérie X (2k) = b − X (0)
(2k+1)
et X = b Elle ne converge pas vers la solution X = b/2 (sauf dans le cas très particulier
(0)
b=X = 0).
La suite (X (k) ) est donnée par
k−1
X
(k) k (0)
X =B X +( B i )C. (3.14)
i=0
+∞
Bk
P
Cette identité montre que la convergence de la méthode est liée à celle de la série de matrices
k=0

Théorème 3.4.1 Pour toute matrice B ∈ Rn×n il y a équivalence entre :


+∞
1. la série B k est convergente.
P
k=0

2. k
lim B = 0
n→+∞

3. Le rayon spectral de B vérie ρ(B) < 1.


Sous ces hypothèses. la convergence de la série est absolue. la matrice In − B est inversible et
+∞
(In − B)−1 =
P k
B
k=0

Démonstration :
1 =⇒ 2 : parce que le terme général d'une série convergente a pour limite 0
2 =⇒ 3 : si λ ∈ C est une valeur propre de B et si Bx = λx avec ||x|| = 1 alors, pour une norme
matricielle consistante on a

|λk | = ||λk x|| = ||B k x|| ≤ ||B k || −→ 0

. Si λk → 0 c'est que |λ| < 1 et ceci prouve la troisième assertion.


+∞
Bk
P
3 =⇒ 1 :. C'est une conséquence du critère de d'Alembert : la série converge absolument si
k=0

61
1
lim ||B k || k < 1 cette limite est égale à ρ(B) < 1 et donc le critère de d'Alembert est vérié. Lorsque
k→+∞
ces conditions sont satisfaites, la somme de la série se calcule via l'identité et un passage à la limite.
La conséquence attendue de ce théorème est donnée par :

Théorème 3.4.2 Pour toute matrice B ∈ Rn×n telle que In − B soit inversible et pour tout C ∈ Rn .
la méthode itérative
X (k+1) = BX (k) + C
est convergente si et seulement si l'une des trois conditions équivalentes du théorème 3.3.1 est satisfaite.

Démonstration : La condition est nécessaire : soit X ∈ Rn tel que X = BX + C . On a :


X (k) − X = B(X (k−1) − X) = · · · = B k (X 0 − X)
k (0)
Comme par hypothèse la méthode itérative est convergente on a B (X − X) → 0 pour tout X (0) ;
(0)
en prenant pour X − X un vecteur propre unitaire de B cela prouve que p(B) < 1.
La condition est susante : cela résulte de l'égalité
k−1
X
X k = B k X (0) + ( B i )C
i=0

3.4.2 Choix d'un test d'arrêt


Dans la pratique, il faut décider d'un test d'arrêt pour savoir quand mettre n au processus itératif.
Deux tests  tombent sons le sens  . étant donné un seuil de précision  >0 ce sont :

||AX (k) − b|| ≤ 

pour le premier et
||X (k) − X (k−1) || ≤ 
pour le second. Il faut noter que le premier test peut n'être jamais satisfait même si la méthode
converge. Il se peut, en eet, que les erreurs d'arrondis dues à l'usage d'une arithmétique de précision
nie soient du même ordre que le gain de précision obtenu à l'itération en cours. Le second test est
pins réaliste. On arrête l'itération lorsqu'elle ne produit plus de gain signicatif de précision. Il se peut
(k)
qu'alors la quantité ||AX − b|| soit signicativement grande. Le test idéal (mais irréaliste) est bien
sûr lié à la distance à la solution :
||X (k) − A−1 b|| < 
Ces trois quantités sont reliées par :

Proposition 3.4.1Donnons-nous des normes ||.|| sur Rn et ||.|| sur Rn×n consistante avec la précédente.
Étant donné une méthode itérative consistante X (k+1) = BX (k) + C associée au système linéaire
AX = b on a :

1. Si ||AX (k) − b|| <  alors

||X (k) − X|| 


||X (k) − X|| ≤ ||A−1 || et ≤ cond(A)
||X|| ||b||

62
2. Si ||X (k) − X (k−1) || ≤  alors

||X (k) − X|| 


||X (k) − X|| ≤ ||(In − B)−1 ||et ≤ cond(In − B)
||X|| ||c||

Démonstration. Dans le premier cas, X (k) − X = A−1 (AX (k) − b) d'où ||X (k) − X|| ≤ ||A−1 ||
L'erreur relative est donnée par :

||b||
||X (k) − X|| ≤ ||A−1 ||  et ||b|| = ||AX|| ≤ ||A||||X||
||b||

Le second cas se traite de façon similaire.


Un des intérêts des méthodes itératives convergentes est dû à l'absence d'accumulation des erreurs
(k) (k)
d'arrondis : que l'on utilise l'itéré X , ou une valeur voisine X , on a quand même aaire à deux
points initiaux pour une méthode convergente. Le résultat suivant précise les propriétés des schémas
itératifs approchés :

3.4.3 Exemples des méthodes itératives


Nous allons utiliser les notations suivantes : A ∈ Rn est décomposé en : A=D−E−F avec :
• dij = aij si i = j et 0 sinon.
• eij = −aij si i > j et 0 sinon.
• fij = −aij si i < j et 0 sinon
Nous supposons aussi que : aii 6= 0 pour tout i = 1 · · · n de sorte queD, D −E et D −F sont inversibles.

Méthode de Jacobi
Cette méthode utilise la décomposition A = D − (E + F ). La matrice D étant diagonale elle est bien
sûr facile à inverser. On obtient le schéma

X (k+l) = JX (k) + D−1 b, J = D−1 (E + F )

d'où !
(k+1) 1 X (k)
xi = − aij xj + bi ,1 ≤ i ≤ n
aii j6=i

Méthode de Gauss-Seidel
Cette méthode utilise la décomposition A = (D − E) − F .La matrice D − E est triangulaire inférieure
donc facile à inverser. On obtient

X (k+1) = GX (k) + (D − E)−1 b, G = (D − E)−1 F

d'où !
i−1 n
(k+1) 1 X (k+1)
X (k)
xi = − aij xj − aij xj + bi , 1≤i≤n
aij j=1 j=i+1

63
Méthode de relaxation
Une généralisation de la méthode de Jacobi est la méthode de sur-relaxation (ou JOR, pour Jacobi
over relaxation), dans laquelle on se donne un paramètre de relaxation ω ,pour obtenir la relation :
" n
#
(k+1) ω X (k) (k)
xi = bi − aij xj + (1 − ω)xi , i = 1 · · · , n
aii j=1,i6=j

Cette méthode est consistante pour tout ω 6= 0. Pour ω = 1, elle coïncide avec la méthode de Jacobi.
En partant de la méthode de Gauss-Seidel et par analogie avec ce qui a été fait pour les itérations de
Jacobi, on introduit la méthode de sur-relaxation successive (ou méthode SOR pour successive over
relaxation) On se donne un paramètre ω ∈ R.Cette méthode est dénie par :

xk+1 = Gω xω + ω(D − ωE)−1 b, Gω = (D − ωE)−1 ((1 − ω)D + ωF )

d'où le schéma

" i−1 n
#
(k+1) ω X (k+1)
X (k)
xi = bi − aij xj − aij xj + (1 − ω)xki
aii j=1 j=i+1

Elle est consistante pour tout ω 6= 0 et elle coïncide avec la méthode de Gauss-Seidel pour ω = 1.
Si ω ∈]0, 1[, la méthode est appelée méthode de sous-relaxation, et méthode de sur-relaxation si
ω > 1.

3.4.4 CONVERGENCE DES MÉTHODES ITÉRATIVES


Le théorème 3.3.2 fournit un critère général pour déterminer les propriétés de convergence d'une
méthode itérative. Dans ce paragraphe nous allons utiliser ce critère pour étudier quelques cas classiques.
Matrices à diagonale strictement dominante

Dénition 3.4.2 Une matrice A ∈ Rn×n est à diagonale strictement dominante lorsque :
X
|aii | > |aij | ∀i
j6=i

Proposition 3.4.2 une matrice à diagonale strictement dominant est inversible.

Théorème 3.4.3 Si A est à diagonale strictement dominante,les méthodes de Jacobi et Gauss-Seidel


convergent

Théorème 3.4.4 Si A et 2D − A sont symétrique dénies positive, alors la méthode de Jacobi est
convergent

Théorème 3.4.5 Le rayon spectral de la matrice G, (méthode de relaxation SOR) vérie :

ρ(G) > |ω − 1|

. Une condition nécessaire pour que la méthode de relaxation converge est que 0 < ω < 2.

64
Théorème 3.4.6 Quand A est symétrique dénie positive, la méthode JOR est convergent si
2
0<ω<
ρ(D−1 A)

Théorème 3.4.7 Si A est symétrique dénie positive, la méthode de Gauss-Seidel converge.

Théorème 3.4.8 Si la méthode de Jacobi converge, alors la méthode JOR converge pour 0 < ω ≤ 1

Théorème 3.4.9 (condition susante de convergence de la méthode de relaxation SOR). Si la matrice


A est hermitienne dénie positive, la méthode de relaxation par points ou par blocs converge si
0<ω<2

65
SÉRIE D'EXERCICE N3
Exercice 1 :
On considère le système
 AX = b dénie
 par:
−3 2 1 0 1
 6 −5 −2 −1   −1 
A=  et b =  
 0 −2 1 0   1 
3 −5 1 3 −1
Résoudre le système par la méthode de Gauss ordinaire et en déduire det(A)
On considère le système
 A1 X = b1 déni
 par :

2 1 3 −1 1
 4 3 1 0   2 
A1 =  et b1 =  
 2 1 2 −2   3 
−2 −1 1 −2 5
Résoudre le système par la méthode de Gauss ordinaire et en déduire det(A)

Exercice 2 :
on considère la matrice :  
10 7 8 7
 7 5 6 5 
A=
 8

6 10 9 
7 5 9 10
1. Factoriser par la méthode de Gauss en produit LU
2. Calculer L'inverse de la matrice A

Exercice 3 :
   
2 −1 4 0 1
 −4 −1 5 1  0
  
Soit A=
 −2 b =
2 −2 3  1
0 3 9 4 0
1. Donner une décomposition de la matrice sous la formeA = LU
2. Résoudre le système AX = b

Exercice 4 :
considérons le système suivant :
    
1 2 0.5 x1 2
 2 5 1.5   x2  =  5 
0.5 1.5 1.5 x3 2.5

1. Vérier que la matrice est symétrique dénie positive

2. Résoudre le système par la méthode de cholesky

66
Exercice 5 :
Soit A ∈ Mn×n (R) ; dénie par :

 
 1
3 min(i, j) − 1 si i 6= j
aij = et b =  2 
4i2 + i − 1 si i = j
3

1. Écrire A pour n = 4, décomposer A par Cholesky.

2. Résoudre le système AX = b par cette décomposition.

Exercice 6 :
On considère la matrice A et le vecteur b
   
6 −2 2 0
A =  −2 5 0  b =  23 
2 0 7 16

1. Résoudre le systèmeAX =b par la méthode de Gauss,Donner la décomposition LU de A ,en


−1
déduire A .

2. Retrouver A−1 par la méthode de Gauss Jordan.

3. Montre que A est symétrique dénie positive.résoudre alors le système AX = b par la méthode
de cholesky

4. Résoudre le même système avec avec une précision  = 10−2 par la méthode de Jacobi,on
(0)
partira de : X = (1 0 0)t
5. Résoudre le système AX = b par la méthode de Gauss seidel, on prendra le même vecteur
initial qu'à la question précédent et avec la même précision.

Exercice 7 :
Considérons les deux systèmes linéaires suivants :
 
 5x1 + 2x2 − x3 = 3  5x1 + 2x2 − x3 = 3
x1 + 7x2 + x3 = −6 et 3x1 + 2x2 + 6x3 = 1
3x1 + 2xx + 6x3 = 1 6x1 + 9x2 = −3
 

1. Écrire les deux systèmes sous forme matricielle.

2. Résoudre le premier système par la méthode de gauss puis la méthode de LU , déduire la solution
de système 2.

3. Est ce qu'on peut appliquer la méthode de Jacobi sur le système 2.

4. Appliquer les méthodes de Jacobi et gauss siedel sur le système 1(4 itération).

5. Est ce que ces deux méthode converge.

6. Donner l'erreur de calcule ||X 4 − X||

67
Exercice 8 :
Soit A ∈ Mn×n (R) telle que aij = 1 pour i 6= j et aii = 0 pour i=j
1. Montrer que A est régulière. (pour ça montrer que AX = 0 , X = 0 )

2. Calculer A2 , en déduire A−1 :Calculer cond∞ (A) = ||A||∞ ||A−1 ||∞ Conclusion.

Exercice 9 :
Soit le système d'équations :

 10x1 − 2x2 = 8
−6x1 + 11x2 − 5x3 = 0 (1)
−7x2 + 9x3 = 2

1. Écrire le processus itératif associe à la décomposition A = A1 − A2 pour la résolution du


(2) (0)
système (1) AX = b où A1 = 10I . Calculer X à partir de X = 0 et étudier la convergence
du processus.

2. Écrire les itérations de Jacobi pour la résolution de (1) Calculer X (2) partant de X (0) = 0 et
étudier la convergence du processus.

(1) Calculer X (2) ainsi que l'estimation


3. Écrire les itérations de Gauss-Seidel pour la résolution de
d'erreur en norme L∞ . Quel est le nombre d'itérations à partir duquel on a ||X
(k)
− X|| < 10−2

Exercice 10 :
Soit la matrice :  
0.9 1
B=
0 0.9
1. Calculer ||B||1 , ||B||2 , ||B||∞
2. Calculer ρ(B)
3. Le processus x(k+1) = Bx(k) + c converge- t-il ∀x(0) ∈ R2

Exercice 11 :
On considère la matrice A
 
1 0 β
A= α 1 β  (α, β) ∈ R2 α > 0.
−β β 1

1. Déterminer le domaine D1 = {(α, β) ∈ R2 /A est DDS} Que pouvez-vous conclure concernant


la convergence des méthodes de Jacobi et Gauss-Seidel associées au système AX = b

2. Déterminer le domaine D2 (respD20 ) qui donne l'ensemble des couples (α, β) pour lesquels la
méthode de Jacobi (resp Gauss-Seidel) converge.Comparer D1 et D2 (resp D0 )
1 T
3. On pose α=β= 3
et b = (4; 5; 3) , calculer les 3 premiers itérés du processus de Jacobi (resp
Gauss-Seidel) associé au système AX = b. Estimer l'erreur commise (on utilisera la norme
||.||1 ).

68
Exercice 12
Soit A ∈ Mn×n (R) une matrice orthogonale, c'est-à-dire AAt = At A = In .
1. Sachant que < X, Y >= Y t X, montrerque < AX, AY >=< X, Y >, ∀X; Y ∈ Rn .
2. Montrer que ||AX||2 = ||X||2 ∀ X ∈ Rn
3. Montrer que si B est orthogonale alors AB est orthogonale

4. Montrer que ||AB||2 = ||B||2 , ∀B ∈ Mn (R), ||A||2 = 1.


5. Montrer que det(A) = ±1

Exercice 13

(k+1) (k) (k)
 x1
 = 2x1 + x2 − 2
(k+1) (k)
Soit le processus itératif : x2 = 2x2 − 1
 x(k+1) = 1 x(k)

3 3 3

1. Le processus converge-t-il ∀X (0) ∈ R3 :

2. Qu'en est-il pour X (0) = (1; 1; α)t ? Conclusion.

Exercice 14 :
On considère les matrices suivantes
   
2 −1 0 2 1 1
A =  −1 2 1 B =  1 2 1 
0 1 2 1 1 2

1. Montrer que les matrices A et B sont symétriques dénies positives. En déduire la convergence
du processus de Gauss-Seidel.

2. Calculer JA et ρ(JA ) (resp JB et ρ(JB )), conclusion.

Exercice 15 :
On considère le système AX = b dénie par

   
4 −2 1 0 1
 −2 5 0 −1   0 
A= b =  
 1 0 5 −2   0 
0 −1 −2 4 1

1. Les processus de Jacobi et de Gauss-Seidel convergent-ils ∀X (0) ∈ R4 .


2. Écrire le processus itératif de Jacobi et calculer X (3) (X (0) = 0)
3. Écrire le processus itératif de Gauss-Seidel et calculer X (3) (X (0) = 0) .

69
Exercice 16 :
Soit  
2 −1
A=
−1 2
1. Calculer la matrice Lω de sur relaxation associée à A
2. Quelle est la condition de convergence de cette méthode ?

3. Tracer le graphe de ρ(Lω ). Montrer qu'il existe ω∗ tel que :

minρ(Lω ) = ρ(Lω∗ ) = ω ∗ − 1

4. Comparer ρ(L) ρ(L1 ) ρ(Lω )

Exercice 17
on considère le système AX = b où
   
4 −1 0 0 α
 −1 4 −1 0   β 
A=
 0 −1
 et b=  
4 −1   β 
0 0 −1 4 α

soit X sa solution

1. Montrer que ce système est équivalent à X = BX + f où


0 14 0 0
 
 1 0 1 0  1
B= 4 4
 0 1 0 1  et f = 4 b

4 4
0 0 14 0

2. On dénit le processus X (K+1) = BX (k) + f , X 0 ∈ R4 , Montrer que :

1
||X (k+1) − X||∞ ≤ ||X k − X||∞
2
et en déduire la convergence du processus ; calculer sa limite.

Exercice 18
   
4 −1 0 0 4
 −1 4 −1 0   8 
Soit A= ,b =  
 0 −1 4 −1   12 
0 0 −1 4 26
1. Montrer que les méthodes de Jacobi, Gauss-Seidel et Relaxation, pour ω ∈]0, 2[, appliquées à
AX = b convergent.

2. Calculer les matrices de Jacobi J , de Gauss-Seidel L1 et de Relaxation Lω , ω ∈]0; 2[,


3. Calculer 4 itérations par la méthode de Jacobi, 3 itérations par la méthode de Gauss-Seidel et
2 itérations par la méthode de Relaxation

4. Calculer la solution exacte X de AX = b ainsi que ||X (k+1) − X (k) ||p pour p = 1, 2, ∞ dans les
trois méthodes pour k = 3, 2, 1.

70
CHAPITRE

INTERPOLATION ET APPROXIMATION

POLYNOMIALE

Ce chapitre traite de l'approximation d'une fonction dont on ne connaît les valeurs qu'en certains
points. Plus précisément, étant donnée n + 1 couples (xi , yi ), le problème consiste à trouver une
fonction φ = φ(x) telle que φ(xi ) = yi pour i = 0, · · · , m, où les yi sont des valeurs données. On
dit alors que φ interpole {yi } aux n÷uds {xi }. On parle d'interpolation polynomiale quand φ
est un polynôme,d'approximation trigonométrique quand φ est un polynôme trigonométrique
et d'interpolation polynomiale par morceaux (ou d'interpolation par fonctions splines)
si φ est polynomiale par morceaux.Les quantités yi peuvent, par exemple, représenter les valeurs aux
n÷uds xi d'une fonction f connue analytiquement ou des données expérimentales. Dans le premier cas,
l'approximation a pour but de remplacer f par une fonction plus simple en vue d'un calcul numérique
d'intégrale ou de dérivée. Dans l'autre cas, le but est d'avoir une représentation synthétique de données
expérimentales dont le nombre peut être très élevé.

4.1 Interpolation Polynomiale


Théorème 4.1.1 Un polynôme de degré n dont la forme générale est :

pn (x) = a0 + a1 x1 + a2 x2 + · · · + an xn (4.1)

possède très exactement n racines qui peuvent être réelles ou complexes conjuguées. (On sait que r est
une racine de pn (x) si pn (r) = 0)

Corollaire 4.1.1 Par (n + 1) points de collocation ((xi , f (xi )) pour i = 0, 1, 2, · · · , n), on ne peut
faire correspondre qu'un et un seul polynôme de degré inférieure ou égale à n.

démonstration :
On procède par l'absurde et on suppose l'existence de 2 polynômes de degré n, notés p(x) et q(x),

71
et qui passent tous les deux par les (n + 1) points de collocation donnés. On considère ensuite la
diérence :
R(x) = p(x) − q(x)
qui est également un polynôme de degré au plus n. Ce polynôme vérie :

R(xi ) = p(xi ) − q(xi ) = f (xi ) − f (xi ) = 0


et ce pour i allant de 0 à n. Le polynôme R(x) posséderait donc (n + 1) racines, ce qui est impossible
en vertu du théorème précédent.

4.1.1 Matrice de Vandermonde


Le problème d'interpolation consiste donc à déterminer l'unique polynôme de degré n passant par les
(n + 1) points de collocation ((xi , f (xi )) pour (i = 0, 1, 2, 3, · · · , n). Selon le théorème précédent, il
ne saurait y en avoir deux. Il reste maintenant à le construire de la manière la plus ecace et la plus
générale possible. Une première tentative consiste à déterminer les inconnues ai ; du polynôme 3.1 en
vériant directement les (n + 1) équations de collocation :

Pn (xi ) = f (xi ) pour i = 0, 1, 2, · · · , n


ou encore
a0 + a1 xi + a2 x2i + a3 x3i + · · · + an xni = f (xi )
qui est un système linéaire de (n + 1) équations en (n + 1) inconnues. Ce système s'écrit sous forme
matricielle :     
1 x0 x20 · · · xn0 a0 f (x1 )

 1 x1 x21 · · · xn1   a1   f (x2 ) 
   

 1 x2 x22 · · · xn2   a2   f (x3 ) 
 =
  
. . . .   ..   .. 
. . . .

 . . . ... .  .   . 
2 n
1 xn xn · · · xn an f (xn )
La matrice de ce système linéaire porte le nom de matrice de Vandermonde. On peut montrer que
le conditionnement de cette matrice augmente fortement avec la taille (n + 1) du système. De plus,
comme le révèlent les sections qui suivent, il n'est pas nécessaire de résoudre un système linéaire pour
calculer un polynôme d'interpolation. Cette méthode est donc rarement utilisée.

Exemple :On doit calculer le polynôme passant par les points (0, 1), (1, 2), (2 , 9) et (3, 28). Etant
donné ces 4 points, le polynôme recherché est tout au plus de degré 3. Ses coecients ai sont solution
de :

   
1 0 0 0 a0 1
 1 1 1 1   a1   2 
  = 
 1 2 4 8   a2   9 
1 3 9 27 a3 28
dont la solution est [1, 0, 0, 1]T . Le polynôme recherché est donc : p3 (x) = 1 + x3
Remarque 4.1.1 Le déterminant de la matrice de Vandermonde pour lequel tous les xi sont diérents
est : Y Y
(xi − xj )
0≤i<n i<j≤n

Comme conséquence immédiate il s'ensuit que la solution existe et qu'elle est unique.

72
4.1.2 Interpolation de Lagrange
A l'époque de Lagrange (1736 − 1813), le calcul des coecients ne pouvait pas s'eectuer par la
résolution d'un système linaire dés que l'ordre de la matrice dépassait quelques unités, et Lagrange
proposa une technique qui a permis de réaliser directement l'interpolation sans calculer explicitement
les coecients du polynôme. C'est cette méthode que nous exposons maintenant.

Base de Lagrange
il est facile d'obtenir un polynôme d'interpolation lorsque toutes les valeurs p(xj ) sont égale à zéro
sauf une, qui est xée à 1 soit k un entier donné entre 0 et n et supposons que l'on ait p(xk ) = 1 et
p(xj ) = 0 pour j 6= k soit Lk la fonction dénie par :

(x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )


Lk (x) =
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
clairement, le numérateur de Lk est un polynôme de degré n en t Le dénominateur de LK est une
constante et il est alors facile de vérier que :

Lk est un polynôme de degré n


1.

2. Lj = 0 si j 6= k, 0 ≤ j ≤ n

3. Lk = 1

Les polynômes L0 , L1 , L2 · · · , Ln sont linéairement indépendants. Notons maintenant Pn l'espace


vectoriel formé par tous les polynôme de degré inférieur ou égale à n,il
est bien connu que Pn est
2 n
un espace vectoriel de dimension (n + 1) et que sa base canonique est donnée par :1, x, x , · · · , x . Le
fait que L0 , L1 , L2 · · · , Ln soient des polynôme de degré n linéairement indépendants montre que ces
derniers forment aussi une base de Pn
Dénition 4.1.1 nous dirons que L0 , L1 , L2 · · · , Ln est la base de Lagrange de Pn associée aux points
t0 , t1 , t2 , · · · , tn

Polynôme de Lagrange
Théorème 4.1.2 le polynôme d'interpolation de Lagrange qui passe par (xi , yi ) pour i = 0, 1, 2, · · · , n
est donnée par :
n n
X Y x − xj
p(x) = yi Li (x) où Li (x) = (4.2)
i=0
x − xj
j=0 i
j6=i

Exemple
Reprenons les points (0, 1),(1, 2),(2, 9) et (3, 28), pour lesquels nous avons obtenu le polynôme
p3 (x) = x3 + 1 à l'aide de la matrice de Vandermonde. L'interpolation de Lagrange donne dans ce
cas :
(x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3) (x − 0)(x − 1)(x − 3)
p3 (x) = 1 +2 +9
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3) (2 − 0)(2 − 1)(2 − 3)
(x − 0)(x − 1)(x − 2)
+28
(3 − 0)(3 − 1)(3 − 2)
Enn, le polynôme calculé permet d'obtenir une approximation de la fonction inconnue f (x) partout
dans l'intervalle contenant les points de collocation, c'est-à-dire [0, 3]. Ainsi, on a : f (2, 5) ' p3 (2, 5) =
16, 625 avec une précision qui sera discutée.

73
l'erreur de l'interpolation de Lagrange
Théorème 4.1.3 considérons pn le polynôme d'interpolation de f aux points x0 , x1 , · · · , xn et supposons
que f soit de classe C n+1 . Il existe alors une constante ξ élément du plus petit intervalle contenant
x0 , x1 , · · · , xn et x tel que l'erreur d'interpolation soit égale à :
n
Y f (n+1) (ξ(x))
En (x) = f (x) − pn (x) = (x − xj )
i=0
(n + 1)!

cette erreur est majorée par :


Qn
i=0 (x− xj ) (xn − x0 )n+1
|En (x)| ≤ max |f (n+1) (x)| < max |f (n+1) (x)|
(n + 1)! x∈[a,b] (n + 1)! x∈[a,b]

Soit maintenant une fonction f : [a, b] → R continue et donnée sur un intervalle fermé [a, b].soit
n un entier positif et considérons le cas où les points tj , j = 0, · · · , n sont équidistribués dans
[a, b],c'est-à-dire xj = a + jh, j = 0, · · · , n avec h = (b − a)/n Soit p l'interpolant de f de degré
n aux points x0 , x1 , · · · , xn que nous noterons pn ,

Théorème 4.1.4 Supposons que f soit (n+1) fois continûment dérivable sur l'intervalle[a, b]. Alors :

(b − a)(n+1)
max |f (x) − pn (x)| ≤ max |f (n+1) (x)|
x∈[a,b] n(n + 1)! x∈[a,b]

Remarque 4.1.2 La méthode d'interpolation de Lagrange présente un inconvénient majeur : elle


n'est pas récursive. En eet, si on souhaite passer d'un polynôme de degré n à un polynôme de degré
(n + 1) (en ajoutant un point de collocation), on doit reprendre tout le processus à zéro. on ne peut
d'aucune façon récupérer le polynôme de degré n déjà calculé et le modier simplement pour obtenir
pn+1 (x). C'est en revanche ce que permet la méthode d'interpolation de Newton.

4.1.3 Interpolation de Newton


Lorsqu'on écrit l'expression générale d'un polynôme, on pense immédiatement à la forme 4.1, qui est
la plus utilisée. Il en existe cependant d'autres qui sont plus appropriées au cas de l'interpolation, par
exemple :

p(x) = a0
+ a1 (x − x0 )
+ a2 (x − x0 )(x − x1 )
(4.3)
+ a3 (x − x0 )(x − x1 )(x − x2 )
.
.
.
+ an (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−1 ).

On remarque que le coecient de an comporte n monômes de la forme (x − xi ) et qu'en conséquence


le polynôme 4.3est de degré n

74
L'aspect intéressant de cette formule apparaît lorsqu'on essaie de déterminer les (n + 1) coecients
ai de telle sorte que pn (x) passe par les (n + 1) points de collocation (xi , f (xi )) pour i = 0, 1, 2, · · · , n.
On doit donc s'assurer que :

Pn (xi ) = f (xi ) pour i = 0, 1, 2, · · · , n

Les coecients de la forme 4.3 s'annulent tous en x = x0 , sauf le premier. On peut ainsi montrer que
le premier coecient est :a0 = f (x0 )
On doit ensuite s'assurer que pn (x1 ) = f (x1 ),c'est-à-dire :

pn (x1 ) = a0 + a1 (x1 − x0 ) = f (x0 ) + a1 (x1 − x0 ) = f (x1 )


f (x1 )−f (x0 )
ce qui permet d'isoler a1 pour obtenir :a1 = x1 −x0

Dénition 4.1.2 On dénit les premières diérences divisées de la fonction


f (xi+1 ) − f (xi )
F [xi , xi+1 ] = (4.4)
xi+1 − xi

Ainsi, le coecient ai peut s'écrire :a1 = F [x0 , x1 ]


Le troisième coecient (a2 ) est à son tour déterminé par :

Pn (x2 ) = f (x0 ) + f [x0 , x1 ](x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 )


f [x1 ,x2 ]−f [x0 ,x1 ]
En isolant a2 , on obtient : a2 =
x2 −x0
On en arrive donc à une expression qui fait intervenir
une diérence divisée de diérences divisées.

Dénition 4.1.3 Les deuxièmes diérences divisées de la fonction f (x) sont dénies à partir des
premières diérences divisées par la relation :
F [xi+1 , xi+2 ] − F [xi , xi+1 ]
F [xi , xi+1 , xi+2 ] = (4.5)
xi+2 − xi

De même, les nes diérences divisées de la fonction f (x) sont dénies à partir des (n − 1)es diérences
divisées de la façon suivante :
F [x0 , x1 , · · · , xn−1 ] − F [x1 , x2 , · · · , xn ]
F [x0 , x1 , x2 , · · · , xn ] = (4.6)
xn − x0

Notons que les toutes premières diérences divisées de f (x) (soit les 0es diérences) sont tout simplement
dénies par f (xi ).

Suivant cette notation, on a : a2 = f [x0 , x1 , x2 ] On peut soupçonner à ce stade-ci que le coecient a3


est : a3 = F [x0 , x1 , x2 , x3 ] qui est une troisième diérence divisée de f (x). C'est eectivement le cas.
Le théorème suivant résume la situation.

Théorème 4.1.5 L'unique polynôme de degré n passant par les (n+1) points de collocation ((xi , f (xi )
pour i = 0, 1, 2, · · · , n) peut s'écrire selon la formule d'interpolation de Newton (4.3) ou encore sous
la forme récursive :
pn (x) = pn−1 (x) + an (x − x0 )(x − x1 ) · · · (x − xn−1 ) (4.7)

Les coecients de ce polynôme sont les diérences divisées :

ai = F [x0 , x1 , · · · , xi ] pour 0 ≤ i ≤ n (4.8)

75
Quelques propriétés des diérences divisées de Newton
1. la valeur prise par la diérence divisée est invariante par permutation des indices des n÷uds.
Ceci peut être utilisé avec prot quand des problèmes de stabilité suggèrent d'échanger des
indices

2. si f = αg + βh pour α, β ∈ R, alors f [x0 , · · · , xn ] = αg[x0 , · · · , xn ] + βh[x0 , · · · , xn ] ;


3. si f = gh, on a la formule suivante (appelée formule de Leibniz))

n
X
f [x0 , · · · , xn ] = g[x0 , · · · , xj ]h[xj , · · · , xn ]
j=0

4. une manipulation algébrique de donne la formule de récurrence suivante permettant le calcul


des diérences divisées :

F [x1 , · · · , xn ] − F [x0 , · · · , xn−1 ]


F [x0 , · · · , xn ] = , n ≥ 1.
xn − x 0

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 ]
Les coecients intervenant dans la formule de Newton sont les éléments diagonaux de la
matrice.

Exemple 4.1.1 La table de diérences divisées pour les points (0, 1), (1, 2), (2, 9) et (3, 28) est :

xi f (xi )
0 1
1 2 1
2 9 7 3
3 28 19 6 1

Suivant la formule de Newton (4.3), avec x0 = 0, le polynôme de collocation est :

p3 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1) + 1(x − 0)(x − 1)(x − 2) = x3 + 1

qui est le même polynôme (en vertu de l'unicité) que celui obtenu par la méthode de Lagrange. On
remarque de plus que le polynôme :

p2 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1)

passe quant à lui par les trois premiers points de collocation. Si on souhaite ajouter un point de
collocation et calculer un polynôme de degré 4, il n'est pas nécessaire de tout recommencer. Par
exemple, si on veut inclure le point (5, 54), on peut compléter la table de diérences divisées déjà
utilisée.

76
xi f (xi )
0 1
1 2 1
2 9 7 3
3 28 19 6 1
−3
5 54 13 -2 -2
5

Ce polynôme de degré 4 est alors :

−3
p4 (x) = p3 (x) + (x − 0)(x − 1)(x − 2)(x − 3)
5
qui est tout simplement le polynôme de degré 3 déjà calculé auquel on a ajouté une correction de
degré 4.

l'erreur de l'interpolation de Newton


L'interpolation permet, à partir d'un certain nombre de données sur les valeurs d'une fonction, de faire
l'approximation de f (x) en tout point x. Toutefois, cette opération entraîne une erreur d'interpolation
qu'il convient d'étudier en détail, d'autant plus que les résultats nous serviront également dans
l'analyse de l'intégration et de la dérivation numériques. On peut exprimer l'erreur d'interpolation
de la façon suivante :
En (x) = f (x) − pn (x)
Cela signie que le polynôme pn (x) de degré n procure une approximation de la fonction f (x) avec une
erreur En (x). Il reste à évaluer cette erreur. On constate immédiatement que l'erreur d'interpolation
est nulle aux points de collocation puisque le polynôme passe exactement par ces points.

Remarque 4.1.3 On suppose que les données des points (xi , f (xi )) sont exactes, ce qui n'est pas
toujours le cas. En eet, si ces données proviennent de mesures expérimentales, elles peuvent être
entachées d'une erreur de mesure. Dans ce qui suit, nous supposons que cette erreur est nulle. Le
résultat suivant donne une expression analytique du terme d'erreur

Théorème 4.1.6 Soit x0 < x1 < x2 < · · · < xn , des points de collocation. On suppose que la fonction
f (x) est dénie dans l'intervalle l'intervalle [x0 , xn ] et qu'elle est (n + 1) fois dérivable dans ]x0 , xn [.
Alors, pour tout x compris dans [x0 , xn ] il existe ξ( x) appartenant à l'intervalle ]x0 , xn [ tel que :
n
Y f (n+1) (ξ(x))
En (x) = f (x) − pn (x) = (x − xj ) (4.9)
i=0
(n + 1)!

La relation (4.9) est l'expression analytique de l'erreur d'interpolation. Plusieurs commentaires sont
nécessaires pour bien comprendre ce résultat.
 On constate immédiatement que En (xi ) = 0 quel que soit i choisi entre 0 et n. L'erreur
d'interpolation est nulle aux points de collocation.
 La fonction a priori inconnue f apparaît par l'entremise de sa dérivée d'ordre (n + 1) évaluée
au point ξ(x), également inconnu et qui varie avec x.
 Il existe une similarité entre l'erreur d'interpolation et l'erreur reliée au développement de
Taylor . Dans les deux cas, on montre l'existence d'un point ξ(x) permettant d'évaluer l'erreur
mais que l'on ne peut généralement pas déterminer.

77
 Puisque le terme d'erreur en un point x fait intervenir des coecients de la forme (x − xj ), il y
a tout intérêt à choisir les points xj qui sont situés le plus près possible de x. Ce choix est utile
lorsqu'un grand nombre de points de collocation sont disponibles et qu'il n'est pas nécessaire
de construire un polynôme passant par tous les points. On retient alors seulement les points de
collocation les plus près de x de manière à minimiser l'erreur.
Yn
 La fonction (x − xj ) est un polynôme de degré (n + 1) et possède donc les (n + 1) racines
i=0
réelles (xi pour i = 0, 1, · · · , n). Dans certaines conditions, cette fonction peut osciller avec
de fortes amplitudes, d'où le risque de grandes erreurs d'interpolation. Cette propriété fait en
sorte qu'il est délicat d'eectuer des interpolations en utilisant des polynômes de degré élevé.
L'expression analytique de l'erreur d'interpolation (4.9) ne permet pas d'évaluer la précision de
l'approximation. Il est cependant souhaitable de pouvoir évaluer cette erreur, même de façon grossière.
Cela est possible avec la formule de Newton. En eet, l'expression (4.9) fait intervenir la dérivée d'ordre
(n + 1) de la fonction f en x=ξ .C'est ce terme qu'il est nécessaire d'estimer, puisque c'est le seul
qui ne puisse être évalué exactement. Considérons le cas particulier où les abscisses x sont également
distantes, c'est-à-dire où : xn+1 − xn = h Il faut établir un lien entre les dérivées de la fonction f et les
diérences divisées. On remarque dans un premier temps que f [x0 , x1 ] est une approximation d'ordre
1 de la dérivée de f en x = x0 f [x0 , x1 ] = f 0 (x0 ) + O(h) En eet, on a :

f (x1 ) − f (x0 ) f (x0 + h) − f (x0 )


f [x0 , x1 ] = =
x1 − x0 h
En utilisant le développement de Taylor, on obtient :

f 00 (x0 )h
f [x0 , x1 ] = f 0 (x0 ) + + O(h2 ) = f 0 (x0 ) + O(h)
2
eme
De même, on peut montrer qu'à une constante près la n diérence divisée de f est une approximation
eme
d'ordre 1 de la dérivée n de f en x = x0 On peut en eet démontrer que :

f n (x0 )
f [x0 , x1 x2 , · · · , xn ] = + O(h)
n!
On suppose que la dérivée (n + 1) de f varie peu dans l'intervalle [x0 , xn ]. On a alors l'approximation
suivante :
f (n+1) (x0 ) f n+1 (ξ(x))
F [x0 , x1 , x2 , · · · , xn , xn+1 ] ' '
(n + 1)! (n + 1)!
On peut ainsi estimer le terme d'erreur 4.9 par :

En (x) = F [x0 , x1 , x2 , · · · , xn , xn+1 ](x − x0 )(x − x1 )(x − x2 ) · · · (x − xn ) (4.10)

Remarque : On remarque immédiatement que l'approximation (4.10) n'est rien d'autre que le terme
nécessaire au calcul du polynôme de degré (n + 1) dans la formule de Newton . En d'autres termes,
il est possible d'évaluer l'erreur d'interpolation liée à un polynôme de degré n en calculant le terme
suivant dans la formule de Newton. L'approximation (4.10) n'est pas toujours d'une grande précision,
mais c'est généralement la seule disponible.
Cela nous amène à suggérer le critère l'arrêté suivant dans le cas de l'interpolation à l'aide de la formule
|pn+1 (x)−pn (x)|
de Newton. On considère que l'approximation pn (x) est susamment précise si : <  où
|pn+1 (x)|
 est une valeur de tolérance xée à l'avance. Il est généralement recommandé de xer également le
degré maximal N des polynômes utilisés.

78
4.1.4 Limites de l'interpolation polynomiale
L'interpolation polynomiale est la base de nombreuses techniques numériques, en particulier les
techniques d'intégration approchée. Elle se généralise de façon naturelle aux cas de dimension supérieure
à un. Cependant elle a des limites :
 théoriques : on n'est pas assuré de la convergence du polynôme d'interpolation vers la fonction
interpolée lorsque l'on fait tendre le nombre de points d'interpolation (et donc le degré du
polynôme) vers l'inni
 numériques : même dans le cas où la convergence théorique est assurée, les instabilités de
calcul provenant de l'accumulation des erreurs d'arrondis, auxquelles le procédé d'interpolation
polynomiale est particulièrement sensible, limite l'usage de cette technique dés que le nombre
de points d'interpolation dépasse la dizaine ;
 pratiques : remarquons que dans de nombreux cas, les valeurs données résultent d'expériences
ou de calculs préalables. Ces valeurs sont donc approximatives. Le problème réel n'est alors
plus un problème d'interpolation, mais plutôt un problème de meilleure approximation pour
lequel les méthodes de moindres carrés, présentées plus bas, sont mieux adaptées.

phénomène du Runge
Supposons qu'on approche la fonction suivante

1
f (x) = , −1 ≤ x ≤ 1 (4.11)
1 + 25x2
la fonction f (x) est inniment dérivable sur l'intervalle [−1, +1] et |f (n) (1)| devient très rapidement
grand lorsque n tend vers l'inni.

lim ||f (x) − pn (x)||∞ = +∞


n−→+∞

La gure 3.1 montre son interpolant pn de degré n aux points xj = −1 + 2j


n
, j = 1, 2 · · · , n pour n = 5
et n = 10

4.1.5 polynôme de Tchebychev


On dénit les polynômes de Tchebychev par :

tn (x) = cos(n arccos(x)), x ∈ [−1, 1]

79
Il n'est pas évident a priori que tn est un polynôme ! Pour le voir, on procède comme suit. Posons
θ = arccos x, c'est-à-dire x = cosθ avec θ ∈ [0, π]. Il vient alors :

tn (x) = cos(nθ)
tn+1 (x) + tn−1 (x) = cos((n + 1)θ) + cos((n − 1)θ)
= 2cos(nθ)cos(θ)
= 2xtn .

La fonction tn se calcule donc par les formules de récurrence

t0 (x) = 1 et t1 (x) = x
tn+1 (x) = 2xtn (x) − tn−1 (x)

Il en résulte que tn est un polynôme de degré n, dont le coecient directeur est 2n−1 si n ≥ 1.
Déterminons les racines de tn . Si x = cosθ ∈ [−1, 1] avec θ ∈ [0, π]. on a tn (x) = cos(nθ) = 0 si et
π
seulement si nθ =
2
+ iπ , soit θ = 2i+1
2n
π avec 0 ≤ i ≤ n − 1 Le polynôme tn admet donc exactement
n racines distinctes :
2i + 1
cos( π) ∈] − 1, 1[, 0 ≤ i ≤ n − 1.
2n
Comme tn est de degré n, il ne peut avoir d'autres racines.

Dénition 4.1.4 Les points d'interpolation de Tchebychev d'ordre n sont les points xi = cos 2n+2
2i+1
π,
0 ≤ i ≤ n, racines du polynôme tn+1 .

Les points xi sont répartis symétriquement autour de 0( avec xn−i = −xi ), de façon plus dense au
n
voisinage de 1 et −1 : Puisque le coecient directeur de tn+1 est 2 , il vient

n
Y
tn+1 (x) = 2n (x − xi ) = 2n πn+1 (x).
i=0

Pour se ramener à un intervalle [a, b] quelconque au lieu de [−1, 1], on utilisera la bijection linéaire

[−1, 1] → [a, b]
u 7−→ x = a+b
2
+ b−a
2
u

qui envoie −1 a et 1 sur b. Les images des points d'interpolation de Tchebychev ui ∈] − 1, 1[


sur
a+b
sont donnés par : xi =
2
+ b−a
2
2i+1
cos 2n+2 π Ces points sont encore appelés points d'interpolation de
b−a
Tchebychev d'ordre n de l'intervalle [a, b]. Dans ce cas, on a x − xi = (u − ui ), donc le polynôme
2
πn+1 est donné par :
n n
Y b − a n+1 Y
πn+1 (x) = (x − xi ) = ( ) (u − ui )
i=0
2 i=0
Qn 1
où i=0 (u − ui ) = 2n tn+1 (u) est le polynôme πn+1 (u) correspondant à [−1, 1]. On obtient donc

(b − a)n+1 (b − a)n+1 2 a+b


πn+1 (x) = 2n+1
tn+1 (u) = 2n+1
tn+1 ( (x − ))
2 2 b−a 2

80
4.1.6 Interpolation de Hermite
Charles Hermite(1822-1901) a généralisé l'interpolation de Lagrange en faisant coïncider non seulement
f et pn aux points xi mais aussi leurs dérivées d'ordre ki aux points xi .

Un premier exemple
pour illustrer la méthode ,nous présentons un exemple qui est l'interpolation d' Hermite par des
0 0
cubiques(des polynômes de degré 3 ). soit x0 et x1 deux point donnés et soit p0 , p1 , pO , p1 quatre
nombres réels donnés nous cherchons un polynôme p de degré 3 tel que :

p(x0 ) = p0 , p(x1 ) = p1 (4.12)

p0 (x0 ) = p00 , p0 (x1 ) = p01 (4.13)

où p0 (x) est la dérivée de p au point x. un polynôme de degré 3 s'écrit sous la forme p(x) = a0 +
a1 x + a2 x2 + a3 x3 nous avons donc xé dans (4.12)(4.13) quatre conditions pour déterminer quatre
coecients a0 , a1 , a2 , eta3 si on montre que ce système linéaire a toujours une solution pour n'importe
0 0
quelle valeur p0 , p1 , pO , p1 ; alors cette solution est unique. pour construire p, nous commençons par
construire une base H0 , H1 , K0 , K1 des polynômes de degré 3 associée aux points x0 et x1

1. On construit H0 tel que H0 soit un polynôme de degré 3 et

H0 (x0 ) = 1, H00 (x0 ) = H0 (x1 ) = H00 (x1 ) = 0;

On vérie que l'on a :


(x − x1 )2 (2x + x1 − 3x0 )
H0 (x) = −
(x0 − x1 )3
2. De même, On construit H1 tel que H1 soit un polynôme de degré 3 et

H1 (x1 ) = 1, H10 (x0 ) = H1 (x1 ) = H10 (x1 ) = 0;

On vérie que l'on a :


(x − x1 )2 (2x + x0 − 3x1 )
H1 (x) = −
(x1 − x0 )3
3. De même, On construit K0 tel que K0 soit un polynôme de degré 3 et

K00 (x0 ) = 1, K0 (x0 ) = K0 (x1 ) = K10 (x1 ) = 0;

On vérie que l'on a :


(x − x1 )2 (x − x0 )
K0 (t) =
(x1 − x0 )2
4. De même, On construit K1 tel que K1 soit un polynôme de degré 3 et

K10 (x1 ) = 1, K1 (x1 ) = K1 (x0 ) = K10 (x0 ) = 0;

On vérie que l'on a :


(x − x0 )2 (x − x1 )
K0 (t) =
(x1 − x0 )2
les quatre polynômes sont linéairement indépendants.

81
Dénition 4.1.5 les quatre polynômes forment une base de que nous appellerons base d' Hermite de
type cubique associée à x0 et x1

Dans la gure 3.2 nous avons représenté H0 , H1 , K0 , K1 sur l'intervalle [x0 , x1 ] uniquement.
ayant construit la base d'Hermite H0 , H1 , K0 , K1 des polynômes de degré 3 associée aux points x0 , x1
nous vérions facilement que si p est le polynôme de degré 3 déni par :

p(x) = p0 H0 (x) + p1 H1 (x) + p00 K0 (x) + p01 K1 (x)

une première généralisation


Théorème 4.1.7 soit n ≥ 0 et supposant avoir xi , i = 0 · · · n (n+1) point distincts, et deux ensembles
de nombre réels yi et zi , i = 0 · · · n, donc il existe un seul polynôme de degré 2n + 1 tel que :
p2n+1 (xi ) = yi ; p02n+1 (xi ) = zi , i = 0 · · · , n. (4.14)

Construction de polynôme de Hermite


nous commençons par la constructions des polynômes auxiliaires Hk etKk , k = 0 · · · , n dénie par :

Hk (x) = [Lk (x)]2 (1 − 2L0k (x)(x − xk ))


Kk (x) = [Lk (x)]2 (x − xk )
sachant que :
n
Y x − xj
Lk (x) =
x − xj
j=0 k
j6=k

les polynôme Hk etKk vérient les propriétés suivantes :



1 i=k
Hk (xi ) = Hk0 (xi ) = 0, pour i, k = 0 · · · n.
6 k
0 i=

1 i=k
Kk0 (xi ) = Kk (xi ) = 0, pour i, k = 0 · · · n.
6 k
0 i=
nalement on déduire que :
n
X
p2n+1 = [yk Hk + zk Kk ] (4.15)
k=0

82
Cas général
(xi , f (k) (xi )), pour i = 0, · · · , n, k = 0, · · · , mi où mi ∈ N. En posant N = ni=0 (mi + 1),
P
On se donne
on peut montrer que si les n÷uds {xi } sont distincts, il existe un unique polynôme HN −1 ∈ PN −1 ,
appelé polynôme d'interpolation d' Hermite, tel que :
(k) (k)
HN −1 (xi ) = yi , i = 0, · · · , n, k = 0, · · · , mi .

Ce polynôme s'écrit :
mi
n X
X
(k) (k)
HN −1 (x) = yi Lik (x) (4.16)
i=0 k=0

où yik = f (k) (xi ), i = 0, · · · , n, k = 0, · · · , mi


Les fonctions Lik ∈ PN −1 sont appelées polynômes caractéristiques d' Hermite et sont dénies par les
relations :
dp

1 si i = j et k = p
(Lik )(xj ) =
dx p 0 sinon
En dénissant les polynômes :

n  mk +1
(x − xj )j Y x − xk
lij (x) = ,
j! k=0
xi − xk
k6=i

et en posant Limi (x) = limi (x) pour i = 0, · · · , n, on a les relations de récurrence suivantes pour les
polynômes Lij :
mi
X (k)
Lij (x) = lij (x) − lij (xi )Lik (x) j = mi − 1, mi − 2, · · · , 0
k=j+1

Erreur d'interpolation d' Hermite


concernant l'erreur d'interpolation, on a l'estimation :

f (N ) (ξ)
E(x) = f (x) − HN −1 (x) = ΩN (x)∀x ∈ R
N!
où ξ ∈ (x; x0 , · · · , xn ) et ΩN est le polynôme de degré N déni par

ΩN (x) = (x − x0 )m0 +1 (x − x1 )m1 +1 · · · (x − xn )mn +1

|ΩN (x)|
cette erreur est majorée par : E(x) ≤ N!
maxx∈[a,b] f (N ) (ξ)∀x ∈ R

4.1.7 Fonction Splines


Nous avons constaté que l'utilisation de polynômes de degré élevé est parfois délicate et peut mener
à des erreurs d'interpolation importantes. De plus, il est parfois nécessaire d'obtenir des courbes très
régulières passant par un grand nombre de points. C'est le cas en conception assistée par ordinateur
(CAO), où l'on cherche à représenter des objets aux formes régulières. Les polynômes de degré élevé
sont alors peu adéquats.

83
On peut mesurer la régularité d'une fonction par le biais de ses dérivées. En eet, plus une fonction est
diérentiable, plus la courbe qui lui est associée est lisse et plus la fonction est régulière. Le problème,
lorsqu'on utilise des polynômes de faible degré, provient du fait qu'il faut en utiliser plusieurs pour
relier tous les points. C'est le cas de l'interpolation linéaire par morceaux, illustrée à la gure (4.4),
qui consiste à relier chaque paire de points par un segment de droite. On utilise aussi l'appellation
splines linéaires. On imagine assez mal comment une telle courbe pourrait permettre de faire le design
d'une carrosserie de voiture ou d'une aile d'avion. Il faut donc être plus prudent à la jonction de
ces diérents segments de courbe. Une voie très populaire consiste à utiliser dans chaque intervalle
[xi−1 , xi ] un polynôme de degré 3 de la forme :
Pi (x) = ai x3 + bi x2 + Ci x + di pour i = 1, 2, · · · , n

et à relier ces diérents polynômes de façon à ce que la courbe résultante soit deux fois diérentiable.
C'est l'interpolation par splines cubiques. Supposons que l'on a (n + 1) points d'interpolation et
donc n intervalles [xi−1 , xi ]. Cela indique qu'il y a 4n coecients (ai , bi , ci , di pour i = 1, 2, · · · , n)
à déterminer. La situation est décrite à la gure (4.5) pour n = 4. Ces An coecients doivent
être déterminés le plus ecacement possible pour que la méthode reste attrayante. Une résolution
astucieuse conduit à un système linéaire tridiagonal de dimension (n − 1). On sait que les systèmes
tri diagonaux sont très faciles à résoudre puisque la décomposition LU se réduit dans ce cas à peu
d'opérations. Voyons combien de conditions ou d'équations nous pouvons imposer à ces 4n coecients.
Ces équations proviennent des conditions de régularité que l'on souhaite imposer à la courbe résultante.
Pour faciliter la compréhension, il est préférable de distinguer parmi les points d'interpolation les deux
extrémités et les (n−1) points intérieurs. Les deux extrémités sont les points (x0 , f (xo)) et (xn , f (xn )).
Une attention particulière doit être portée aux points intérieurs, qui se trouvent à la jonction de deux

84
polynômes de degré 3. Voici les contraintes imposées aux n polynômes de degré 3 :

Le polynôme p1 passe par la première extrémité (x0 , f (x0 )), c'est-à-dire :

P1 (x0 ) = f (x0 )

et de même à l'autre extrémité :


Pn (xn ) = f (xn )
ce qui introduit 2 équations. Par chaque point intérieur i = 1, 2, · · · , n − 1) passent deux
(xi pour
polynômes, soit pi
déni dans l'intervalle [xi−1 , xi ] et pi+1 déni dans [xi , xi+1 ]. Ces deux polynômes
doivent passer par le point [xi , f (xi )], c'est-à-dire : Pi (xi ) = f (xi ) pour i = 1, 2, · · · , n−1 et Pi+i (xi ) =
f (xi ) pour i = 1, 2, · · · , n − 1 Cela résulte en 2(n − 1) = (2n − 2) équations supplémentaires. Pour
assurer la régularité de la courbe, on doit imposer que les dérivées premières et secondes de ces deux
polynômes soient continues aux points intérieurs. On doit donc imposer :

Pi0 (xi ) = Pi+i


0
(xi ) Pour i = 1, 2, · · · , n − 1 (4.17)

et
Pi00 (xi ) = Pi+i
00
(xi ) Pour i = 1, 2, · · · , n − 1 (4.18)

Au total, on a (4n − 2) équations en 4n inconnues et il manque donc 2 équations pour pouvoir


résoudre ce système linéaire. Comme nous le verrons plus loin, il existe plusieurs façons de rajouter
ces 2 équations. Voyons maintenant comment déterminer l'équation de la spline Pi (x) dans chacun
des intervalles [xi−1 , xi ]. Il est fort heureusement possible de ramener ce système de (4n − 2) équations

85
en 4n inconnues en un système beaucoup plus petit de (n − 1) équations en (n − 1) inconnues. Ces
(n − 1) inconnues sont tout simplement les valeurs des dérivées secondes (fi00 ) de la spline aux points
d'interpolation. La résolution du système est basée sur la constatation suivante : puisque la spline
est constituée de polynômes de degré 3 dans chaque intervalle, la dérivée seconde de la spline est un
polynôme de degré 1 dans chaque intervalle. De plus, cette dérivée seconde étant continue en vertu de
00
l'équation Ainsi, dans l'intervalle [xi−1 , xi ], la dérivée seconde pi (x) est un polynôme de degré
(4.16),
00 00
1 dont les sommets sont (xi−1 , fi−1 )et(xi , fi ). La formule d'interpolation de Lagrange donne alors :

(x − xi ) (x − xi−1 )
00
p00i (x) = fi−1 + fi00
xi−1 − xi xi − xi−1
En intégrant deux fois cette équation, on obtient d'abord :

(x − xi )2 00 (x − xi−1 )
2
p0i (x) = 00
fi−1 + fi + αi
2(xi−1 − xi ) 2(xi − xi−1 )

et par la suite :

00 (x − xi )3 (x − xi−1 )3
pi (x) = fi−1 + fi00 + αi (x − xi ) + βi
6(xi−1 − xi ) 6(xi − xi−1 )
où lesαi et les βi sont des constantes d'intégration. Dans une première étape, on exprime ces constantes
d'intégration en fonction des inconnues fi00 . La courbe du polynôme Pi (x) déni dans [xi−1 , xi ] doit
passer par les points xi−1 , f (xi−1 ) et (xi , f (xi )). On en déduit que :

(xi − xi−1 )3 (xi − xi−1 )2


pi (xi ) = f (xi ) = fi00 + βi = fi00 + βi
6(xi − xi−1 ) 6
ce qui entraîne que :
(xi − xi−1 )3
βi = f (xi ) − fi00
6(xi − xi−1 )
De même en x = xi−1

00 (xi−1 − xi )3
pi (xi−1 ) = f (xi−1 ) = fi−1 + αi (xi−1 − xi ) + βi
6(xi−1 − xi )

d'où l'on tire, d'après la relation :

00 (xi−1 − xi )2 (xi − xi−1 )2


f (xi−1 ) = fi−1 + αi (xi−1 − xi ) + f (xi ) − fi00
6 6

ce qui permet d'isoler αi pour obtenir :

f (xi ) − f (xi−1 ) (fi00 − fi−1


00
)(xi − xi−1 )
αi = −
(xi − xi−1 ) 6

On en déduit que l'équation de la spline dans l'intervalle [xi−1 , xi ] est :

(x−xi ) 3 (x−xi−1 ) 3
00
pi (x) = fi−1 6(xi−1 −xi )
+ fi00 6(x i −xi−1 )
(fi00 −fi−1
00 )(x −x
i−1 )
+ ( f (x(xi )−f (xi−1 )
i −xi−1 )
− 6
i
)(x − xi )
2
00 (xi −xi−1 )
+ f (xi ) − fi 6

86
ou encore :
(x−xi ) 3 (x−xi−1 ) 3
00
pi (x) = fi−1 6(xi−1 −xi )
+ fi00 6(x i −xi−1 )
00 (x −x
fi−1 i−1 )
− ( (xfi(x i−1 )
−xi−1 )
− i
6
)(x − xi )
f 00 (x −x )
+ ( (xif−x
(xi )
i−1 )
− i i 6 i−1 )(x − xi )
2
+ f (xi ) − fi00 (xi −x6i−1 )
Un dernier eort est nécessaire pour obtenir une forme plus compacte. Il sut de remplacer dans le
quatrième terme à droite le monôme (x − xi ) par l'expression équivalente (x − xi−1 ) + (xi−1 − xi ) On
obtient alors :
(x−xi ) 3 (x−xi−1 ) 3
00
pi (x) = −fi−1 6(xi−1 −xi )
+ fi00 6(x i −xi−1 )
00 (x −x
fi−1 i−1 )
− ( (xfi(x i−1 )
−xi−1 )
− i
6
)(x − xi )
fi00 (xi −xi−1 )
+ ( (xif−x
(xi )
i−1 )
− 6
)(x − xi−1 )
On peut simplier quelque peu l'équation précédente en posant :

hi = xi − xi−1 pour i = 1, 2, · · · , n

ce qui permet d'obtenir :


3 3
pi (x) = 00 (x−xi )
−fi−1 6hi
+ fi00 (x−x6hi−1
i
)

h f 00
− ( f (xhi−1
i
)
− i 6i−1 )(x − xi ) (4.19)
fi00 hi
+ ( f (x
hi
i)
− 6
)(x − xi−1 )
qui est l'équation de la spline dans l'intervalle [xi−1 , xi ].
00
Il reste à déterminer les fi . Des (4n − 2) conditions retenues, seule la continuité de la première dérivée
n'a pas encore été imposée. Pour ce faire, il faut dériver pi (x) dans l'intervalle [xi−1 , xi ]. et pi+i (x)
dans [xi , xi+1 ]., puis évaluer pi (xi ) et pi+i (xi ). On a d'une part :

2 2
p0i (x) = 00 (x−xi )
−fi−1 2hi
+ fi00 (x−x2hi−1
i
)

h f 00
− ( f (xhi−1
i
)
− i 6i−1 )
f 00 h
+ ( f (x
hi
i)
− i6 i )

et d'autre part :
2 2
p0i+1 (x) = −fi00 (x−x i+1 )
2hi+1
00 (x−xi )
+ fi+1 2hi+1
hi+1 fi00
− ( fh(xi)
i+1
− 6
)
f 00 h
+ ( f (xi+1 )
hi+1
− i+16 i+1 )
En égalisant ces deux expressions évaluées en x = xi et en les simpliant, on obtient les (n − 1)
équations suivantes :

00
hi fi−1 + 2(hi + hi+1 )fi00 + hi+1 fi+1 = 6(f [xi , xi+1 ] − f [xi−1 , xi ]) pour i = 1, 2, · · · , n − 1

Une dernière simplication est possible si on divise chaque terme de cette dernière équation par :

hi + hi+1 = xi − xi−1 + xi+1 − xi = xi+1 − xi−1

ce qui donne :

hi 00 hi+1
fi−1 + 2fi00 + 00
fi+1 = 6f [xi−1 , xi , xi+1 ] pouri = 1, 2, · · · , n − 1 (4.20)
(hi + hi+1 ) (hi + hi+1 )

87
On remarque que le terme de droite fait intervenir les deuxièmes diérences divisées. Il y a au total
(n + 1) inconnues fi00 et on n'a que (n − 1) équations. On doit donc xer de façon arbitraire deux des
inconnues. Il existe plusieurs possibilités, mais la plus simple consiste à imposer :

f000 = fn00 = 0

On qualie de spline naturelle la courbe qui en résulte. La spline naturelle impose que la dérivée
seconde est nulle aux deux extrémités et donc que la courbe y est linéaire. Un autre choix possible
consiste à imposer que :
f000 = f100 et fn00 = fn−1
00

ce qui revient à imposer une courbure constante dans le premier et dans le dernier intervalle.

Remarque 4.1.4 D'autres choix sont possibles. Tout dépend de l'information disponible pour un
problème donné. Par exemple, il est possible que la pente soit connue aux extrémités ou que la fonction
recherchée soit périodique. On peut alors se servir de cette information pour obtenir les deux équations
manquantes.

Remarque 4.1.5 Pour eectuer une interpolation à l'aide des splines cubiques, il faut en premier
lieu résoudre le système 4.20. Par la suite, on doit déterminer l'intervalle dans lequel se situe le point
d'interpolation x et calculer le polynôme dans cet intervalle en utilisant la formule 4.19.

Remarque 4.1.6 Dans le cas où les abscisses sont équidistantes, c'est-à-dire : hi = h ∀i la matrice
du système linéaire 4.18 se trouve simpliée de beaucoup. En eet, on obtient alors une matrice
tridiagonale dont la diagonale principale ne contient que des 2, tandis que les deux autres diagonales
sont constituées de coecients valant 1/2. Cette matrice ne dépend donc pas de la valeur de h, qui
n'aecte que le terme de droite.

Exemple 4.1.2 Soit les 4 points suivants : (1, 1), (2, 4), (4, 9), (5, 11). On trouve toute l'information
nécessaire au calcul de la spline cubique dans la table suivante.
i xi f (xi ) F [xi , xi+1 ] F [xi , xi+1 , xi+2 ] hi
0 1 1
1 2 4 3 1
2 4 9 5
2
−1
6
2
3 5 11 2 −1
6
1

La première équation (i = 1) du système 3.18 devient :

1 00 2 −1
f0 + 2f100 + f200 = 6( )
3 3 6
et la deuxième équation (i = 2) s'écrit :

2 00 1 −1
f1 + 2f200 + f300 = 6( )
3 3 6
Pour obtenir la spline naturelle, on pose f000 = f300 = 0, et on obtient le système :

  00  
2 32
 
f1 −1
=
2
3
2 f200 −1

88
dont la solution est f100 = −0, 375 et f200 = −0, 375. L'équation de la spline dans le premier intervalle
est alors :

(x − 2)2 (x − 1)3 1 0 4 (1)(−0.375)


p1 (x) = 0 − 0.375 − ( − )(x − 2) + ( − (x − 1)
6 6 1 6 1 6
que l'on peut simplier en :

P1 (x) = −0, 0625(x − 1)3 − (x − 2) + 4, 0625(x − 1)

Ce polynôme n'est déni que dans l'intervalle [1, 2]. On peut par exemple l'évaluer en x = 1, 5 pour
obtenir 2,523 4375. De même, si on a besoin de la valeur de la spline en x = 3, qui est situé dans le
deuxième intervalle (soit[2, 4]), on peut obtenir l'équation de la spline dans cet intervalle en posant
i=2 dans l'équation 4.19. On a alors :

(x − 4)3 (x − 2)3 4 (2)(−0.375) 9 2(−0.375)


p2 (x) = 0.375 − 0.375 −( − )(x − 4) + ( − )(x − 2)
12 12 2 6 2 6
c'est-à-dire :

p2 (x) = 0, 03125(x − 4)3 − 0, 03125(x − 2)3 − 2, 125(x − 4) + 4, 625(x − 2)

La valeur de la spline en x=3 est donc 6, 6875.

4.2 Approximation polynomiale


4.2.1 Polynômes orthogonaux
Soit ]a, b[ un intervalle ouvert borné ou non dans R. ]a, b[, c'est-à-dire
On se donne un poids sur
une fonction ω :]a, b[→]0, +∞[continue. On suppose en outre que pour tout entier n ∈ N l'intégrale
Rb n Rb
a
|x| ω(x)dx est convergente ; c'est le cas par exemple si ]a, b[ est borné et si a ω(x)dx converge.
Sous ces hypothèses, on considère l'espace vectoriel E des fonctions continues sur ]a, b[ telles que :

s
Z b
||f ||2 = |f (x)|2 ω(x)dx < +∞
a

Grâce aux hypothèses faites ci-dessus, E contient l'espace vectoriel des fonctions polynômes. L'espace
E est muni d'un produit scalaire naturel :

Z b
hf, gi = f (x)g(x)ω(x)dx
a

et||.||2 est la norme associée à ce produit scalaire ; cette norme est appelée norme L2 ou norme moyenne
quadratique. On notera d2 (f, g) = ||f − g||2 la distance associée.

Théorème 4.2.1 Il existe une suite de polynômes unitaires (pn )n∈N , deg(pn ) = n, orthogonaux 2
à 2 pour le produit scalaire de E . Cette suite est unique. Les polynômes pn sont appelés polynômes
orthogonaux pour le poids ω .

89
Théorème 4.2.2 Les polynômes pn vérient la relation de récurrence

pn (x) = (x − λn )pn−1 (x) − µpn−2 (x), n ≥ 2

avec
hxpn−1 , pn−1 i ||pn−1 ||22
λn = ; µ n =
||pn−1 ||22 ||pn−2 ||22
Exemple 4.2.1 Exemples  Certains cas particuliers ont donné lieu à des études plus poussées.
Mentionnons entre autres les cas suivants :
 ]a, b[=]0, +∞[, ω(x) = e−x , pn = polynômes de Laguerre ;
 ]a, b[=] − ∞, +∞[, ω(x) = e−x , pn = polynômes de Hermite ;
2

 ]a, b[=] − 1, 1[,ω(x) = 1, pn = polynômes de Legendre ;


1
 ]a, b[=] − 1, 1[,ω(x) = √ , pn = polynômes de Tchebychev
1 − x2

Vérions en eet que les polynômes de Tchebychev tn sont 2 à 2 orthogonaux relativement au poids
1
ω(x) = √ . Le changement de variable x = cos θ, θ ∈ [0, π] donne :
1 − x2
Z 1 Z π
1
tn (x)tk (x) √ dx = tn (cos θ)tk (cosθ)dθ
−1 1 − x2 0

Z π  0 si n 6= k
π
= cos nθcos kθ dθ = si n = k 6= 0
2
0 
π si n = k = 0
Comme tn a pour coecient directeur 2n−1 si n ≥ 1on déduit

p0 (x) = t0 (x) = 1
pn (x) = 21−n tn (x) si n ≥ 1
On sait que tn a n zéros distincts dans ] − 1, 1[. On va voir que c'est une propriété générale des
polynômes orthogonaux.

Théorème 4.2.3 Pour tout poids ω sur ]a, b[, le polynôme pn possède n zéros distincts dans l'intervalle
]a, b[.
Théorème 4.2.4 Soit f ∈ E . Alors il existe une unique polynôme rn ∈ ρn tel que ||f − rn ||2 =
min{d2 (f, ρn )} ; rn est appelé polynôme de meilleure approximation quadratique de f à l'ordre n.

90
Puisqu'on travaille dans un espace euclidien, le point de ρn le plus proche de f n'est autre que la
hf, pk i = hrn , pk i = αk ||pk ||22 d'où
P
projection orthogonale de f sur ρn . Si on écritrn = αk p k il vient
la formule
n
X hf, pk i
rn (x) = pk (x)
k=0
||pk ||22

On va maintenant étudier la convergence de rn quand n tend vers +∞. L'inégalité évidente

Z b Z b
2 2
|f (x)| ω(x)dx ≤ (sup |f (x)|) ω(x)dx
a a

entraîne
Z b 1/2
||f ||2 ≤ Cω ||f ||, où Cω = ω(x)dx
a

Ceci permet de contrôler ||.||2 à l'aide de la norme uniforme.

Théorème 4.2.5 si ]a, b[ est bornée, alors lim ||f − rn ||2 = 0 pour tout f ∈ E
n→+∞

4.2.2 Méthode classique des moindres carrés


Nous considérons ici un système d'équations linéaires Ax = b avec A ∈ Rm×n , x ∈ Rn , b ∈ Rm , où le
nombre n d'inconnues et celui m d'équations sont diérents. Deux cas sont à considérer :
 celui des systèmes sous-déterminés (m < n) où le nombre d'équations est plus petit que celui
des inconnues. En général, un tel système admet une innité de solutions.
 celui des systèmes surdéterminés (m > n) : le nombre d'équations est plus grand que celui des
indéterminées. De tels systèmes se rencontrent dans les problèmes d'identication de paramètres,
d'assimilation de données, en géodésie ...etc . En général, un système surdéterminé n'a pas de
solution. Cependant,il pourrait qu'il existe X tel que Ax ' b et dans ce cas ,nous aimerons
trouver un N-vecteur vecteur X qui rende minimum ||Ax − b||2 Le problème peut donc se
formuler ainsi :
Trouver un N-vecteur X tel que pour tout N-vecteur y on ait :
||Ax − b||2 ≤ ||Ay − b||2 (4.21)

On dira dans ce cas qu'on cherche une solution de Ax = b au sens des moindres carrés
Théorème 4.2.6 Supposons que A soit une M × N matrice (M>N) de rang N .Alors il existe un seul
vecteur X satisfait 4.21. De plus ce vecteur X est donné comme solution du système

AT AX = AT b (4.22)

Démonstration Remarquons tout d'abord que la matrice B dénie par B = AT A est une N × N
matrice symétrique Si, pour un N-vecteur Z quelconque, nous calculons z T Bz , nous aurons

Z T BZ = Z T AT AZ = ||AZ||22 (4.23)

De plus, la relation z T Bz = 0 implique Az = 0 et donc, puisque A est supposée de rang N , z = 0


Cette dernière armation avec (4.23) garantissent que AT A est régulière (elle est même symétrique
dénie positive) Ainsi il existe un et un seul N-vecteur x tel que

AT Ax = AT b (4.24)

91
Montrons que, lorsque x est solution de (4.22), alors pour tout N -vecteur y diérent de x on a :

||Ax − b|| < ||Ay − b|| (4.25)

En posant z = x − y, on a z 6= 0 puisque y 6= x et de plus

||Ay − b||2 = ||(Ax − b) − AZ||2


= ((Ax − b) − AZ)T ((Ax − b) − AZ)
= ||Ax − b||2 − z T AT (Ax − b) − (Ax − b)T Az + Z T AT AZ

Comme X est solution de (4.22) , on obtient :

||Ay − b||2 = ||Ax − b|| + ||Az||2

. Puisque A est de rang N, on a nécessairement Az 6= 0 lorsque z 6= 0 Ainsi la relation (4.25) est


bien vériée et, a fortiori , la relation (4.22) est satisfaite Si nous supposons maintenant que p est
un N-vecteur tel que ||Ap − b|| < ||Ay − b|| pour tout N-vecteur y , alors nécessairement nous avons
p = x En eet, si p était diérent de x nous aurions, en utilisant (4.25) , ||Ax − b|| < ||Ap − b||, ce qui
contredit ce que nous avons supposé sur p Ce raisonnement montre l'unicité armée dans l'énoncé du
théorème.
Nous avons vu que si A est de rang N, alors AT A est une matrice symétrique, dénie positive Ainsi,
si nous voulons résoudre Ax = b au sens des moindres carrés , il sura de résoudre le système linéaire
de N équations et à N inconnues suivant : AT AX = AT b.

Étude des cas


Droite des moindres carrés
Considérons un échantillonnage de n points (xi , yi ) i = 0, · · · , n − 1 ,on cherche la meilleur droite au
sens de moindres carrés , il s'agit de déterminer la droite D d'équation y = ax + b telle que :

n−1
X
(yi − (axi + b))2 Soit minimum
i=0

Nos inconnues sont donc a et b


pour déterminer a et b il sut de résoudre le système AT AX = AT y
   
1 x0 y0
 1 x1  y1 
     
1 1 ··· 1 1  b 1 1 ··· 1 1

 .. . =  .. 
x0 x1 · · · xn−1 xn−1 .  a x0 x1 · · · xn−2 xn−1

 . .  . 
1 xn−1 yn−1
 n−1
  n−1

P P
 n xi     yi 
 i=0  b =  i=0 
 n−1 n−1  a  n−1 
x2i
P P P
xi x i yi
i=0 i=0 i=0
cov(x,y)
bb = y − b
la solution de système est : a=
b var(x)
a.x
1
Pn−1 1 n−1 1
Pn−1
x2i − x2
P
var(x) = n i=0 cov(x, y) = n i=0 (xi − x)(yi − y) = n i=0 xi y i − x . y

92
Remarque 4.2.1 il peut arriver que les points représentant une série double ne soient pas alignés,
mais soient voisins d'une autre courbe connue, on se sert alors de la méthode des moindres carrés ;
mais en transformant au préalable l'une des variables. Ainsi un ajustement linéaire entre y et xn donne
un ajustement de la forme y = axn + b ; un ajustement entre y et log(x) donne y = alog(x) + b ; un
ajustement entre log(y) et x donne y = beax

Polynômes de degrés n
Considérons un échantillonnage de m points (xi , yi ) i = 1, · · · , m ,on cherche la meilleur polynôme de
2 n
degrés n au sens de moindres carrés , il s'agit de déterminer l'équation y = a0 + a1 x + a2 x + · · · + an x
telle que :
m
X
(yi − (a0 + a1 xi + a2 x2i + · · · + an xni ))2 Soit minimum
i=1
Nos inconnues sont donc ai
pour déterminer ai il sut de résoudre le système AT AX = AT y avec
 
1 x0 x20 · · · xn0    
 1 x1 x2 · · · n  a0 y0
 1 x1   a1   y1 
A=  b =  ..  y =  .. 
     
 .. .. .
.
.
.
. 
. 
 .   . 
 . . . . .
1 an ym
1 xm xm · · · xnm
notre système s'écrit sous la forme :

m m m m
   
x2i xni
P P P P
m xi ··· ···  i=1 yi
i=1 i=1 i=1
  
m m m m m  a  P
 m
 
0
x2i x3i · · · xni xn+1
P P P P P
xi xy
  
  1   i=1 i i
 i  a  
 i=1 i=1 i=1 i=1 i=1  . 

m m m m .
  ..  
 
.
x2i xni xn+1 xn+2
P P P P
··· ··· .
 
 i i   
 i=1 i=1 i=1 i=1   ..   P
 m 
 . .. .. .. . .  .  xin−1 yi 
. . . . . .
. . .
   
 m m m m m
 an  i=1m 
xn+1 x2n−2 x2n−1
   P n 
xni x2n
P P P P P
i ··· i i i xi yi
i=1 i=1 i=1 i=1 i=1 i=1

fonction linéaire de plusieurs variables


considérons m n-uplet Xk = (x1k , x2k , · · · , xnk ) k = 1, · · · , m on veut exprimer les xnk aux fonction
des autres xik i = 1, 2, · · · , n − 1 c'est à dire on cherche à minimiser la fonction
m
X
(xnk − (a1 x1k + a2 x2k + · · · + an−1 x(n−1)k ))2
k=1

pour trouver la meilleur approximation possible il sut de résoudre le système AT AX = AT y avec :


 
x11 x21 · · · x(n−1)1  
 x12 x2 · · ·
  xn1
 22 x0 n−1)2 
 a1  xn2 
 . 
A=  b =  ..  y =  ..
   

 .. .
.
.
.
.
.
  . 
 . . . .  an−1
1 xnm
x1m x2m · · · x(n−1)m

93
Cas Particulier
Il arrive parfois que la relation fonctionnelle entre la variable expliquée et les variables explicatives ne
soit pas donnée sous forme linéaire, comme dans l'exemple suivant :

b = f (v1 , v2 ) = v1α1 v2α2

Dans ce cas, on linéarise :


ln(b) = α1 ln(v1 ) + α2 ln(v2 )
La nouvelle variable expliquée est b0 = ln(b) et les nouvelles variables explicatives sont ln(v1 ) et ln(v2 ).
a

4.2.3 Transformée de Fourier discrète


Jusqu'à maintenant, nous nous sommes concentrés sur les techniques d'interpolation par des polynômes
classiques. L'interpolation de Newton et splines cubiques en sont des exemples. Il existe cependant des
situations où les polynômes classiques ne sont pas les plus pertinents. C'est le cas par exemple lorsque
l'on cherche à approcher des fonctions périodiques. Il paraît alors avantageux d'utiliser des polynômes
qui sont eux-mêmes périodiques. C'est ici que les polynômes trigonométriques interviennent. Pour
xer les idées, nous supposons que nous avons une fonction périodique g(t) (de période 2π ) pour t
dans l'intervalle [0, 2π]. Si ce n'est pas le cas et que la fonction étudiée est f (x) dénie dans l'intervalle
[a, b], le changement de variable :

(x − a) (b − a)
t = 2π ou encore x= t+a
(b − a) 2π

nous ramène dans l'intervalle souhaité et l'on analyse alors la fonction :

 
(b − a)
g(t) = f t+a

Les fonctions f (x) et g(t) prennent alors exactement les mêmes valeurs, l'une dans l'intervalle [a, b] et
l'autre dans l'intervalle [0, 2π].

Dénition 4.2.1 Un polynôme trigonométrique de degré n est une expression de la forme :


n−1
a0 + an cos(nt) X
Tn (t) = + (aj cos(jt) + bj sin(jt)) (4.26)
2 i=1

où les coecients a0 , an , aj et bj , j = 1, 2, · · · , n − 1 sont des nombres réels.

Remarquons qu'il y a 2n coecients à déterminer.Il nous faudra donc 2n points d'interpolation (ou
points d'échantillonnage) pour déterminer les coecients d'un polynôme trigonométrique. On divise

donc l'intervalle [0, 2π] en 2n intervalles de longueur h =
2n
= πn . Il en résulte normalement 2n + 1
points d'échantillonnage mais puisque g(t) est périodique, g(2π) = g(0) et l'abscisse t = 2π qui
correspondrait à t2n n'est pas incluse. On a donc les points :


tk = = hk k = 0, 1, 2, · · · , 2n − 1
n

94
Une première méthode pour déterminer les coecients du polynôme trigonométrique 4.26 consiste à
résoudre le système linéaire
Tn (tk ) = g(tk ) k = 0, 1, 2 · · · , 2n − 1 (4.27)

dont les inconnues sont les coecients du polynôme.


Exercice : Considérons la fonction périodique, de période 1 , dénie dans l'intervalle [0, 1] par
f (x) = x(1 − x). Nous prendrons 4 points d'échantillonnage soit les points {0, π2 , π, 3π
2
}
Déterminer le polynôme trigonométrique de degré 2(n = 2) qui interpole la fonction f .

Malheureusement, la résolution du système linéaire 4.27 n'est pas la méthode la plus ecace puisque
le nombre de points d'échantillonnage peut être très grand. En fait, cette méthode est l'analogue, pour
les polynômes trigonométriques, de la méthode de Vandermonde pour l'interpolation classique. Nous
allons maintenant proposer une autre façon de faire qui est plus rapide. Cette nouvelle approche
nécessite l'emploi des nombres et fonctions complexes et plus particulièrement de l'exponentielle
complexe .

eilt = cos(lt) + isin(lt) où l est un entier

Pour deux fonctions (éventuellement) complexes dénies aux points d'échantillonnage tj , on dénit
le produit scalaire suivant :
2n−1
X
< f, g >= f (tk )g(tk )
k=0

On remarquera le conjugué complexe apparaissant sur la deuxième fonction.

Lemme 4.2.1 Les fonctions eilt sont orthogonales au sens du produit scalaire précédent en ce sens
que si m et l sont deux entiers compris entre −n et n :

2n−1
X  0 si m 6= l
imt ilt imtk −iltk
< e , e >= e e = 2n si m = l (4.28)
2n si m = n et l = −n qui est une exception.

k=0

Démonstration : Il sut de développer en supposant d'abord que m 6= l


2n−1
X 2n−1
X 2n−1
X
imtk −iltk imkπ/n −ilkπ/n
e e = e e = (eiπ(m−l)/n )n
k=0 k=0 k=0

qui n'est rien d'autre qu'une progression géométrique de raison eiπ(m−l)/n . La somme vaut donc :

1 − (eiπ(m−l)/n )2n 1 − (e2iπ(m−l) )


=
1 − (eiπ(m−l)/n ) 1 − (eiπ(m−l)/n )

et le résultat suit car e2πi(m−l) = 1. Cependant, si m = l, on a :

2n−1
X 2n−1
X
ilt ilt iltk −iltk
< e ,e >= e e = 1 = 2n
k=0 k=0

Enn, dans le cas où m=n et l = −n, on a :

2n−1
X 2n−1
X
int −int inkπ/n inkπ/n
< e ,e >= e e = 1 = 2n
k=0 k=0

95
L'utilisation des exponentielles complexes nous amène à utiliser une autre forme (équivalente) pour
les polynômes trigonométriques :

n−1
eint + e−int
  X
Tn (t) = αn + αj eijt
2 j=1−n
n−1
X
= α0 + αn cosnt + αj eijt + α−j e−ijt
j=1
n−1
X
= α0 + αn cosnt + (αj + α−j )cosjt + i(αj − α−j sinjt)
j=1

En comparant terme à terme cette expression et 4.26, on voit que l'on peut passer d'une forme à
l'autre par les relations :

a0 an
α0 = , αn = , αj = (αj + α−j ) et bj = i(αj − α−j
2 2
Théorème 4.2.7 Le polynôme trigonométrique interpolant les valeurs d'une fonction périodique g(t)
aux points d'échantillonnage tk , k = 0, 1, · · · , 2n − 1 s'écrit :
n−1
eint + e−int
  X
Tn (t) = α0 + αn + αj eijt (4.29)
2 j=1−n

et les coecients sont donnés par les formules :


2n−1
X
αj = 1
2n
g(tk )ω −jk j = 0, 1, · · · , n
k=0
2n−1 (4.30)
X
α−j = 1
2n
g(tk )ω jk j = 1, 2, · · · , n − 1
k=0

où l'on a posé ω = eiπ/n . Le polynôme 4.29 est la transformée de Fourier discrète de g(t).

Transformée de Fourier rapide


Dans le cas où le nombre de points d'échantillonnage est grand, l'évaluation des expressions 4.30 peut
quand même poser des problèmes d'ecacité. L'algorithme de Cooley et Tukey , mieux connu sous
le nom de transformée de Fourier rapide ("Fast Fourier Transform" ou encore "FFT" en anglais)
permet d'eectuer tous les calculs de manière extrêmement rapide, en particulier lorsque le nombre
p
de points d'échantillonnage est une puissance de 2, c'est-à- dire 2n = 2 . Cela permet d'optimiser
considérablement tous les calculs. Cet algorithme est sans doute l'un des plus révolutionnaires du
vingtième siècle. La transformée de Fourier rapide permet une utilisation intensive et à très grande
échelle de la transformée de Fourier, sans que le temps de calcul ne devienne prohibitif. Pour décrire
cet algorithme, on introduit dans un premier temps de nouveaux coecients complexes dénotés cl et
dénis par la somme
2n−1 2n−1
ilkπ
X X
cl = g(tk )e n = g(tk )ω lk (4.31)
k=0 k=0

96
pour l = 0, 1, 2, · · · , 2n−1 et où l'on a encore posé ω iπ/n . L'évaluation de chaque coecient cl nécessite
2n multiplications, pour un total de 4n2 multiplications complexes, tout comme pour les coecients
αl . On note de plus que c0 = 2nα0 mais aussi que :
2n−1
X
cl = g(tk )ω lk = 2nα−l pour l = 1, 2, · · · , n − 1 (4.32)
k=0

Enn pour l = 0, 1, · · · , n − 1 on a :

2n−1
X 2n−1
X
(n+l)k
cn+l = g(tk )ω = g(tk )ω 2n−(n−l)k
k=0 k=0
2n−1
X (4.33)
= g(tk )ω 2nk ω −(n−l)k
k=0
= 2nαn−l

car ω 2nk = e2πik = 1. Le calcul des coecients cl nous donnent donc, à un facteur 2n près, les


coecients de Fourier α1 recherchés. Au facteur 2n près, le vecteur C contient donc α0 , le vecteur
des α−j (α−1 , α−2 , · · · , α1−n ) et ensuite le vecteur des αj mais à rebours (αn , αn−1 , · · · , α1 ). Il reste
alors à évaluer les cl de la manière la plus ecace possible et on constate en premier lieu que pour
l = 0, 1, · · · , n − 1 :
2n−1 2n−1 2n−1
X ilkπ
X i(l+n)kπ X ilkπ
cl + cn+l = g(tk )e n + g(tk )e n = g(tk )e n (1 + eikπ )
k=0 k=0 k=0

Or (1 + eikπ ) = 2 si k est pair et s'annule si k est impair. Il ne reste donc dans la dernière sommation
que les termes de rang pair. On a ainsi diminué de moitié le nombre de points d'échantillonnage. On
a maintenant :
2n−2 n−1
ilkπ 2ilkπ
X X
cl + cn+l = 2 g(tk )e n =2 g(t2 k)e n (4.34)
kpair k=0

Par un raisonnement semblable, on trouve :

n−1 n−1
ilπ 2ilkπ 2ilkπ
X X
l
cl − cn+l = 2e n g(t2k+1 )e n = 2ω g(t2k+1 )e n (4.35)
k=0 k=0

Les 2 dernières équations permettent de récupérer séparément les coecients cl et cn+l :

n−1 n−1
2ilkπ 2ilkπ
X X
l
cl = g(t2k )e n +ω g(t2k+1 )e n

k=0 k=0
n−1 n−1 (4.36)
2ilkπ 2ilkπ
X X
l
cn+l = g(t2k )e n −ω g(t2k+1 )e n

k=0 k=0

Ces équations nous ramènent à un calcul des coecients de Fourier sur les points d'échantillonnage
pairs et impairs respectivement. On remarque de plus que le nombre d'opérations nécessaires est réduit
2 2
à 2n + n multiplications complexes, ce qui est nettement inférieur aux 4n de la relation 4.31. La

97
beauté de l'algorithme réside dans le fait que le raisonnement est récursif et que l'on peut le réemployer
de nouveau pour évaluer l'une ou l'autre des expressions :

n−1 n−1
2ilkπ 2ilkπ
X X
g(t2k )e n et g(t2k+1 )e n

k=0 k=0

Dans les 2 cas, on doit calculer une expression de la forme :

n−1 n−1
2ilkπ
X X
g(uk )e n = g(uk )ω1lk k = 0, 1, 2 · · · , n − 1 (4.37)
k=0 k=0
2ilkπ
où l'on a posé ω1 = e n et uk = t2k (ou encore uk = t2k+1 ). Si n est pair, on peut encore diviser le
nombre d'échantillons en parties paires et impaires. Par contre, si n est impair, on évalue directement
l'expression 4.37 par le produit matriciel :

···
  
1 1 1 1 g(u1 )
 1 ω1 ω12 ··· ω1n−1  g(u2 ) 
2(n−1)
  

 1 ω12 ω14 ··· ω1 
 g(u3 ) 

. . . . .
. . . . .
  
 . . . ... .  . 
2(n−1) (n−1)2 g(un−1 )
1 ω1n−1 ω1 ··· ω1
Cette dernière matrice est dite de Fourier. On peut donc dénir une fonction récursive qui eectue les
étapes précédentes jusqu'à ce que la taille de l'échantillon ne soit plus divisible par 2. À ce moment,
on utilise la matrice de Fourier, mais pour une valeur de n généralement petite. L'algorithme général
est présenté à la gure 5.22. On peut montrer que, si le nombre de points d'échantillonnage 2n est de
p
la forme 2n = 2 q où p est un entier strictement positif et q est impair, alors le nombre d'opérations
2 p 2
passe de 4n à p2 q . Plus il y a de facteurs 2 dans n, plus le gain est important. En particulier, si
2n = 2p , le nombre d'opérations est de l'ordre de p2p . Par exemple, si 2n = 210 , le nombre d'opérations
18 10
passe de 4(2 ) = 1048576 à 10 × 2 = 10240.

98
Série d'exercice N 4
Exercice 1
trouver le polynôme de l'espace vectoriel vec{1 + x2 , x4 } qui interpoler les points (0, 1) et (1, 3)

Exercice 2
 Construire les polynômes de Lagrange P qui interpoler les points (0, 2), (1, 1), (2, 2)
et (3, 3).
 Construire les polynômes Q qui interpoler les points (0, 2), (1, 1), (2, 2), (3, 3)
et(4, 6).

Exercice 3
 Construire les polynôme de Lagrange P qui interpoler les trois points (−1, e)(0, 1) et (1, e).
 sans faire de calculs donner l'expression des polynôme de Lagrange Q qui interpoler les point
(−1, −1) (0, 0) et (1, −1)

Exercice 4
1. Construire un polynôme de Lagrange P qui interpole les points (−1, 1), (0, 1) (1, 2) et (2, 3).
2. Soit Q le polynôme qui interpole les points (−1, 1), (0, 1)et(1, 2) montre qu'il existe un réal λ
tel que : Q(x) − P (x) = λ(x + 1)x(x − 1)

Exercice 5
Un cas particulier intéressant de la formule d'interpolation de newton se présente lorsque les points
d'interpolation x sont également distinct, c'est à dire lorsque : xi+1 − xi = h.
obtenir l'expression des premier, deuxième et troisième diérentes divisées dans ce cas précis.Donner
un aperçu de ce que provient d'être les autre diérences diviser.

Exercice 6
soit une fonction f dont on connait la valeur en certaines points :

x 0 1 2 3 4 5
f(x) 3 2 3 6 11 18

 Calculer la table de diérence divisées,montrer que les troisième diérence divisées sont nulles.
 que conclure au sujet de la fonction f (x).

99
Exercice 7
considérons les points d'interpolation suivantes :(−2, −6), (−1, −2), (0, −10), (1, 7)
on cherche à obtenir une approximation de la fonction f au point x1 = −0.5 pour cette raison on
utilise trois polynôme, un polynôme de degré 1,polynôme de degré 2 et polynôme de degré 3.
 donner le meilleur polynôme de degré 1 qui peut interpoler f.
 donner deux polynôme de degré 2 qu'interpole f.
 donner un polynôme de degré 3.

Exercice 8
4
On considère la fonction : f (x) = 1−x
 Écrire le polynôme de Lagrange. P
√(x) aux points x0 = −1, x1 = 0, x2 = 2 et x3 = 3
 évaluer l'erreur au point x = 1 + 5.

Exercice 9
obtenir le polynôme de degré 2 passant par les points suivants.

x 1 2 3
f(x) 2 6 12

Utiliser la matrice de Vandermonde.

Exercice 10
Soit les points suivants.

x 0 1 2 3 4
f (x) 0 2 36 252 1040

1. Obtenir le polynôme de Lagrange passant par les 3 premiers points.

2. Obtenir le polynôme de Lagrange passant par les 4 premiers points.(Est-ce possible d'utiliser
les calculs faits en a) ?

3. Donner l'expression analytique de l'erreur pour les polynômes obtenus en 1) et en 2).

4. Obtenir des approximations de f (1, 5) à l'aide des 2 polynômes obtenus en a) et en b).

5. Répondre aux mêmes questions , mais en utilisant la méthode de Newton. Donner en plus des
approximations des erreurs commises en 4).

6. Obtenir le système linéaire nécessaire pour calculer la spline naturelle dans l'intervalle [0, 4].
7. Résoudre ce système et obtenir la valeur des dérivées secondes de la spline en chaque point
d'interpolation.

100
Exercice 11
soient (n+1) points xi i = 0, 1, · · · , n distincts deux à deux et Li le polynôme élémentaire de Lagrange
xi tel que dLi = n et Li (xj ) = δij , i, j = 0, 1, · · · , n. on note Πn+1 (x) = ni=0 (x − xi )
Q
associe à

1. Montrer que si f est un polynôme de degré inférieur ou égal à n alors le polynôme qui interpole
f en (n + 1) points distincts est égale à f
2. montrer les relation suivantes :
Xn
(a) Li (x) = 1
i=0
Xn
(b) xki Li (x) = xk , pourk ≤ n
i=0
Xn
(c) xn+1
i Li (x) = xn+1 − Πn+1 (x),
i=0
n
X
(d) (xi − x)k Li (x) = δ0k , pourk ≤ n
i=0

Exercice 12
Soit f une fonction dont les valeurs numérique sont données par : f (−2) = 0, f (−1) = −1, f (1) =
1, et f (2) = 0
1. Calculer le polynôme d'interpolation de newton P2 (x) de la fonction f aux points −2, −1 et 1.
2. Donner le polynôme d'interpolation Q2 (x) de la fonction f sous forme de Lagrange aux points
−1, 1,et 2.
3. (a) Montrer que le polynôme d'interpolation P (x) = (x+2)Q2 (x)−(x−2)P
4
2 (x)
est un polynôme
d'interpolation de la fonction f aux points −2, −1, 1 et 2

(b) Donner une valeur approchée de f au point x = 0

(c) Donner l'expression de l'erreur commise au point x = 0

4.

Exercice 13
−1
On considère les points d'interpolations −1, √ 3
, 0, √13 , 1 et la fonction dénie dans [−1, 1] par f (x) =
1
1+x2
1. (a) Calculer les polynôme élémentaire de Lagrange Li , i = 0, 1, 2 associés aux points d'interpolation
P de f x.
en ces trois points et l'ordonner suivant les puissances croissantes de

(b) Donner l'expression de l'erreur d'interpolation E(x) = f (x) − P (x) en ces points et majorer
|E(x)| dans l'intervalle [−1, 1] en fonction de
Mk = maxx∈[−1,1] |f k (x)| pour k à préciser.
−1 1
2. (a) Faire la table des diérences divisées aux points −1, √ , √ , 1 en déduire le polynôme
3 3
d'interpolation Q de f en ces quatre points et l'ordonner suivant les puissances croissante
de x
−1 1
(b) en déduire le polynôme d'interpolation R de f aux points −1, √ , 0, √ , 1 ainsi que l'erreur
3 3
d'interpolation E(x) en fonction de f (x) avec k à préciser.
π
(c) En déduire une approximation de
2
= 2arctan(1)

101
Exercice 14
soit la fonction dénie par f (x) = cos(π ∗ x)
1. Donner le polynôme d'interpolation P (x) de la fonction f au points −1, 0, 1, 2 sous forme de
Lagrange.

2. en déduire une valeur approchée de f ( 13 ).Calculer dans ce cas la valeur exacte de l'erreur
commise

3. (a) Vérier que le polynôme H(x) = P (x) − 43 x3 + 34 x est un polynôme d'interpolation de f


aux points −1, 0, 1
(b) Donner une majoration de l'erreur absolue commise i en utilisant la formule de l'erreur
d'interpolation.

4. Soit g la fonction ainsi dénie :


xi -1 0 1 2
g(xi ) 1 2 0 4
Déterminer le polynôme d'interpolation Q(x) de la fonction g aux points −1, 0, 1et2 sous forme
de Newton.

5. (a) Montrer que le polynôme d'interpolation de la somme de deux fonctions est la somme des
polynômes d'interpolation

(b) En déduire le polynôme d'interpolation de la fonction φ(x) = f (x) + g(x) + 2x2 − 2x + 1


aux points −1, 0, 1,et 2

Exercice 15
xi -1 0 1 2
soit f la fonction ainsi dénie : f xi 1 2 7 64
f 0 xi 3 1 15 129

1. déterminer le polynôme d'interpolation P (x) de la fonction f au points −1, 0, 1 sous forme de


Lagrange.

2. déterminer le polynôme d'interpolation d' Hermite de la fonction f au point −1, 0, 1.

Exercice 16
1. Construire le polynôme de LAGRANGE P qui interpole les trois points (−1, α), (0, β) et (1, α)
où α et β sont des réels.
2. Si α = β , donner le degré de P .

3. Montrer que P est pair. Peut-on avoir P de degré 1?

Exercice 17
Soit f : R ←− R f (x) = 1 + x3 .
la fonction dénie par

1. Calculer le polynôme p0 qui interpole f au point d'abscisse x0 = 0.

2. Calculer le polynôme p1 qui interpole f aux points d'abscisse (x0 = 0, x1 = 1).

3. Calculer le polynôme p2 qui interpole f aux points d'abscisse (x0 = 0, x1 = 1, x2 = 2 =.

4. Calculer le polynôme p3 qui interpole f aux points d'abscisse (x0 = 0, x1 = 1, x2 = 2, x3 = 3).

5. Pour n ≥ 3, calculer les polynômes pn qui interpolent f aux points d'abscissexi = i, i = 1 · · · n

102
Exercice 18
Pour calculer le zéro d'une fonction y = f (x) inversible sur un intervalle [a, b] on peut utiliser
l'interpolation après avoir évalué f sur une discrétisation xi de [a; b], on interpole l'ensemble {xi , yi pour i =
0 · · · n} et on obtient un polynôme tel que f (x) = 0 ⇔ p(x) = 0. Utiliser cette méthode
y = p(x)
= x
pour évaluer l'unique racine α de la fonction f (x) e − 2 dans l'intervalle [0 ;1] avec trois points
d'interpolation. Comparer ensuite le résultat obtenu avec l'approximation du zéro de f obtenue par la
méthode de Newton en 3 itérations à partir de x0 = 0.

Exercice 19
soit f (x) une fonction qui passe par les points q1 = (0, 3), q2 = (2, −1)etq3 = (5, 8)
1. a l'aide de la formule de Newton, trouver le polynôme d'interpolation de degré 2 qui passe par
les points q1 , q2 et q3 et proposer une approximation de f (3).
2. Sachant que f (6) = 7, donner une approximation de l'erreur commise en (a).
0
3. On sait aussi que f (0) = 6. Calculer le polynôme d'interpolation de degré minimal passant par
les points q1 ; q2 etq3 , dont la dérivée en x = 0 est égale à 6.

Exercice 20
On a tabulé une fonction f (x) dont on sait par ailleurs que pour x entre 0, 0 et 4.0

x 0.0 1.0 2.0 3.0 4.0


f(x) 0.0 2.0 36.0 252.0 1040,0

1. Obtenir le système linéaire nécessaire pour calculer la spline naturelle dans l'intervalle [0, 4].
2. Résoudre ce système et obtenir la valeur des dérivées secondes de la spline en chaque point
d'interpolation.

3. Obtenir une approximation de f (1, 5) à l'aide de la spline.

Exercice 21
Soit les trois points (0, 0), (1, 1)et(2, 8) de la fonction f (x) = x3 .
1. Obtenir le système linéaire de dimension 3 permettant de calculer la spline cubique naturelle
passant par ces trois points.

2. À l'aide de la spline trouvée en (1), donner une approximation de f (0.5) et comparer le résultat
avec la valeur exacte 0.125
3. En interpolant une fonction cubique (f (x) = x3 ) par des polynômes de degré 3 dans chaque
intervalle, on obtient quand même une erreur. Expliquer.

4. Reprendre les questions précédent, mais en utilisant cette fois une spline qui vérie f 00 (0) =
0etf 00 (2) = 12. Expliquer les résultats.
5. Si l'on impose f 00 (0) = f 00 (1)etf 00 (1) = f 00 (2), est-ce que la spline obtenue sera précisément
3
f (x) = x

103
Exercice 22
On souhaite concevoir un virage d'une voie de chemin de fer entre les points (0, 0) et (1, 1). Le virage
est décrit par une courbe de la forme y = f (x) qui satisfait : f (0) = 0 et f (1) = 1
De plus, pour assurer une transition en douceur, la pente de la courbe doit satisfaire : f 0 (0) = 0 et
f 0 (1) = 0, 3 On représente la courbe à l'aide d'un polynôme dans l'intervalle [0, 1].
1. Quel est le degré minimal que ce polynôme devra avoir pour remplir toutes les conditions

2. Calculer ce polynôme.

Exercice 23
t 1.9 2.8 2.95 3.2 3.7
Considérons la table :
y=f(t) 2 3.15 3.5 3.6 4.2

1. Déterminer la droite des moindres carrés P (t) = at + b


2. Estimer f (2), f (3) et f (4)
3. Calculer le coecient de corrélation, que peut-on dire du degré d'approximation ?

4. Donner la représentation graphique de la table et de la droite des moindres carrés.

Exercice 24
On se donne la table suivante :

t 1 2 3 4 5 6 7 8 9 10
y=f(t) 5.5 7.1 5.8 6.4 6 6.2 7.2 5.6 6.8 5.6

1. Calculer le coecient de corrélation ρ(t, y)


2. Calculer la droite des moindres carrés.

3. Peut-on estimer f (2.5)? justier.

Exercice 25
Pour étudier les problèmes de malnutrition dans un pays pauvre, on a calculé le poids moyen par âge
d'un échantillon de 2400 enfants répartis uniformément en 12 classes d'âge. On a obtenu les données
suivantes :
age 1 2 3 4 5 6 7 8 9 10 11 12
poids 4.3 5.1 5.7 6.3 6.8 7.1 7.2 7.2 7.2 7.2 7.5 7.8

1. Un statisticien pressé a fait calculer par sa machine la droite des moindres carrés pour ces
données et a trouvé la relation : poids = 4, 88 + 0, 267age. S'est-il trompé ?

2. A votre avis, quelle est la pertinence de son modèle ?

3. Calculer puis tracer les résidus. Vous constaterez que deux résidus successifs sont beaucoup
plus souvent du même signe que du signe opposé. Ceci n'est pas compatible avec le fait qu'ils
soient supposés indépendants. On dit que les résidus sont auto corrélés. C'est une raison de
rejeter le modèle.

4. On se propose de corriger cette anomalie en séparant la table en 3 classes d'âges 1,2,3,4,5,


6,7,8,9,10 et 11,12.

104
5. Vérier
√ ,pour chaque classe , que le coecient de corrélation est supérieur , en valeur absolue, au
3
seuil . Déterminer, pour chaque classe , la droite des moindres carrés. Vérier graphiquement
2
les résultats obtenus.

105
CHAPITRE

DÉRIVATION ET INTÉGRATION

NUMÉRIQUES

5.1 Intégration numérique


L'intégration numérique est basée principalement sur la relation :
Z xn Z xn Z xn
f (x)dx = pn (x)dx + En (x)dx (5.1)
x0 x0 x0

où pn (x) est un polynôme d'interpolation et En (x) est l'erreur qui y est associée. En faisant varier la
valeur de n, on obtient les formules de Newton- Cotes. En principe, plus n est élevé et plus grande est la
précision liée à la valeur de l'intégrale recherchée. En pratique cependant, les numériciens emploient des
valeurs de n inférieures ou égales à 5. nous traitons aussi les quadratures de Gauss, très fréquemment
utilisées dans les méthodes numériques plus avancées comme celle des éléments nis .

5.1.1 Formules de Newton-Cotes simples et composées


Méthode des trapèzes
R x1
Commençons par la méthode la plus simple. On souhaite évaluer :
x0
f (x)dx où f (x) est une fonction
connue seulement en deux points ou encore une fonction n'ayant pas de primitive. La solution qui
vient tout de suite à l'esprit consiste à remplacer f (x) par le polynôme de degré 1 passant par les
points (x0 , f (x0 )) et (x1 , f (x1 )) comme l'illustre la gure.

106
La valeur approximative de l'intégrale correspond à l'aire sous la courbe du polynôme. Cette aire forme
un trapèze qui donne son nom à la méthode du trapèze. Évidemment, l'approximation est grossière
et on peut d'ores et déjà soupçonner que le résultat sera peu précis. en utilisant la relation 5.1 et le
principe de polynôme de newton on obtient :

x1 x1 x1
f 00 (ε(x))
Z Z Z
f (x)dx = f (x0 ) + f [x0 , x1 ](x − x0 )dx + (x − x0 )(x − x1 )dx
x0 x0 x0 2!

ce qui peut également s'écrire, si on intègre le polynôme :

x1 x1
f 00 (ε(x))
Z Z
(f (x0 ) + f (x1 ))
f (x)dx = (x1 − x0 ) + (x − x0 )(x − x1 )dx
x0 2 x0 2!

Le premier terme de droite n'est rien d'autre que l'aire du trapèze de la gure , tandis que le deuxième
x−x0
terme est l'erreur commise. Le changement de variable s = ; (x − xi ) = (s − i)h et que dx = hds.
h
Le terme d'erreur devient alors : Z 1 00
f (ε(s)) 3
s(s − 1)h ds
0 2!
On peut encore simplier cette expression en faisant appel au second théorème de la moyenne.

Théorème 5.1.1 Soit f1 (x), une fonction continue dans l'intervalle [a, b] et f2 (x), une fonction
intégrable qui ne change pas de signe dans l'intervalle [a, b]. Il existe alors η ∈ [a, b] tel que :
Z b Z b
f1 (x)f2 (x)dx = f1 (η) f2 (x)dx (5.2)
a a

Comme la fonction (s(s − 1)) ne change pas de signe dans [0, 1], on peut mettre à prot ce théorème,
R 1 f 00 (ε(s) 3 f 00 (η) 3 R 1 f 00 (η) 3
ce qui donne :
0
s(s − 1)h ds = h 0
s(s − 1)ds = − h La méthode du trapèze
2! 2! 12
se résume donc à l'égalité :

x1
(f (x0 ) + f (x1 )) f 00 (η) 3
Z
f (x)dx = h − h (5.3)
x0 2 12

La méthode du trapèze demeure peu précise, comme en témoigne l'exemple suivant.

107
Exemple 5.1.1
R π/2
il s'agit d'évaluer numériquement : 0
sin(x)dx dont la valeur exacte est 1. La
méthode du trapèze donne dans ce cas :
Z π/2 π
2 π π
sin(x)dx ' (sin0 + sin ) = = 0.785398164
0 2 2 4
qui est une piètre approximation de la valeur exacte 1.

Une stratégie intéressante consiste à décomposer l'intervalle où l'on doit faire l'intégration, soit
b−a
l'intervalle[a, b], en n sous-intervalles de longueur h = Les diérents points engendrés sont
n
notés xi , pour i = 0, 1, 2, · · · , n. Les valeurs aux extrémités sont a = x0 et b = xn . Dans chaque
sous-intervalle [xi , xi+1 ], on peut utiliser la méthode du trapèze. On a alors :

Z b n−1 Z xi+1 n−1


X X h
f (x)dx = f (x)dx ' [f (xi ) + f (xi+1 )] (5.4)
a i=0 xi i=0
2
On remarque que tous les termes f (xi ) sont répétés deux fois, sauf le premier et le dernier. On en
conclut que :
Z b
h
f (x)dx ' (f (x0 ) + 2[f (x1 ) + f (x2 ) + · · · + f (xn−1 )] + f (xn )) (5.5)
a 2
qui est la formule des trapèzes composée.
Qu'en est-il du terme d'erreur ?
Dans chacun des n sous-intervalles [xi , xi+1 ], on commet une erreur liée à la méthode du trapèze.
Puisque :
(b − a) (b − a)
h= et donc n=
n h
l'erreur totale commise est :
f 00 (η) 3 (b − a) 00
n(− h )=− f (η)h2
12 12

108
Remarque 5.1.1 Le raisonnement précédent n'est pas parfaitement rigoureux, même si le résultat
nal est juste. En eet, dans chaque sous-intervalle [xi , xi+1 ], l'erreur liée à la méthode du trapèze
simple devrait faire intervenir f 00 (ηi ), c'est-à-dire une valeur de η diérente pour chaque sous-intervalle.

Exemple 5.1.2
R π/2
On reprend le calcul de :
0
sin(x)dx mais cette fois à l'aide de la méthode des trapèzes composée.
π
Soit d'abord 4 intervalles de longueur :h =
8
On a alors :

Z π/2 π
8 π π 3π π
sin(x)dx ' (sin(0) + 2[sin + sin + sin ] + sin ) = 0.9871158
0 2 8 4 8 2
soit une erreur absolue d'environ 0, 01288 par rapport à la solution exacte. On constate une nette
amélioration en comparaison du résultat obtenu avec un seul intervalle. Il est intéressant de refaire ce
π
R π/2
calcul avec 8 intervalles. La valeur de h est maintenant
16
et on a :
0
sin(x)dx ' 0, 9967852 L'erreur
absolue a été réduite à 0, 0032. Cette erreur absolue est environ 4 fois plus petite que l'erreur obtenue
avec 4 intervalles, ce qui conrme que cette méthode est d'ordre 2.

Remarque 5.1.2  La méthode du trapèze avec un seul intervalle est également connue sous le
nom de méthode des trapèzes simple.
 La méthode des trapèzes composée donne un résultat exact si la fonction f (x) est un polynôme
de degré inférieur ou égal à 1. Cela s'explique par la présence de la dérivée seconde de f (x)
dans le terme d'erreur : celle-ci s'annule dans le cas de polynômes de degré 1.

Dénition 5.1.1 Les formules d'intégration numérique sont également appelées formules de quadrature.

Dénition 5.1.2 Le degré de précision d'une formule de quadrature est la valeur maximale de n pour
laquelle cette formule de quadrature intègre exactement tout polynôme de degré inférieur ou égal à n.

Remarque 5.1.3 Le degré de précision de la formule des trapèzes est 1.

Formule de Simpson 1/3


Reprenons le raisonnement utilisé avec la méthode des trapèzes, mais cette fois en utilisant un
polynôme de degré 2 dont la courbe passe par les points (x0 , f (x0 )), (x1 , f (x1 )) et(x2 , f (x2 )) . Ce
polynôme est donné par la formule de Newton :

P2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )

On se sert ensuite de l'approximation :


Z x2 Z x2
f (x)dx ' f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
x0 x0

On se place de nouveau dans le cas où les abscisses sont également distancées. On pose encore (x −
x0 )/h = s, ce qui entraîne que (x − xi ) = (s − i)h. La dernière expression devient :

Z 2
h
f (x0 ) + f [x0 , x1 ]hs + f [x0 , x1 , x2 ]h2 s(s − 1) hds = (f (x0 ) + 4f (x1 ) + f (x2 ))

0 3

109
où on a remplacé les diérences divisées par leur valeur respective :

f (x1 ) − f (x0 ) f (x2 ) − 2f (x1 ) + f (x0 )


f [x0 , x1 ] = et f [x0 , x1 , x2 ] =
h 2h2
En résumé, on a : Z x2
h
f (x)dx ' (f (x0 ) + 4f (x1 ) + f (x2 ))
x0 3
qui est la formule de Simpson 1/3 simple. Cette terminologie est due au facteur de 1/3 qui multiplie
h. L'analyse de l'erreur est plus délicate dans ce cas. Les numériciens se sont vite rendu compte que
cette méthode était plus précise qu'ils ne l'escomptaient. Une analyse plus ne est donc nécessaire.
Cette méthode est basée sur l'utilisation d'un polynôme de degré 2 et on devrait s'attendre à ce que
R x2
l'erreur soit donnée par :
x0
E2 (x)dx
On peut pousser plus loin l'analyse de l'erreur en introduisant un quatrième point (x3 , f (x3 )) quelconque
et le polynôme de degré 3 correspondant :

(f (x3 ) − p2 (x3 ))
p3 (x) = p2 (x) + (x − x0 )(x − x1 )(x − x2 )
(x3 − x0 )(x3 − x1 )(x3 − x2 )
on remarque que :

Z x2 Z 2
(x − x0 )(x − x1 )(x − x2 )dx = s(s − 1)(s − 2)h4 ds = 0
x0 0
R x2 R x2
Il s'ensuit que : p (x)dx = x0 p3 (x)dx
x0 2
En utilisant un polynôme de degré 2, on obtient en fait la même précision qu'avec un polynôme de
degré 3. Le terme d'erreur est donc de ce fait :

x2 x2
f 4 (ε(x))
Z Z
E3 (x)dx = (x − x0 )(x − x1 )(x − x2 )(x − x3 )dx
x0 x0 4!

Il n'est pas possible à ce stade-ci d'appliquer le théorème de la moyenne, comme nous l'avons fait
pour la méthode du trapèze. En eet, la fonction (x − x0 )(x − x1 )(x − x2 ) peut changer de signe dans
l'intervalle [x0 ; x2 ], à moins de choisir judicieusement x3 . Comme le choix de x3 est arbitraire, on peut
poser x3 = x1 . Le terme d'erreur devient alors :

Z x2 Z x2 4 Z 2 4
f (ε(x)) f (ε(s))
E3 (x)dx = (x − x0 )(x − x1 )(x − x2 )(x − x1 )dx = s(s − 1)2 (s − 2)h5 ds
x0 x0 4! 0 4!

On remarque que la fonction s(s − 1)2 (s − 2) ne change pas de signe dans l'intervalle [0, 2].
On peut maintenant se servir du théorème de la moyenne pour obtenir :

x2 2
f 4 (η) 5 f 4 (η) 5
Z Z
E3 (x)dx = h s(s − 1)(s − 2)ds = − h
x0 4! 0 90

La méthode de Simpson 1/3 simple se résume donc à :


Z x2
h f 4 (η) 5
f (x)dx = (f (x0 ) + 4f (x1 ) + f (x2 )) − h (5.6)
x0 3 90

où η ∈ [x0 , x2 ]

110
Remarque 5.1.4 La valeur de h exprime toujours la distance entre les points xi c'est-à-dire qu'elle
équivaut dans ce cas à la longueur de l'intervalle divisée par 2.
Exemple 5.1.3 On reprend une fois de plus le calcul des exemples précédents. Pour la fonction sin(x)
dans l'intervalle [0, π2 ], on a :
Z π π
2
4 π π
sin(x)dx ' (sin 0 + 4 sin + sin ) = 1.0022799
0 3 4 2

1
On peut encore une fois améliorer la précision de la formule de Simpson en la composant. Puisque
3
la méthode simple requiert deux intervalles, il semble souhaitable de diviser l'intervalle d'intégration
[a, b] en 2n sous- intervalles et d'utiliser la méthode de Simpson 1/3 simple dans chaque paire de
sous-intervalles.

Z b n−1 Z x2i+2 n−1


X X h
f (x) = f (x)dx ' (f (x2i ) + 4f (x2i+1 ) + f (x2i+2 ))
a i=0 x2i i=0
3

Tous les termes de rang impair sont multipliés par 4 tandis que ceux de rang pair sont multipliés par
2, sauf le premier (f (x0 )) et le dernier (f (x2n )).
L'analyse de l'erreur liée à la méthode de Simpson 1/3 composée est similaire à celle qui s'applique à
la méthode des trapèzes composée. En divisant [a, b] en 2n intervalles, on utilise n fois la méthode de
Simpson 1/3 simple et on commet donc n fois l'erreur liée à cette méthode. On a alors :

b−a b−a
h= et donc n=
2n 2h
et l'erreur totale est :

f (4) η 5 (b − a) f (4) η 5 (b − a) (4)


n(− h )= (− h )=− f (η)h4
90 2h 90 180
Remarque 5.1.5 la méthode de Simpson 1/3 composée est une méthode d'ordre 4. De plus, en raison
de la présence de la dérivée quatrième de f(x), cette méthode est exacte dans le cas des polynômes de
degré 3. Le degré de précision de cette méthode est donc 3.
Exemple 5.1.4 On divise l'intervalle [0, π2 ] en 4 sous-intervalles de longueur h = π8 . On a alors :
Z π π
2
8 π π 3π π
sin xdx ' (sin 0 + 4 sin + 2 sin + 4 sin + sin ) = 1.0001346
0 3 8 4 8 2

Pour une quantité de travail similaire, on obtient une précision supérieure à celle de la méthode des
trapèzes. Avec 8 sous-intervalles de longueur 16
π
, on a :
Z π π
2
16 π π 3π π 5π 3π
sin xdx ' (sin 0 + 4 sin + 2 sin + 4 sin + 2 sin + 4 sin + 2 sin +
0 3 16 8 16 4 16 8
7π π
4 sin + sin ) = 1.000008296
16 2

Cette plus grande précision vient du fait que cette méthode est d'ordre 4. On constate qu'en passant
de 4 à 8 intervalles (c'est-à-dire en divisant h par 2) on divise l'erreur par un facteur d'environ 16,22,
ce qui conrme l'ordre 4 de la méthode.

111
Formule de Simpson 3/8
Si on utilise un polynôme de degré 3 dans l'intervalle [x0 , x3 ] et passant par les points ((xi , f (xi )) pour
i = 0, 1, 2, 3, on obtient la formule de Simpson 3/8 simple qui s'écrit :

x3
3f (4) (η) 5
Z
3h
f (x)dx = (f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )) − h (5.7)
x0 8 80

pour un certain η ∈ [x0 , x3 ] On peut également composer cette méthode en divisant l'intervalle
d'intégration [a, b] en 3n sous-intervalles de longueur : h = b−a
3n
et en utilisant la formule de Simpson
3/8 simple dans chaque triplet de sous-intervalles. On obtient alors :

Z b n−1 Z x3i+3 n−1


X X 3h
f (x)dx = f (x)dx = (f (x3i ) + 3f (x3i+1 ) + 3f (x3i+2 ) + f (x3i+3 ))
a i=0 x3i i=0
8

(b − a)f (4) (η) 4


et le terme de l'erreur : E(x) = − h
80
Remarque 5.1.6 La méthode de Simpson 3/8 composée a le même ordre de convergence (4) et le
même degré de précision (3) que la méthode de Simpson 1/3 composée. Pour cette raison, on lui préfère
souvent la méthode de Simpson 1/3.

Formule de Boole
Si on a au départ un polynôme de degré 4 dans l'intervalle [x0 , x4 ] dont la courbe passe par les points
((xi , f (xi )) pour i = 0, 1, 2, 3, 4, la formule de Boole simple s'écrit :

x4
8f (6)(η) 7
Z
2h
f (x)dx = [7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )] − h (5.8)
x0 45 945

pour un certain η ∈ [x0 , x4 ].


On compose cette méthode en divisant cette fois l'intervalle d'intégration [a, b] en 4n sous intervalle
b−a
de longueur : h = et en utilisant la formule de Boole simple dans chaque quadruplet de sous
4n
intervalles. On obtient alors :

Z b n−1
X Z x4i+4 n−1
X 2h
f (x)dx = f (x)dx ' (7f (x4i ) + 32f (x4i+1 ) + 12f (x4i+2 ) + 32f (x4i+3 ) + 7f (x4i+4 ))
a x4i 45
i=0 i=0

et le terme d'erreur est :


(b − a)f 0000 (η) 4
− h
80

5.1.2 Quadratures de Gauss


Les quadratures de Gauss reposent sur un raisonnement diérent de celui qui est à la base des méthodes
de Newton-Cotes. D'une certaine façon, on cherche à optimiser les schémas d'intégration numérique en
choisissant plus judicieusement les points où est évaluée la fonction f (x). Dans le cas où l'évaluation
de f (x) est coûteuse en temps de calcul, ces quadratures permettent d'atteindre une grande précision

112
avec relativement peu d'évaluations de f (x). Par exemple, la méthode du trapèze requiert l'évaluation
de la fonction f (x) aux deux extrémités de l'intervalle sous la forme :

b
(b − a)
Z
f (x)dx = (f (a) + f (b))
a 2
Nous avons vu que le degré de précision de cette méthode est 1, car cette quadrature est exacte dans
le cas de tout polynôme de degré inférieur ou égal à 1. On peut se demander s'il est possible de trouver
deux points situés dans l'intervalle d'intégration ainsi que des coecients appropriés de telle sorte que
l'expression :
Z b
f (x)dx ' ω1 f (t1 ) + ω2 f (t2 )
a
b−a
ait un degré de précision supérieur à celui de la méthode du trapèze. Bien sûr, si : ω1 = ω2 = , t1 =
2
a et t2 = b on retrouve la formule du trapèze. Mais est-ce un choix optimal ? Pour répondre à cette
question, nous allons dans un premier temps nous restreindre à l'intervalle [−1, 1], où nous ferons tout
le développement. Pour un intervalle quelconque, il sura d'eectuer le changement de variable :

(b − a)t + (a + b) (b − a)
x= et dx = dt (5.9)
2 2
qui envoie l'intervalle [−1, 1] sur un intervalle quelconque [a, b]. En eet, le changement de variable
4.9 permet d'écrire que :

b 1   1
(b − a)t + (a + b) (b − a) (b − a)
Z Z Z
f (x)dx = f dt = g(t)dt
a −1 2 2 2 −1

Il est donc toujours possible de revenir à l'intervalle [−1, 1]. De manière générale, on cherche des
expressions de la forme :
Z 1 n
X
g(t)dt ' ωi g(ti ) (5.10)
−1 i=1

dont le degré de précision soit le plus élevé possible.

Dénition 5.1.3 L'expression 5.10 est appelée quadrature de Gauss à n points. Les t sont appelés
points d'intégration, tandis que les coecients ω sont les poids d'intégration.

On choisit les points et les poids d'intégration de façon à ce que la quadrature 5.10 soit exacte
dans le cas des polynômes de degré le plus élevé possible. Puisque tout polynôme de degré
Pn n peut
i
s'écrire : i=1 ci t
k
il sut que la relation 5.10 soit exacte successivement pour g(t) = t , pour k = 0, 1, 2, · · · , n. On
gagne à accroître le plus possible l'exposantk . Le degré maximal atteint dépend du nombre de points
n. Puisqu'il y a 2n coecients à déterminer dans l'équation 5.10, il est raisonnable de penser que l'on
peut atteindre le degré (2n − 1). La valeur de k varie donc entre 0 et 2n − 1.

Quadrature de Gauss Legendre à 1 point


Cherchons donc une expression de la forme :
Z 1
g(t)dt = ω1 g(t1 ) (5.11)
−1

113
qui soit exacte dans le cas des polynômes de degré le plus élevé possible. Commençons par les
polynômes de degré 0. La formule 5.11 doit être exacte pour g(t) = 1, ce qui donne une première
équation :
Z 1
1dt = 2 = ω1
−1

et l'unique poids d'intégration est déjà déterminé. L'équation 5.10 doit de plus être exacte pour
R1
g(t) = t. On trouve donc : −1 tdt = 0 = ω1 t1 = 2t1 ce qui entraîne que t1 = 0. Ainsi, la quadrature
de Gauss à 1 point s'écrit :
Z 1
g(t)dt ' 2g(0)
−1

et est exacte pour tout polynôme de degré 1.

Remarque 5.1.7 La quadrature de Gauss à 1 point a le même degré de précision (1) que la méthode
du trapèze, qui est une formule à 2 points. La quadrature de Gauss à 1 point est également connue
sous le nom de formule du point milieu.

Quadrature de Gauss Legendre à 2 points


On doit maintenant déterminer les 4 coecients inconnus de l'expression :

Z 1
g(t)dt ' ω1 g(t1 ) + ω2 g(t2 ) (5.12)
−1

On remarque immédiatement que t1 doit être diérent de t2 et que les deux wi doivent être non nuls.
Sinon, on se retrouve avec une formule à 1 point. Il nous faut alors 4 équations qui proviendront de
la relation 5.11, où on choisit successivement g(t) = 1, g(t) = t, g(t) = t2 et g(t) = t3 . Les 4 équations
résultantes sont : Z 1
1dt = 2 = ω1 + ω2 (5.13)
−1

Z 1
tdt = 0 = ω1 t1 + ω2 t2 (5.14)
−1

Z 1
2
t2 dt = = ω1 t21 + ω2 t21 (5.15)
−1 3
Z 1
t3 dt = 0 = ω1 t31 + ω2 t31 (5.16)
−1

et forment un système non linéaire qu'il est heureusement possible de résoudre analytiquement. On
2
multiplie l'équation 5.14 par t1 et on soustrait du résultat l'équation 5.16 pour obtenir :

ω2 t2 (t21 − t22 ) = 0

Pour que ce produit soit nul, il faut que l'un ou l'autre des facteurs s'annule, c'est-à-dire :
• ω2 = 0
Cette possibilité doit être écartée, car dans ce cas la formule de Gauss à 2 points 5.12 dégénère
en une formule à 1 seul point.

114
• t2 = 0 De l'équation , on tire que ω1 = 0 ou t1 = 0, ce qui conduit de nouveau à une formule à
1 point
• t21 = t22
On en conclut que t1 = −t2 puisque le cas t1 = t2 conduit encore à une formule à 1 point
Cette conclusion permet d'obtenir les poids d'intégration. En eet, en vertu de l'équation 5.14 :

t1 (ω1 − ω2 ) = 0

et puisque t1 ne peut être nul, ω1 = ω2 = 1 et la relation 5.13 entraîne que :

ω1 = ω2 = 1

Enn, selon l'équation 5.15, on a :

2
= t21 + t22 = t21 + (−t1 )2 = 2t21
3
q q
ce qui entraîne que : t1 = − 13 et donc t2 =
1
3
La formule de Gauss à 2 points s'écrit donc :

Z 1
r r
1 1
g(t) ' g(− ) + g( )
−1 3 3

et est exacte dans le cas des polynômes de degré inférieur ou égal à 3.

Remarque 5.1.8 Pour un même nombre de points d'intégration, la quadrature de Gauss à 2 points
a un degré de précision de 3 par comparaison avec 1 pour la méthode du trapèze. Pour un même eort
de calcul, on a ainsi une plus grande précision.

Quadratures de Gauss Legendre à n points


Sans entrer dans les détails, il est possible de déterminer des quadratures de Gauss avec un grand
nombre de points. Ces quadratures sont particulièrement ecaces et sont utilisées, par exemple, dans
la méthode des éléments nis . On détermine les 2n
coecients ωi et ti en résolvant un système non
k
linéaire de 2n équations que l'on obtient en prenant g(t) = t pour k = 0, 1, 2, · · · , (2n − 1). On peut
également démontrer que les points d'intégration de Gauss sont les racines des polynômes de Legendre
dénis par :
L0 = 1 et L1 (x) = x
et par la formule de récurrence :

(n + 1)Ln+1 (x) = (2n + 1)xLn (x) − nLn−1 (x)


q
Il est alors facile de démontrer que : L2 (x) = 21 (3x2 − 1) dont les racines sont ± 1
3
. En résumé, on a

le résultat général suivant.

Théorème 5.1.2 La quadrature de Gauss à n points 5.9 est exacte dans le cas des polynômes de degré
(2n − 1). Le degré de précision de cette quadrature est donc (2n − 1). Le terme d'erreur est donné par :

22n+1 (n!)4
3
f (2n) () où  ∈ [−1, 1] (5.17)
(2n + 1)((2n)!)

115
Le tableau suivant résume les principales quadratures de Gauss

Exemple 5.1.5
R1
On doit évaluer : 0 4x3 + 3x2 + 2dx dont la valeur exacte est 4. Il faut d'abord
eectuer le changement de variable 4.9 pour obtenir :
Z 1
1 1 t+1 2
Z
3 2 t+1 2
4x + 3x + 2dx = 4( ) + 3( ) + 2dt
0 2 −1 2 2

La formule de Gauss à 1 point donne l'approximation :

Z 1
2 0+1 3 0+1 2
4x3 + 3x2 + 2dx ' (4( ) + 3( ) + 2) = 3.25
0 2 2 2
Par contre, la quadrature à 2 points donne :

 p !3 p !2
1
− − 1/3 + 1
Z
1 1/3 + 1
4x3 + 3x2 + 2dx ' 4 +3 +2
0 2 2 2

116
p !3 p !2 
1/3 + 1 1/3 + 1
4 +3 + 2 = 4
2 2
L'exactitude de ce résultat était prévisible, car la fonction intégrée est de degré 3 et la quadrature de
Gauss à 2 points est exacte (par construction) pour tout polynôme de degré inférieur ou égal à 3.

Exemple 5.1.6 Grâce au changement de variable 4.9, on a :


Z π π Z 1
2 π(t + 1)
sin xdx = 2 sin( )dt
0 2 −1 4
La quadrature de Gauss à 2 points donne l'approximation :
Z π  
2 π π(t1 + 1) π(t2 + 1)
sin xdx ' sin + sin
0 4 4 4
π
= (sin(0, 331948322) + sin(1, 238848005)) = 0, 998472614
4
Si on tient compte du fait que l'on a évalué la fonction sin x en seulement deux points, ce résultat est
d'une précision remarquable. Par ailleurs, la formule à trois points donne :
Z π  
2 π π(t1 + 1) π(t2 + 1) π(t1 + 1)
sin xdx ' ω1 sin + ω2 sin + ω3 sin
0 4 4 4 4
π
= ((0, 555555556) sin(0, 177031362) + (0, 888888889) sin(0, 785398164)
4
+(0, 555555556) sin(1, 774596669)) = 1, 0000081821

La formule de Gauss à 3 points est donc plus précise que la méthode de Simpson 1/3 simple, qui
nécessite en outre l'évaluation de la fonction sin a ; en trois points. Pour obtenir une précision similaire
avec la méthode de Simpson 1/3, nous avons dû utiliser 8 intervalles et donc 9 évaluations de la fonction
sin x.

5.2 Dérivation Numérique


On peut aborder la diérentiation numérique d'au moins deux façons. La première approche consiste
à utiliser le développement de Taylor et la seconde est fondée sur l'égalité

F (x) = P (x) + E(x) (5.18)

Nous utiliserons un mélange des deux approches, ce qui nous permettra d'avoir un portrait assez
complet de la situation. Commençons d'abord par l'équation 5.18 Si on dérive de chaque côté de
l'égalité, on obtient successivement :

F (x) = P (x) + E(x)


F 0 (x) = P 0 (x) + E 0 (x)
(5.19)
F 00 (x) = P 00 (x) + E 00 (x)
.
.
.

Ainsi, pour évaluer la dérivée d'une fonction connue aux points (xi , f (xi ))
pour i = 0, 1, 2, · · · , n, il sut de dériver le polynôme d'interpolation passant par ces points. De plus,
le terme d'erreur associé à cette approximation de la dérivée est tout simplement la dérivée de l'erreur
d'interpolation. Ce résultat est vrai quel que soit l'ordre de la dérivée.

117
Remarque 5.2.1 Bien qu'en théorie on soit en mesure d'estimer les dérivées de tout ordre, sur le
plan pratique, on dépasse rarement l'ordre 4. Cela s'explique par le fait que la diérentiation numérique
est un procédé numériquement instable.

5.2.1 dérivé première


Commençons par faire l'approximation des dérivées d'ordre 1, ce qui revient à évaluer la pente de
la fonction f (x). Tout comme pour l'interpolation, nous avons le choix entre plusieurs polynômes de
degré plus ou moins élevé. De ce choix dépendent l'ordre et la précision de l'approximation. Nous
avons rencontré un problème semblable dans le cas de l'interpolation : si un polynôme de degré n est
utilisé, on obtient une approximation d'ordre (n + 1) de la fonction f (x)
Il est également utile de se rappeler que l'erreur d'interpolation s'écrit :

f (n+1) (ξ(x))
En (x) = [(x − x0 )(x − x1 ) · · · (x − xn )]
(n + 1)!
pour un certain ξ compris dans l'intervalle [x0 , xn ]. En dérivant cette expression, tout en tenant compte
de la dépendance de ξ envers x, on obtient :
 
n n Y n
f (n+2) (ξ(x))ξ 0 (x) Y f (n+1) (ξ(x))  X
En0 (x)

= (x − xi ) +  (x − x j ) 
(n + 1)! i=0
(n + 1)! 
k=0 j=0

j6=k

On peut simplier cette expression quelque peu complexe en choisissant l'un ou l'autre des points
d'interpolation. En eet, en x = xi , le premier terme de droite s'annule, faisant disparaître la dérivée
deξ(x), qui est inconnue. De la somme, il ne reste qu'un seul terme puisque tous les autres contiennent
un facteur (x − xi ) et s'annulent. Il reste :
 
n
f (n+1) (ξ(xi ))  Y
En0 (xi )

=  (x i − x j )
(n + 1)! j=0 
j6=i

Si on suppose de plus que les xi sont également distancés, c'est-à-dire : ce qui signie que xi − x j ) =
(i − j)h, on obtient :
 
n
f (n+1) (ξ(xi ))hn  Y
En0 (xi )

=  (i − j)
(n + 1)! 
j=0

j6=i

En particulier, si i = 0,on trouve :

(−1)n f (n+1) (ξ(x0 ))hn


En0 (x0 ) = (5.20)
(n + 1)
Dénition 5.2.1 Aux points d'interpolation, on a :
f 0 (xi ) = p0n (xi ) + En0 (xi ) (5.21)

Le terme p0n (xi ) dans l'équation est une formule aux diérences nies ou plus simplement une formule
aux diérences. Nous proposons plus loin plusieurs formules aux diérences nies pour évaluer les
diérentes dérivées de f (x). Elles se distinguent principalement par le degré du polynôme et par les
points d'interpolation retenus.

118
Si on choisit le polynôme de degré 1 passant par les points (x0 , f (x0 )) et (xi , f (xi )), on a, grâce à la
formule d'interpolation de Newton :

p1 (x) = f (x0 ) + f [x0 , x1 ](x − x0 )

et donc :
f 0 (x) = p01 (x) + E 0 (x) = F [x0 , x1 ] + E10 (x) (5.22)

En vertu de la relation 5.20 avec n=1 et puisque (x1 − x0 ) = h, on arrive à :

f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) −hf (2) (ξ0 )


f 0 (x0 ) = + E10 (x0 ) = +
x1 − x0 h 2
qui est la diérence avant d'ordre 1. On l'appelle diérence avant car, pour évaluer la dérivée en x = x0 ,
on cherche de l'information vers l'avant (en x = x1 ). De la même manière, si on évalue l'équation 5.22
en x = x1 , la relation de l'erreur avec (i = 1) donne :

f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) hf 2 (ξ1 )


f 0 (x1 ) = + E 0 (x1 ) = + (5.23)
x1 − x0 h 2
qui est la diérence arrière d'ordre 1.

Remarque 5.2.2 L'exemple précédent montre que la même diérence divisée est une approximation
de la dérivée à la fois en x = x0 et en x = x1 . On remarque cependant que le terme d'erreur est
diérent aux deux endroits.

Passons maintenant aux polynômes de degré 2. Soit les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )).
Le polynôme de degré 2 passant par ces trois points est :

P2 (x) = f (x0 ) + F [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )

dont la dérivée est :


p02 (x) = f [x0 , x1 ] + f [x0 , x1 , x2 ](2x − (x0 + x1 ))
Lorsque x prend successivement les valeurs x0 , x1 et x2 , il est facile de montrer que l'on obtient des
approximations d'ordre 2 de la dérivée.

−f (x2 ) + 4f (x1 ) − 3f (x0 ) h2 f 000 (ξ0 )


f 0 (x0 ) = + Diérence avant d'ordre 2
2h 3

f (x2 ) − f (x0 ) h2 f 000 (ξ1 )


f 0 (x1 ) = + Diérence centrée d'ordre 2
2h 6
3f (x2 ) − 4f (x1 ) + f (x0 ) h2 f 000 (ξ2 )
f 0 (x2 ) = + Diérence arrière d'ordre 2
2h 3
Remarque 5.2.3 Toutes ces formules aux diérences sont d'ordre 2. Les mentions avant, centrée et
arrière renvoient au point où on calcule la dérivée et aux points utilisés pour la calculer. Ainsi, la
diérence avant est évaluée en x0 sur la base des valeurs situées vers l'avant, soit en x1 et en x2 . La
diérence arrière xe la dérivée en x = x2 avec l'appui des valeurs de la fonction en x0 et en x1 . La
diérence centrée, quant à elle, fait intervenir des valeurs situées de part et d'autre de a1 .

119
On peut aussi convenir de toujours évaluer la dérivée en x. Dans ce cas, on utilise les valeurs de f (x+h)
et de f (x + 2h) pour la diérence avant et les valeurs de f (x + h) et de f (x − h) pour la diérence
centrée. En ce qui concerne le terme d'erreur, on ne retient que son ordre. Le tableau suivant résume
la situation.

f (x+h)−f (x)
f 0 (x) = h
+ O(h) Diérence avant d'ordre 1
f (x)−f (x−h)
f 0 (x) = h
+ O(h) Diérence arrière d'ordre 1
−f (x+2h)+4f (x+h)−3f (x)
f 0 (x) = 2h
+ O(h2 ) Diérence avant d'ordre 2
f (x+h)−f (x−h)
f 0 (x) = 2h
Diérence centrée d'ordre 2
3f (x)−4f (x−h)+f (x−2h)
f 0 (x) = 2h
+ O(h2 ) Diérence arrière d'ordre 2

Exemple 5.2.1 On tente d'évaluer la dérivée de f (x) = ex en x = 0. La solution exacte est dans ce
cas f 0 (0) = e0 = 1. On peut dès lors comparer ce résultat avec ceux que l'on obtient par les diérentes
formules aux diérences. Par exemple, la diérence avant d'ordre 1 donne pour h = 0, 1 :
e0+h − e0
f 0 (0) '
= 1, 05170918
h
Une valeur plus petite de h conduit à un résultat plus précis. Ainsi, si h = 0, 05 :
e0.05 − e0
f 0 (0) ' = 1, 0254219
0.05
On obtient ainsi une erreur à peu près deux fois plus petite, ce qui conrme que cette approximation
est d'ordre 1. Si on utilise cette fois une diérence centrée d'ordre 2, on obtient avec h = 0, 05 :
e0.05 − e−0.05
0
f (0) ' = 1, 0004167
2 ∗ 0.05
qui est un résultat beaucoup plus précis. Avec h = 0, 025, on obtient :
e0.025 − e−0.025
f 0 (0) ' = 1, 00010418
2 ∗ 0.025
soit une erreur à peu près 4 fois plus petite qu'avec h = 0, 05. On obtiendrait des résultats similaires
avec les diérences avant et arrière d'ordre 2.

5.2.2 Dérivées d'ordre supérieur


Avec les dérivées d'ordre supérieur, on agit à peu près de la même manière qu'avec les dérivées
d'ordre 1, c'est-à-dire que l'on dérive un polynôme d'interpolation aussi souvent que nécessaire. Les
dérivées d'ordre supérieur posent toutefois une diculté supplémentaire, qui provient principalement
de l'analyse d'erreur. En eet, dériver plusieurs fois le terme d'erreur 3.9 est long et fastidieux. Nous
préférons suivre une approche légèrement diérente basée sur le développement de Taylor. Reprenons
le polynôme de degré 2 déjà utilisé pour calculer la dérivée première. Ce polynôme s'écrit :

P2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )


et sa dérivée seconde est :

f (x2 ) − 2f (x1 ) + f (x0 )


p002 (x) = 2f [x0 , x1 , x2 ] = (5.24)
h2
00
qui constitue une approximation de la dérivée seconde f (x) partout dans l'intervalle [x0 , x2 ] ,il reste
à en déterminer l'ordre. Cet ordre dépend du point retenu pour l'approximation.

120
• Premier cas : On fait l'approximation de la dérivée en x0 L'équation peut alors s'écrire :

f (x0 + 2h) − 2f (x0 + h) + f (x0 )


f 00 (x0 ) ' p002 (x0 ) =
h2
On remarque immédiatement qu'il s'agit d'une formule aux diérences avant. Pour déterminer l'ordre
de l'erreur liée à cette approximation, on utilise le développement de Taylor. Ce que nous permet de
déduire que cette diérence avant est donc une approximation d'ordre 1.
• Deuxième cas : On fait l'approximation de la dérivée en x1 . L'équation 5.24 peut alors s'écrire :
f (x1 + h) − 2f (x1 ) + f (x1 − h)
f 00 (x1 ) ' p002 (x1 ) =
h2
qui est une diérence centrée. d'une approximation d'ordre 2 de la dérivée.
• Troisième cas : On fait l'approximation de la dérivée en x2 En reprenant un raisonnement
similaire à celui du premier cas, on pourrait montrer que la relation 5.24 est une approximation
d'ordre 1 de la dérivée seconde en x = x2 .
Remarque 5.2.4 Il peut sembler surprenant de constater que la même équation aux diérences,
obtenue à partir d'un polynôme de degré 2, soit d'ordre 1 en x = x0 et en x = x2 et soit d'ordre
2 en x = x1 . Cela s'explique par la symétrie des diérences centrées, qui permet de gagner un ordre
de précision.

On peut obtenir toute une série de formules aux diérences nies en utilisant des polynômes de degré
plus ou moins élevé et en choisissant les développements de Taylor appropriés pour en obtenir l'ordre
de convergence. Le tableau suivant présente les principales d'entrés elles. Diérence arrière d'ordre 1.

f (x − 2h) − 2f (x − h) + f (x)
f 00 (x) = + O(h)
h2
Diérence arrière d'ordre 1
f (x + 2h) − 2f (x + h) + f (x)
f 00 (x) = + O(h)
h2
Diérence avant d'ordre 1
f (x + h) − 2f (x) + f (x − h)
f 00 (x) = 2
+ O(h2 )
h
Diérence centrée d'ordre 2
−f (x + 2h) + 16f (x + h) − 30f (x) + 16f (x − h) − f (x − 2h)
f 00 (x) = 2
+ O(h4 )
12h
Diérence centrée d'ordre 4
f (x + 2h) − 4f (x + h) + 6f (x) − 4f (x − h) + f (x − 2h)
f 000 (x) = + O(h4 )
h4
Diérence centrée d'ordre 4

Pour terminer, nous démontrons que la diérentiation est un procédé numériquement instable. Toutes
les formules de diérences nies dépendent d'un paramètre h qui est la distance entre les points
d'interpolation. On pourrait croire, de façon intuitive, que la précision du résultat augmente à mesure
que diminue la valeur de h. Dans le cas de la diérentiation numérique, il y a une limite aux valeurs
de h qui peuvent être utilisées. En eet, si on prend, par exemple, une diérence centrée pour estimer
0 f (x0 + h) − f (x0 − h)
la dérivée première, c'est-à-dire : f (x) ' on constate que lorsque h tend vers
2h
0 le numérateur contient la soustraction de deux termes très proches l'un de l'autre. Cela résulte en
l'élimination par soustraction de plusieurs chires signicatifs lorsque h est trop petit. A quoi s'ajoute
une division par un nombre très petit. L'exemple suivant illustre ce phénomène.

121
Exemple 5.2.2 On considère les diérences centrées d'ordre 2 pour le calcul des dérivées première et
deuxième de la fonction f (x) = ex en x = 0. Ces deux calculs, qui doivent normalement aboutir à 1,
permettent d'apprécier la précision des résultats. Le tableau suivant rassemble les résultats en simple
précision (IEEE), ce qui correspond à peu près à travailler avec une mantisse de 7 chires décimaux.

f (x + h) − f (x − h) f (x + h) − 2f (x) + f (x − h)
h f 0 (x) ' f 00 (x) '
2h h2
100 1.175201178 1.086161137
10−1 1.001667619 1.000839472
10−2 1.000016928 1.000165939
10−3 1.000017047 1.013279080
10−4 1.000166059 0.000000000
10−5 1.001358151 0.000000000
10−6 0.983476758 -59604.66.16

122
Série d'exercice N 5
Exercice 1 :
1. Approximer l'intégrale
Z 2
1
I= dx
0 1 + x2
par la méthode de :
a) Des trapèze (2 points)
b) Des Simpson(3 points)
c) Des trapèze généralisés(4 points)
D) De Simpson généralisé(5 points)
Donner dans ces cas une majoration de l'erreur d'intégration commise.Quelle est la meilleure
approximation

2. Même question avec :


Z 2
1
I=
0 1 + x4
√ √ √ √
2 x2 +
sachant que la primitive de
1
1+x4
est
8
log( x2 −√2x+1
2x+1
)+ 4
2
arctan( 2x
1−x2
)
3. Étant donnée l'égalité

Z +∞ 2 Z 10 2
−x2 −x2
π=4 e dx =4 e dx + 
0 0

avec 0 <  < 10−44 , utiliser la méthode des trapèzes composite à 10 intervalles pour estimer la
valeur deπ

Exercice 2
R 5/2
Estimer
0
f (x)dx à partir des données

x 0 1/2 1 3/2 2 5/2


f (x) 3/2 2 2 1.6364 1.25 0.9565

en utilisant

1. la méthode des rectangles à gauche composite,

2. la méthode des rectangles à droite composite,

3. la méthode des trapèzes composite.

Exercice 3 :
1
Déterminer le nombre (n + 1) de points tels que n= h
qu'il faut utiliser dans la méthode des trapèze
pour approximer l'intégrale :
Z 1
I= exp(−x2 )
0

123
avec une précision de 10−3

1
Déterminer le nombre (n + 1) de points tels que n= h
qu'il faut utiliser dans la méthode de Simpson
généralisée, pour approximer l'intégrale
Z 2
I= xlog(x)dx
1

avec une précision de 10−3 .

Exercice 4
: Approximer l'intégrale
Z 1
2
ex dx
−1
par la méthode de :

1. la méthode de quadrature de gauss Legendre en un seul point.

2. la méthode de quadrature de gauss Legendre en deux points

3. la méthode de quadrature de gauss Legendre en trois points


R2
même questions pour l'intégrale :
0
arctan(x)dx

Exercice 5 :
Déterminer la formule de quadrature de gauss en quatre points. donner le polynôme de plus grande
degrés que sont intégrale peut être remplacée par cette formule.
Déterminer la formule de quadrature de gauss en cinq points. donner le polynôme de plus grande
degrés que sont intégrale peut être remplacée par cette formule.

Exercice 6
R1
On veut approcher l'intégrale I(f ) = −1
f (x)dx par la formule de quadrature suivante

A0 f (−1) + A1 f (1)
Calculer A0 et A1 pour que cette formule de quadrature soit de degré de précision au moins 1. Montrer
que cette formule de quadrature a pour degré de précision 1

Exercice 7
R1
On cherche à déterminer une valeur approchée J de I = −1
f (t)dt sous la forme J = A0 f ( −1
2
)+
A1 f (0) + A2 f ( 12 )
−1 1
1. Déterminer d'abord le polynôme d'interpolation de Lagrange de f aux points
2
; 0 et
2
; en
déduire J.
2. Retrouver les coecients A0 ; A1 et A2 en écrivant que l'approximation doit être exacte (égalité)
pour les polynômes de degré inférieur ou égal à 2.
R +1
3. En déduire l'approximation correspondante de I= −1
cos(πx2 )dx

124
Exercice 8
Soit f une fonction C ∞ (R, R).
1. On considère l'approximation

1  
−3 −1
Z
1 1 3
f (x)dx ≈ 11f ( + f ( ) + f ( ) + 11f ( )
−1 12 5 5 5 5

Quel est le degré de précision de cette formule de quadrature ?


b−a
2. On se donne les points xi i=n
i=0 de subdivision de l'intervalle [a; b] : xi = a + ihavech =
n
. À
l'aide d'un changement de variable ane, en déduire une formule de quadrature pour l'intégrale
Z xi+1
f (x)dx
xi

Rb
En tirer une formule de quadrature composite pour l'intégrale
a
f (x)dx.
Rb
3. Écrire l'algorithme pour approcher
a
f (x)dx

Exercice 9
1. Soit f une fonction de classe C 1 ([−1, 1]) et P le polynôme de LAGRANGE qui interpole f aux
points −1, 0 et 1. Écrire le polynôme p.

2. En déduire une méthode de quadrature pour approcher l'intégrale

Z 1
f (t)dt
−1

3. Étudier le degré de précision de la formule de quadrature ainsi trouvée.

4. À l'aide d'un changement de variable ane, en déduire une formule de quadrature pour
l'intégrale Z x2i+2
f (t)dt
x2i

5. Soit h = b−a 2n
et xi = a + ih pour i = 0, ..., 2n. On subdivise l'intervalle [a, b] en n intervalles
[x2i ; x2i+2 ] de largeur 2h.

Rb
En déduire la formule de quadrature composite pour le calcul approché de
a
f (x)dx.
6. Écrire l'algorithme associé à cette formule de quadrature

125
Exercice 10
Soit f une fonction C 1 (R, R). On se donne les points (xi )i=2n
i=0 de subdivision de l'intervalle [a; b]
: xi = a + ih avec h = b−a
2n
Le but de l'exercice est de trouver une formule de quadrature à 2n + 1 points basée sur la formule de
SIMPSON pour approcher
Z b
f (x)dx. (1)
a
On propose dans un premier temps (question 1 à 3) de construire la formule de quadrature à 3 points
de Simpson :
Z 1
g(x)dx = αg(−1) + βg(0) + αg(1) (2)
−1
où les réels α et β sont à déterminer.

1. Déterminer α et β pour que la formule de quadrature (2) ait degré de précision maximale.

2. À l'aide d'un changement de variable ane, en déduire une formule de quadrature exacte sur
R x2i +2
l'espace des polynôme de degré au plus 3 pour l'intégrale suivante :
x2i
f (x)dx.
3. En déduire une formule de quadrature à 2n points, notée F, pour le calcul approché de (1).
Cette formule de quadrature est-elle stable ?

4. Écrire l'algorithme du calcul de F.


5. Soit x un élément de [xi ; xi+1 ]. Écrire une formule de TAYLOR f (x) = Pi (x) + Ri (x) à l'ordre
3 pour f en x, avec P i ∈ P 3. Majorer Ri sur [xi; xi + 1] en fonction de h.
6. En déduire une estimation d'erreur entre (1) et F.

Exercice 11
Évaluer la dérivée de f (x) = ex en x = 0 à l'aide des diérences avant et arrière d'ordre 2. Prendre
h = 0, 05 et h = 0, 025, et calculer le rapport des erreurs commises.

Exercice 12
A partir du polynôme de degré 2 passant par les points (x0 , f (x0 )), (xi , f (xi )) et (x2 , f (x2)), obtenir les
0
formules aux diérences avant, centrée et arrière d'ordre 2 pour le calcul de f (x). Déduire également
les termes d'erreur.

Exercice 13
Soit f une fonction de classe C n ([a, b]) et soit t0 ∈]a, b[
1. Montrer que pour tout h > 0 tel que t0 ± h ∈ [a, b] on a :

h2 (3) h2
f 0 (t0 ) = Df 1(t0 , h) − f (u) f 00 (t0 ) = Df 2(t0 , h) − f (4) (v)
6 12
avec u, v ∈]t0 − h, t0 + h[ et

(f (t0 + h) − f (t0 − h)) f (t0 + h) + f (t0 − h) − 2f (t0 )


Df 1(t0 , h) = Df 2(t0 , h) =
2h h2
.

126
2. On pose f (t) = 1 + 2arctg(10(t − 4)) , a=1 ; b=5 ; remplir la table :

t 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3


f(t)
f '(t)
Df1(t,0.25)

En déduire l'erreur d'approximation de la dérivée sur l'ensemble {1.25, 1.5, 1.75, 2.00, 2.25, 2.50, 2.75}
Remplir la table :

t 3 3.25 3.5 3.75 4 4.25 4.5 4.75 5


f(t)
f '(t)
Df1(t,0.25)

En déduire l'erreur d'approximation de la dérivée première sur l'ensemble{3.25, 3.50, 3.75, 4.00, 4.25, 4.50
Cette erreur est-elle prévisible ? Justier.

3. Calculer Df2(t,0.25) sur l'ensemble {1.25, 1.05, 1.75, 2.00, 2.25, 2.50, 2.75} en déduire l'erreur
d'approximation de la dérivée seconde sur cet ensemble.

4. Calculer le polynôme P d'interpolation de f sur l'ensemble{3.90, 3.95, 4.00, 4.05, 4.10}, en déduire
0 00
des estimations de f et f l'ensemble{3.95, 4.00, 4.05}.

5. On suppose f : [3, 5] → R; f (t) = e−t . Montrer que ∀t0 , h; t0 ± h ∈ [3, 5] on a :

|Df 1(t0 , h) − f 0 (t0 )| ≤ 10−2 h2 et |Df 2(t0 , h) − f 00 (t0 )| ≤ 5 × 10−3 h2

6. Reprendre les questions 2), 3) , 4), et 5) avec la fonction f (t) = e−t .

127
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

TP N °1
Méthodes directes pour la résolution des systèmes linéaires

Objectifs de TP :
1. Ecrire sous MATLAB la fonction ([X]=rsti(A,b)) pour résoudre un système triangulaire
inférieur. La fonction a une seule variable de sortie (x : la solution de système)
Et deux variables d’entrée (la matrice triangulaire inférieur A, et le vecteur b).
2. Ecrire sous MATLAB la fonction ([X]=rsts(A,b)) pour résoudre un système triangulaire
supérieur. La fonction a une seule variable de sortie (x : la solution de système)
Et deux variables d’entrée (la matrice triangulaire supérieur A, et le vecteur b).
3. Ecrire la fonction ([A1]=echelonnement(A) ) pour appliquer le principe d’élimination de
Gauss ordinaire sur La matrice A.
4. Ecrire la fonction ([X]=rslg1(A,b) ) pour résoudre un système de cramer par la méthode
de Gauss ordinaire. La fonction a une seule variable de sortie (x : la solution de système)
et deux variables d’entrée (la matrice A, et le vecteur b).
5. Ecrire la fonction (function[l,U]=dlu(A)) qui applique le principe de l’échelonnement de
Gauss ordinaire pour obtenir la décomposition LU de la matrice A.
La fonction a une seule variable d’entrée (La matrice A) et deux variables de sortie (la
matrice triangulaire inférieure L et la matrice triangulaire supérieure U).
6. Ecrire la fonction (function[X]=rsllu(A,b)) qui résoudre un système linéaire par la
méthode LU.
7. Ecrire la fonction (function[Q]=dcholesky(A)) pour obtenir la décomposition de Cholesky
D’une matrice symétrique définie positive en utilisant l’algorithme vu en cours.
8. Ecrire la fonction (function[X]=rslmch(A,b)) pour résoudre un système linéaire par la
méthode de Cholesky.
9. Testez toutes les fonctions programmées.

Solution :
function[X]=rsti(A,b)
n=length(b);
X=zeros(n,1);
X(1)=b(1)/A(1,1);
for i=2:n
s=A(i,1:i-1)*X(1:i-1);
X(i)=(b(i)-s)/A(i,i);
End

function[X]=rsts(A,b)
n=length(b);
X=zeros(n,1);
X(n)=b(n)/A(n,n);
for i=n-1:-1:1
s=A(i,i+1:n)*X(i+1:n);
X(i)=(b(i)-s)/A(i,i);
End
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

function[A1]= echelonnement(A)
A1=A
[n,m]=size(A1);
for i=1:n-1
for j=i+1:n
A1(j,:)=A1(j,:)-(A1(i,i)\A1(j,i))*A1(i,:)
end
end

function [X]=rslg1(A,b)
A1=[A,b] ;
A2= echelonnement(A)
[n,m]=size(A1);
A3=A2(1:n,1:n);
b3=A2(1:n,m);
x=rsts(A3,b3);

function[l,U]=dlu(A)
[n,m]=size(A);
l=eye(n,n);
for i=1:n-1
for j=i+1:n
alpha=A(i,i)\A(j,i);
A(j,:)=A(j,:)-alpha*A(i,:);
l(j,i)=alpha;
end
end
U=A;

function[q]=dcholesky(A)
[n,m]=size(A);
q=zeros(n);
q(1,1)=sqrt(A(1,1));
for j=2:n
q(j,1)=A(j,1)/q(1,1);
end

for i=2:n
q(i,i)=sqrt(A(i,i)-q(i,1:i-1)*q(i,1:i-1)');
for j=i+1:n
q(j,i)=(A(j,i)-q(j,1:i-1)*q(i,1:i-1)')/q(i,i);
end
end

function[X]=rslmch(A,b)
q=dcholesky(A);
y=rsti(q,b);
x=rsts(q',y)
end
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

TP N2
Méthodes itératives pour la réalisation des systèmes linéaires

Objets de TP
1. Ecrire la fonction ([X]=mjacobi(A,b,x0,nb)) pour résoudre un système linéaire par la
méthode de Jacobi .
La fonction à quatre variables d’entrées : la matrice A, le vecteur b, le nombre d’itérations
nb, la solution approximative initiale x0, et une seule variable de sortie, X la solution
approximative de système AX=b à l’itération nb.

2. Ecrire sous Matlab la fonction ([X]=mgaussseidel(A,b,xo,nb)) pour résoudre un système


linéaire par la méthode de Gauss Seidel.
La fonction a quatre variables d’entrées la matrice A, le vecteur b, le nombre d’itérations
nb , la solution approximative initiale x0 et une seule variable de sortie, X la solution
approximative de système à l’itération nb.

3. Ecrire la fonction ([X]=mjor(A,b,w,x0,nb)) pour résoudre un système linéaire par la


méthode JOR.
La fonction à cinq variables d’entrées : la matrice A, le vecteur b, le paramètre de
relaxation w, la solution approximative initiale x0, le nombre d’itérations nb et une seule
variable de sortie X solution approximative de système à l’itération nb.

4. Ecrire la fonction ([X]=mrelaxation(A,b,w,nb)) pour résoudre un système linéaire par la


méthode de relaxation.
La fonction à quatre variables d’entrées : la matrice A, le vecteur b, le paramètre de
relaxation w, la solution approximative initiale x0, le nombre d’itération nb et une seule
variable de sortie X solution approximative de système à l’itérations nb.
5. Soient 𝐴 ∈ 𝑀𝑛×𝑛 (ℝ) et 𝑏 ∈ ℝ𝑛 définies par :
3 min(𝑖, 𝑗) − 1 𝑠𝑖 𝑖 ≠ 𝑗
𝑎𝑖𝑗 = {
4𝑛2 𝑠𝑖 𝑖 = 𝑗

𝑏𝑖 = ∑𝑛𝑗=1 𝑎 ∀𝑖 ∈ {1, ⋯ , 𝑛}
𝑖𝑗
1. Introduire la matrice A et le vecteur b pour n=50 ;
2. Donner 𝑋̅ solution exacte de système Ax=b sans faire des calculs .
3. Utiliser la fonction mjacobi(A,b,x0,nb) avec les paramètres 𝑥0 = 0ℝ𝑛 ,nb=1, 50 ,100.
4. Calculer l’erreur :‖𝑋1 − 𝑋̅ ‖1 , ‖𝑋 50 − 𝑋̅ ‖1 , ‖𝑋100 − 𝑋̅ ‖1
5. Utiliser la fonction mjor(A,b,w,x0,nb)) avec les paramètres 𝑥0 = 0ℝ𝑛 , 𝑛𝑏 = 100
𝑤 = 0.25 , 0.5 , 0.75 , 1.25, 1.5 , 1.75
6. Pour quelle valeur de w le processus converge ?
7. Calculer l’erreur ‖𝑋𝑤 − 𝑋̅ ‖1 pour 𝑤 = 0.25 , 0.5 , 0.75 , 1.25, 1.5 , 1.75
Existe-il une valeur 𝑤 pour laquelle la méthode JOR converge plus rapidement que la
méthode de Jacobi ?
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

6. Soient 𝐴 ∈ 𝑀𝑛×𝑛 (ℝ) et 𝑏 ∈ ℝ𝑛 définies par :


1 𝑠𝑖 𝑖 ≠ 𝑗
𝑎𝑖𝑗 = {
𝑛 𝑠𝑖 𝑖 = 𝑗
𝑛

𝑏𝑖 = ∑ 𝑗 × 𝑎𝑖𝑗 ∀𝑖 ∈ {1, ⋯ , 𝑛}
𝑗=1
a) Introduire la matrice A et le vecteur b pour n=50 ;
b) Donner 𝑋̅ solution exacte de système Ax=b sont faire des calculs .
c) Utiliser la fonction mgaussseidel(A,b,xo,nb) avec les paramètres 𝑥0 = 0ℝ𝑛 ,
nb=1, 50 ,100.
d) Calculer l’erreur :‖𝑋1 − 𝑋̅‖∞ , ‖𝑋50 − 𝑋̅ ‖∞ , ‖𝑋100 − 𝑋̅‖∞
e) Utiliser la fonction mrelaxation(A,b,w,nb) avec les paramètre 𝑥0 = 0ℝ𝑛 , 𝑛𝑏 = 100
𝑤 = 0.25 , 0.5 , 0.75 , 1.25, 1.5 , 1.75
8. Calculer l’erreur ‖𝑋𝑤 − 𝑋̅ ‖∞ pour 𝑤 = 0.25 , 0.5 , 0.75 , 1.25, 1.5 , 1.75
Existe-il une valeur 𝑤 pour laquelle la méthode Relaxation converge plus rapidement
que la méthode de Gauss SeidelqW ?

Remarques :
 Ajouter des commentaires à vos codes, pour qu’ils seront facile à comprendre.
 Pour la méthode de relaxation utiliser les formules suivantes :
𝐷 1−𝑤
 𝐴 = (𝑤 − 𝐸) − ( 𝑤 𝐷 + 𝐹)

𝐷 −1 1−𝑤
 𝐿𝑤 = (𝑤 − 𝐸) ×( 𝐷 + 𝐹)
𝑤

𝐷 −1
 𝐶𝑤 = (𝑤 − 𝐸) 𝑏

 𝑋 𝑘+1 = 𝐿𝑤 𝑋 𝑘 + 𝐶𝑤
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

TP N3
Interpolation et approximation polynomiale

Prérequis :
L’étudiants doit maitriser l’utilisations des polynômes sous Matlab.
C’est dire la façon avec laquelle on introduit et manipuler les polynômes sous Matlab.
Voir les fonctions : conv, deconv, poly, roots, polyder, polyint, polyval.

Objets de TP :
1. Ecrire la fonction([l]= baseplagrange(X)) pour obtenir les différentes bases de
polynôme de Lagrange.
Le vecteur X est la seule variable d’entrées, il contient toutes les valeurs des points
d’interpolation.
La matrice l est la seule variable de sortie, chaque ligne représente un polynôme de la
base de Lagrange.
2. Ecrire la fonction ([P]=plagrange(X,Y)) tel que :
P : le polynôme d’interpolation de Lagrange.
X : les points d’interpolation.
Y : les valeurs de la fonction aux points 𝑥𝑖 , 𝑖 = 1,2, ⋯ , 𝑛
3. Ecrire la fonction ([a]=coefnewton(x,y) ) pour calculer les coefficients de polynôme
de newton.
a : un vecteur qui contient les coefficients de polynôme de newton.
x: le vecteur qui regroupe les points d’interpolation.
y : le vecteur qui contient la valeur de la fonction aux points 𝑥𝑖 , 1 ≤ 𝑖 ≤ 𝑛
4. Ecrire la fonction ([P]=polnewton(X,Y)) tel que :
P : le polynôme d’interpolation de Newton.
X : les points d’interpolation.
Y : les valeurs de la fonction aux points 𝑥𝑖 , 1 ≤ 𝑖 ≤ 𝑛
5. Ecrire la fonction ([P]=moindrescarrés(x,y,n)) pour obtenir le meilleur polynôme
d’approximation au sens de moindres carrés.
P : un vecteur qui contient les coefficients de polynôme d’approximation.
x : le vecteur qui regroupe les points 𝑥𝑖 , 1 ≤ 𝑖 ≤ 𝑚
y : les valeurs de la fonction aux point 𝑥𝑖 , 1 ≤ 𝑖 ≤ 𝑚
n : le degré de polynôme P.
6. Soit 𝑓 une fonction définie par :
𝑓(𝑥 ) = 𝑥 2 + 𝑒 sin(𝑥/2) − ln(0.4 + 𝑒 𝑥−2 ) 𝑥 ∈ [−1,1]

a) Tracer la courbe de 𝑓
b) Considérons les points 𝑥𝑖 𝑑é𝑓𝑖𝑛𝑖𝑒 𝑝𝑎𝑟 ∶ 𝑥0 = −1, 𝑥𝑖 = 𝑥𝑖−1 + 0.1
 Calculer 𝑦𝑖 = 𝑓(𝑥𝑖 )
 Construire le polynôme de newton qui interpole f aux points (𝑥𝑖 , 𝑦𝑖 )
 Tracer la courbe de se polynôme sur la figure précédente.
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique
c) Calculer 𝛼𝑖 racine de la fonction 𝑔(𝑥 ) = 𝑐𝑜𝑠(21𝑎𝑟𝑐𝑜𝑠(𝑥 )).

 Calculer 𝑧𝑖 = 𝑓(𝛼𝑖 )
 Calculer le polynôme de Lagrange qui interpole f aux points (𝛼𝑖 𝑖 , 𝑧𝑖 )
 Tracer la courbe de ce polynôme sur la même figure.
d) Chercher le meilleur polynôme d’approximation de degré n (n=8,6,4,2)
De la fonction f aux points 𝑥𝑖
Solution :
Function [l]= baseplagrange(X)
n=length(x);
for k=1:n
p=x;
p(k)=[];
r=1;
for i=1:n-1
r=r*(x(k)-p(i));
end
l(k,:)=poly(p);
l(k,:)=l(k,:)/r ;
end

function[P]=plagrange(X,Y)
l= baseplagrange(X);
n=length(x);
for k=1:n
l(k,:)=l(k,:)*y(k);
end
P=sum(l) ;

function [a]=coefnewton(x,y)
a(1)=y(1)
a(2)=(y(2)-a(1))/(x(2)-x(1))
n=length(x)
for i=3:n
p1=1
for k=1:i-1
p1=p1*(x(i)-x(k))
end
s=a(1);
for j=2:i-1
p2=1
for k=1:j-1
p2=p2*(x(i)-x(k))
end
s=s+(a(j)*p2)
end
a(i)=(y(i)-s)/p1;
end
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique

function[p]= polnewton (x,y)


a=coefnewton(x,y);
n=length(x);
p=zeros(1,n);
p(n)=a(1);
for i=2:n
x1=x(1:i-1);
c=poly(x1);
c=c*a(i);
p(n-(i-1):n)=p(n-(i-1):n)+c;
end

function [P]=moindrescarres(x,y,n)
%X et Y sont des vecteurs colonnes
m=length(x)
A=ones(m,1);
for k=1:n
A(:,k+1)=x.^k
end
A1=A'*A
y1=A'*y
p=A1\y1

% introduit la fonction f.
f=@(x) x^2+exp(sin(x/2))-log(4+exp(x-2))
% tracer la courbe de f
fplot(f,[-1,1])
%vecteur des points xi
x=-1:0.1:1 ;
% calculer yi=f(xi)
y=f(x) % un message d'erreur
% corriger la fonction f
f=@(x) x.^2+exp(sin(x/2))-log(4+exp(x-2))
%calculer y
y=f(x);
% interpolation de newton :
p=polnewton(x,y);
% tracer la courbe de polynôme:
x1=-1:0.015:1; % choisir des point pour évaluer le polynôme
y1=polyval(p,x1); % calculer y1=p(x1)
hold on %
plot(x1,y1,'b'); % tracer la courbe de p en bleu.

%*********************************************************
%..........méthode des moindres carrées..................
% ajouter une autre figure de dessin
figure
plot(x,y,'+') %marquer les points d'interpolation
y=y'; % y doit être un vecteur colonne
p8=moindrescarres(x,y,8);
y8=polyval (p8,x);
Ecole Supérieure des Sciences Appliquées d’Alger
ème
Section : 2 Année Module : Analyse Numérique
hold on
plot(x,y8,'r')

p6=moindrescarres(x,y,6),
y6=polyval (p6,x);

plot(x,y6,'b')

p4=moindrescarres(x,y,4),
y4=polyval (p4,x);

plot(x,y4,'y')

p2=moindrescarres(x,y,2),
y2=polyval (p2,x);

plot(x,y2,'g')