Beruflich Dokumente
Kultur Dokumente
1
3 Résolution Des systèmes Linéaire 46
3.1 Un peu de Calcul Matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
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
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.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
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.
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).
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
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 :
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)
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)
gθ(t)
θ00 (t) = − (1.7)
l
θ(0) = θ0 (1.8)
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.
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 :
ou encore
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.
Les autres bits peuvent alors servir à la représentation de l'entier lui-même. Ainsi :
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 :
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 :
9
Exemple 1.1.3 La représentation sur 4 bits de 0101 vaut :
−0 × 23 + 1 × 22 + 0 × 21 + +1 × 20
−1 × 23 + 1 × 22 + 0 × 21 + 1 × 20
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.
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.
11
tels que : f10 = (0.d1 d2 d3 · · · )2
−1
ou encore : f = d1 × 2 + d2 × 2−2 + d3 × 2−3 + · · ·
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 :
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.
(−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
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)
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 :
Ce résultat peut être vérié directement sur ordinateur au moyen de l'algorithme qui suit
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.
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.
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 :
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.
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.
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.
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 :
et d'autre part :
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.
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 :
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 .
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.
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 :
ou encore
a0 = f (x0 ) (1.18)
a1 = f 0 (x0 ) (1.19)
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!
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 :
où Pn (x) est le polynôme de Taylor 1.20 et Rn (x) est l'erreur commise, qui est donnée par :
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 :
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 :
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)!
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
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
∂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
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 :
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
24
CHAPITRE
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)
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
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
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.
f : [a, b] −→ R
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
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)
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)
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.
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 )
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
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
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 :
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
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.
|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 |
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.
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)| =
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
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.
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 )
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 )
38
1. Peut-on appliquer la méthode de la bissection pour calculer chacune des deux racines ? Pourquoi ?
√
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 :
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)
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.
41
Exercice 7 (concours juin 2011)
On considère la fonction f dénie par :
1. Montrer que l'équation f (x) = 0 admet une unique racine α qu'on localisera dans un intervalle
I entre deux entiers consécutifs.
Montrer que sa limite est α et en déduire le nombre d'itérations N qui assure que :
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]
5. trouver la valeur approchée de cette racine par cette méthode et avec cette précision.
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] :
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
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 ?
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.
(b) Montrez que u s'annule en deux valeurs α et β (on notera α la valeur positive).
44
CHAPITRE
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 :
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.
Avec y∗ = yt l'adjoint de y.
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.
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.
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
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)
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 :
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
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.
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.
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 51 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
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 onapplique 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
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
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.
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.
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.
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 :
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.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 :
Toute application qui vérie ces quatre propriétés est une norme matricielle.
Voici quelques exemples.
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 :
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 :
Le conditionnement dépend de la norme matricielle utilisée. On utilise le plus souvent la norme ||A||∞
||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, :
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||
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 :
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.
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.
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.
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
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
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
2. k
lim B = 0
n→+∞
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
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.
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 :
62
2. Si ||X (k) − X (k−1) || ≤ alors
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||
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
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
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 :
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.
Dénition 3.4.2 Une matrice A ∈ Rn×n est à diagonale strictement dominante lorsque :
X
|aii | > |aij | ∀i
j6=i
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
ρ(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.8 Si la méthode de Jacobi converge, alors la méthode JOR converge pour 0 < ω ≤ 1
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
A1 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
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
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
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
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.
4. Appliquer les méthodes de Jacobi et gauss siedel sur le système 1(4 itération).
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
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.
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
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
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
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.
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
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 ?
minρ(Lω ) = ρ(Lω∗ ) = ω ∗ − 1
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
||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.
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é.
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 :
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 :
2. Lj = 0 si j 6= k, 0 ≤ j ≤ n
3. Lk = 1
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)!
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]
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 ).
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 :
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 :
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 ).
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)
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
n
X
f [x0 , · · · , xn ] = g[x0 , · · · , xj ]h[xj , · · · , xn ]
j=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
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 :
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
−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.
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 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 :
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.
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 .
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
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 :
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
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 :
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
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
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)|
cette erreur est majorée par : E(x) ≤ N!
maxx∈[a,b] f (N ) (ξ)∀x ∈ R
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 :
P1 (x0 ) = f (x0 )
et
Pi00 (xi ) = Pi+i
00
(xi ) Pour i = 1, 2, · · · , n − 1 (4.18)
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 :
00 (xi−1 − xi )3
pi (xi−1 ) = f (xi−1 ) = fi−1 + αi (xi−1 − xi ) + βi
6(xi−1 − xi )
(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
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 :
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
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 :
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 :
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
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
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
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
Théorème 4.2.5 si ]a, b[ est bornée, alors lim ||f − rn ||2 = 0 pour tout f ∈ E
n→+∞
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)
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 :
n−1
X
(yi − (axi + b))2 Soit minimum
i=0
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
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 :
(x − a) (b − a)
t = 2π ou encore x= t+a
(b − a) 2π
(b − a)
g(t) = f t+a
2π
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π].
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
2π
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 :
kπ
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)
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 .
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
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
qui n'est rien d'autre qu'une progression géométrique de raison eiπ(m−l)/n . La somme vaut donc :
2n−1
X 2n−1
X
ilt ilt iltk −iltk
< e ,e >= e e = 1 = 2n
k=0 k=0
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
où l'on a posé ω = eiπ/n . Le polynôme 4.29 est la transformée de Fourier discrète de g(t).
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
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
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
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
Exercice 10
Soit les points suivants.
x 0 1 2 3 4
f (x) 0 2 36 252 1040
2. Obtenir le polynôme de Lagrange passant par les 4 premiers points.(Est-ce possible d'utiliser
les calculs faits en a) ?
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
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
5. (a) Montrer que le polynôme d'interpolation de la somme de deux fonctions est la somme des
polynômes d'interpolation
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
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 .
Exercice 17
Soit f : R ←− R f (x) = 1 + x3 .
la fonction dénie par
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
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.
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
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
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é ?
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.
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
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 .
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!
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
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 :
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.
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 (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
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.
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 :
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 :
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
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
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
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.
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
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.
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
ω1 = ω2 = 1
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
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.
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
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.
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.
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 :
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.
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
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 :
et donc :
f 0 (x) = p01 (x) + E 0 (x) = F [x0 , x1 ] + E10 (x) (5.22)
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 :
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.
120
• Premier cas : On fait l'approximation de la dérivée en x0 L'équation peut alors s'écrire :
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
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
en utilisant
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
Exercice 4
: Approximer l'intégrale
Z 1
2
ex dx
−1
par la méthode de :
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
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.
Z 1
f (t)dt
−1
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 ?
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
126
2. On pose f (t) = 1 + 2arctg(10(t − 4)) , a=1 ; b=5 ; remplir la table :
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 :
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}.
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.
𝑏𝑖 = ∑𝑛𝑗=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
𝑏𝑖 = ∑ 𝑗 × 𝑎𝑖𝑗 ∀𝑖 ∈ {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]=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')