Méthodes Numériques: Master
Méthodes Numériques: Master
Méthodes Numériques
2023-2024
Table des matières
1 Errurs et conditionnement 3
1.1 Erreur absolue et erreur relative . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Erreur absolue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Erreur relative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Différentes erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Sources des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Erreur totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Sensibilité aux erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Problème bien posé . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Problème bien conditionnée . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Méthodes et algorithmes 9
2.1 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Différents types de méthodes . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Méthodes exactes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Méthodes approchées . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.4 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1
TABLE DES MATIÈRES 2
Errurs et conditionnement
3
CHAPITRE 1. ERRURS ET CONDITIONNEMENT 4
Il n’est pas trés facile de donner un contenu mathématique à ce qui précéde car cela
nécessite de définir des normes sur l’ensemble des données et sur l’ensemble des résultats.
Or ce sont souvent des ensembles de fonctions où il est délicat de définr de telles normes.
Exemples :
1. Résoudre le système linéaire Ax = b, où A ∈ MN (R) avec det(A) 6= 0 et b ∈ RN
sont des données et où x ∈ RN l’inconnue ; c’est un système de CRAMER2 . La
solution x unique s’exprime à l’aide des formules de CRAMER comme des fractions
rationnelles en les coefficients de la matrice A et les composantes du vecteur b : c’est
donc un problème bien posé.
2. Résoudre l’équation différentielle y 0 (x) = y(x) dans R avec la condition initiale
y(0) = α. La solution y(x) = αex est unique et dépend continûment de la donnée
α : cest donc un problème bien posé.
On peut remarquer sur ces deux exemples simples qu’il est ne serait pas immédiat de
formaliser la conclusion.
Contre-exemple :
Déterminer le nombre de solutions réelles de l’équation α − 12x(x − 1)2 = 0 avec α réel.
Selon la valeur de α on peut distinguer plusieurs cas :
– α < 0 : un zéro
– α = 0 : deux zéros
– 0 < α < 169
: trois zéros
Ne pouvant définir de notion de continuité pour une fonction à valeur dans N , le problème
est mal posé.
1
Jacques HADAMARD, mathématicien Français (versaille 1865- Paris 1963). Théorie des fonctions.
Théorie des nombres. Analyse fonctionnelle. Enseignant à l’Ecole Polytechnique et au Collège de France.
2
Gabriel CRAMER, mathématicien Suisse (Genève 1704 - Bagnol-Sur-Cèze 1752). Courbes planes.
Systèmes d’équations linéaires.
CHAPITRE 1. ERRURS ET CONDITIONNEMENT 6
De la même manière que l’on parle d’erreur absolue et d’erreur relative, on utilise aussi
souvent une autre notion de conditionnement :
On peut remarquer, comme pour les problèmes bien posés, la difficulté à définir cela
de manière correcte et la dépendance à l’égard des normes utilisées. Il ne sera pas toujours
facile de déterminer si un problème est bien posé, bien ou mal conditionné.
Selon les problèmes considérés et quand cela sera possible, on utilisera l’un ou l’autre de
ces deux conditionnements. Ce qui est important c’est l’ordre de grandeur davantage que
leur valeur précise qui de toute manière dépend des normes.
Si la costante C est petite la solution x sera donc peu sensible aux perturbations sur
les données : on dit que le problème est bien conditionné ; un algorithme de calcul de la
solution sera stable.
Si elle est grande les perturbations sur les données seront amplifiées : on dit que le pro-
blème est mal conditionné ou «raid» (sfiff). Il est à craidre qu’un algorithme de calcul de
la solution soit instable : le chois de cet algorithme sera alors important.
Le caractère «petit» ou «grand» dépend bien sûr des problèmes traités et du type de condi-
tionnement : on peut raisonnablement parler de problème mal conditionné si C ≥ 10 et
de problème bien conditionné si C < 2.
Exercice. Déterminer la valeur exacte de y(5), puis une valeur approchée obtenue par
une méthode numérique.
Quand il y a plusieurs données il est quelquefois plus simple de les traiter séparément
et de considérer des conditionnements relatifs par rapport à chacune de ces données.
Exemple :
Si x = F (a) ∈ R avec a = (a1 , a2 , ..., an ) ∈ Rn et F de classe C 1 , on peut écrire en
négligeant les termes du second ordre :
x − x = F (a) − F (a)
n
X ∂F
x−x≈ (a) (ai − ai )
i=1 ∂ai
n
x−x X ai ∂F (ai − ai )
≈ (a)
x i=1 F (a) ∂ai ai
n
|x − x| X ai ∂F (ai − ai )
≤ | (a)| | |
|x| i=1 F (a) ∂ai ai
En posant Ci = | Fa(a)
i ∂F
∂ai
(a)|, que l’on peut appeler conditionnement par rapport à la
donnée ai , on obtient l’inégalité :
|x − x| (ai − ai )
≤ Ci | | (6)
|x| ai
qui permet de mesurer l’effet des perturbations des données a = (a1 , a2 , ..., an ) sur x.
Dans le cas particulier où x = F (a1 , a2 ) = a1 + a2 , on obtient :
∆x a1 ∆a1 a2 ∆a2
| |≤| || |+| || |
x a1 + a2 a1 a1 + a2 a2
Si a1 + a2 est proche de zéro le calcul de la somme sera mal conditionné : on retrouve le
problàme de lélimination catastrophique ; dans les autres cas, il sera bien conditionné.
3
Augustin Louis CAUCHY, mathématicien français (Paris 1789 - Sceaux 1857). Fondements de l’Ana-
lyse où il introduit la rigueur connue actuellement. Equations différentielles. Fonctions de variable com-
plexe. Elasticité. Professeur au Collège de France et à l’Ecole Polytechnique. Il dut s’exiler à la révolution
de 1830 pendant plusieurs années en raison de ses opinions l"gitimistes, opinions qu’il gardera toute sa
vie.
Chapitre 2
Méthodes et algorithmes
2.1 Méthodes
2.1.1 Différents types de méthodes
On considère le problème de calcul numérique bien posé au sens de HADAMARD
x = F (a)
consistant à déterminer la solution x en fonction des données a.
On distingue plusieurs types de méthodes selon le résultat obtenu (valeur exacte de la
solution ou valeur approchée) et le moyen de l’obtenir :
méthodes directes : le résultat est donné par une formule et calculé en un nombre fini
d’opérations ; on distingue les méthodes exactes où le résultat est la valeur exacte de
la solution et les méthodes approchées où c’est une valeur approchée de la solution ;
méthodes itératives : la valeur exacte de la solution est la limite x = limn→∞ xn d’une
suite définie par récurrence et on prend une valeur xn avec n bien choisi comme
valeur approchée de la solution.
8
CHAPITRE 2. MÉTHODES ET ALGORITHMES 9
Définition 6. On dit que l’erreur de la méthode approchée est d’ordre p s’il existe
une constante K > 0 telle que
L’erreur sur la valeur approchée obtenue est dûe à l’erreur de méthode, aux erreurs
d’arrondi et éventullement aux erreurs sur les données.
On trouve parmi ces méthodes :
– les formules de dérivation numérique et d’intégration numérique,
– les méthodes de résolution des équations différentielles,
– les méthodes des différences finies pour la résolution des équations aux dérivées
partielles,
– etc.
Définition 7. On dit que la méthode itérative est convergente d’ordre p s’il existe
une constante K > 0 telle que, pour n assez grand :
Remarques
– dans le cas p = 1, on parle de convergence linéaire et dans le cas p = 2 de convergence
quadratique.
– si une méthode est d’ordre p on peut estimer qu’on multiplie approximativement le
nombre de décimales significatives par p à chaque itération.
Comme pour les méthodes approchées, l’erreur sur la valeur approchée obtenue est
dûe à l’erreur de méthode, aux erreurs d’arrondi et éventuellement aux erreurs sur les
données. La question importante dans ces méthodes est : quand s’arrêter ? Pour quelle
valeur de de n considère-t-on que xn est une «bonne» valeur approchée de la valeur exacte
x?
CHAPITRE 2. MÉTHODES ET ALGORITHMES 10
kxn−1 − xn k ≤ ² (11)
– un test d’arrêt sur l’écart relatif entre deux valeurs approchées successives :
kxn−1 − xn k
≤² (12)
kxn k
Il faut bien réaliser que ces deux tests d’arrêt n’apportent en général aucune garantie sur
l’erreur absolue ou sur l’erreur relative. Selon la nature des problèmes il est quelquefois
possible de les améliorer.
On trouve parmi ces méthiodes :
– la résolution des équations non linéaires f (x) = 0 par la méthode de dichotomie, la
méthode de NEWTON1 ou la méthode des sécantes.
– la résolution des systèmes linéaires par la méthode de JACOBI, la méthode de
GAUSS-SEIDEL ou la méthode de relaxation,
– etc.
2.2 Algorithme
Une fois la méthode est choisie, il s’agit de la mettre en oeuvre.
2.2.1 Complexité
On mesure la complexité temporelle d’un algorithme par l’ordre de grandeur du
nombre d’opérations élémentaires nécessaire à son exécution. On appelle opérations élé-
mentaires les quatre opérations de base (addition, soustraction, multiplication et division)
en arithmétique flottante. On fait ainsi l’hypothèse que leur temps d’exécution est iden-
tique. . .ce qui est faux en général. De même, en général, on ne compte pas le nombre
1
Isaak NEWTON, astronome, mathématicien et physicien anglais (Woolsthorpe 1642 - Londres 1727).
Fondateur avec LEIBNITZ (avec lequel il aura une longue polémique), du calcul différentiel et intégral.
Classification des cubiques. Mécanique. Théorie de la gravitation. Mouvement des planétes. Réalisation
du premiet téléscope. Théorie des couleurs. Alchimie. A laissé une oeuvre exceptionnelle.
CHAPITRE 2. MÉTHODES ET ALGORITHMES 11
Exercice
2.2.2 Stabilité
Un algorithme est stable (on dit aussi numériquement stable) s’il est peu sensible à la
propagation des erreurs.
Dans certains domaines -résolution numérique des équations différentielles par exemple-
une définition précise de la stabilité sera donnée.
Il est évident qu’un problème très mal conditionné conduira à des algorithmes instables.
Mais un problàme bien conditionné ne se traduira pas obligatoirement par un algorithme
stable. Il convient d’être prudent.
Chapitre 3
det(A(i) )
xi = (14)
det(A)
−
→
A(i) : matrice obtenue en substituant dans A la colonne i par b
X
det(A) = a1σ(1) × . . . × a1σ(N ) × ε(σ)
σ∈PN
13
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES14
Commande MATLAB :
»x=b/T
Code
function x=Tsup(T,b)
% résout le système linéaire T*x=b
N=length(b)
x=zero(N,1)
x(N)=b(N)/T(N,N)
for i=N-1 :-1 :1
x(i)=(b(i)-T(i,i+1 :N)*x(i+1 :N))/T(i,i)
end
3.4 Factorisation LU
On met A sous forme de produit de deux matrices régulières L et U :
A = LU
−
→
La résolution du système de Cramer A− →
x = b se réduit au cas trés simple de résolution
des systèmes triangulaires. En effet :
( −
→
−
→ → − → L−
→
y = b
A→
−
x = b ⇐⇒ L U −
| {zx} = b ⇐⇒
→
− U−
→
x =→−
y (16)
y
Etape 1 :
A(2) (1, :) = A(1) (1, :) 2 1 1 x1 1
(2) (1) 6 (1)
A (2, :) = A (2, :) − 2 A (1, :) =⇒ 0 −1 −2 . x2 = −4
A(2) (3, :) = A(1) (3, :) − −2
2
A(1) (1, :) 0 3 2 x3 8
| {z } | {z }
A(2) −
→(2)
b
or
0 0 0 0 0 0 0
(1)
0 0
(1) (1) (1) (1)
3 ∗ A (1, :) = 3a11 3a12 3a13 = 3 ∗A
(1) (1) (1) (1)
−A (1, :) −a11 −a12 −a13 −1 0 0
d’où
0 0 0
A(2) = (I −
3 0 0
) ∗ A
(1)
−1 0 0
0 1
→
−1 −
→
Introduisons l = 3 et e 1 = 0 premier vecteur de la base canonique de
−1 0
R3 . Nous avons
0 0 0
→
− 1−
→ T
l e1 = 3 0 0
−1 0 0
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES16
Etape 2
A(3) (1, :) = A(2) (1, :) 2 1 1 x1 1
A(3) (2, :) = A(2) (2, :) =⇒ 0 −1 −2 . x2 = −4
3
A(3) (3, :) = A(2) (3, :) − −1
A(2)
(2, :) 0 0 −4 x 3 −4
| {z } | {z }
A(3) −
→(3)
b
De la même manière que la matrice A(2) on peut mettre la matrice A(3) sous forme
A(3) = E (2) A(2) . En effet
0 0 0 0 0 0
A(3) = A(2) − 0 0 0 = A(2)
− 0 0 0
∗A
(2)
(2) (2) (2)
−3a21 −3a22 −3a23 0 −3 0
0 0
−
→2
En posant l = 0 et e 2 = 1
−
→
, on a
−3 0
−
→2 →T (2)
A(3) = (I − l −
e 2 ) A = E (2) A(2)
| {z }
E (2)
U = E (2) E (1) A
En effet
→
− 1 →T ) −
→1 − T ) −
→1 →T −→1 →T
(I − l −e 1 )(I + l →
e 1 ) = I − l (−
e 1 l )−
e1 =I
De la même manière on note (E (2) )−1 = L(2) .
On obtient la matrice triangulaire inférieure en écrivant
L(1) L(2) U = LU = A
En explicitant :
1 0 0 1 0 0 1 0 0
L= 3 1 0 0 1 0 = 3 1 0
−1 0 1 0 −3 1 −1 −3 0
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES17
→
− k− T
– (i) la matrice E (k) est inversible L(k) = I + l → e k,
– (ii) le produit L = L(1) ...L(N −1) s’assemble sans calcul de telle façon que
0
sii < j
L(i, j) = 1 sii = j
lij sii > j
→
− k− T →
− k− T −
→k →T −→k − T → −
→k P
En effet, (I − l →
e k )(I + l →
e k ) = I − l (−
e k l )→
e k et −
e Tk l = N
i=k+1 δki lik = 0
−
→1 →T −
→N −1 → −
→1 − T →
− N −1 −
D’autre part , (I + l −
e 1 )...(I + l −
e TN −1 ) = I + l →
e 1 +...+ l →
e TN −1 puisque
→
−i
les produits −
→
e Ti l sont nuls dés que j ≥ i.
Coût de l’opération
Pour chaque valeur de k :
– (N − k) divisions
– (N − k)2 multiplications et (N − k)2 soustractions pour la mise à jour de A
N −1
X N (N − 1) N2
(N − k) = ∼
k=1 2 2
N
X −1
2 1 2
2 (N − k)2 = N (N − )(N − 1) ∼ N 3
k=1 3 2 3
Le coût est d’environ : C(N ) ∼ 23 N 3
Retour à l’exemple
2 1 1
Observons sur la matrice A = 6 2 1 les différentes étapes de la fonction ci-
−2 2 1
dessus ; par souci de lisibilité, nous imprimons en caractères gras les valeurs calculées de
la matrice L et leur positionnement dans la matrice A:
2 1 1
– k=1 : A est remplacée par A = 3 −1 −2
-1 3 2
2 1 1
– k=2 : A est remplacée par A = 3 −1 −2
-1 -3 −4
Les instructions MATLAB
L=tril(A,-1)+eye(N)
U=triu(A)
permettent bien de retrouver L et U.
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES20
−
→j →T −
→gj T
Pk E (j) Pk = I − Pk l −
ej =I− l −
→
e j = Eg
(j)
→
−gj −
→j
Le vecteur l s’obtient du vecteur l en permutant les termes lkj et lij . Puis on a :
Pk E (k−1) ...E (1) = (Pk E (k−1) Pk )(Pk ...Pk )(Pk E (1) Pk )Pk = Eg g
(k−1) ...E (1) P
k
puis
P A = LU. (17)
3.5.3 Implantation
Code
function [L,U,permute]=Gausspiv(A) ;
% Gauss calcule la factorisation LU de A avec la stratégie du pivot partiel.
% L’appel se fait selon :
% » [L,U,permute]=Gauss(A)
% Elle est telle que A(Permute, :)=LU.
% La solution du système Ax=b est donnée par :
% »x=(b(Permute)/L)/U
[N,N]=size(A) ;
Permute=1 :N
for k=1 :N-1
if A(k,k)==0.
error(’Matrice non inversible...’)
end
% colonne k de la matrice L :
A(k+1 :N,k)=A(k+1 :N,k)/A(k,k) ;
end
L=tril(A,-1)+eye(N) ;
U=triu(A) ;
3.6.1 Théorème
Théoràme 2.Toute matrice d’ordre N, symétrique et définie positive est factorisable
sous la forme LLT où L est une matrice triangulaire inférieure inversible. De plus, la
décomposition est unique, quand on choisit les éléments diagonaux de L piositifs.
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES22
3.6.3 Implantation
Code
function [L]=Cholevski(A) ;
% Cholevski calcule la factorisation LLT de A qui doit être symétrique et définie positive.
% L’appel se fait selon :
% » [L]=Cholevski(A)
% La solution du système Ax=b est donnée par :
0
% »x = (b/L)/L
N=size(A,1) ;
L=zeros(size(A)) ;
L(1,1)=sqrt(A(1,1)) ;
for k=2 :N
X N X N
k−
→
x k1 = |xi | −→ | k A k |1 = max { |aij |} (19)
1≤j≤N
i=1 i=1
N
X
k−
→ 1 1
x k2 = ( x2i ) 2 −→ | k A k |2 = ρ(AT A) 2 (20)
i=1
X N
k−
→
x k∞ = max {|xi |} −→ | k A k |∞ = max { |aij |} (21)
1≤i≤N 1≤i≤N
j=1
ρ(A) étant le rayon spectral de la matrice A. Il est égal à : ρ(A) = max1≤i≤N |λi |, où les
λi sont les valeurs propres.
−→ −
→ − →
(A + ∆A)(−
→
x + ∆x) = b + ∆b
En supposant que ∆A est suffisamment petit pour que A + ∆A reste inversible. Comme
A est supposée inversible, on peut écrire :
A + ∆A = A(I + A−1 ∆A) (24)
1
Supposons en outre que, pour une norme matricielle induite, | k ∆A k | < |kA−1 k|
. On en
déduit que | k ∆A k |.| k A−1 k | < 1.
Lemme 2. Si B ∈ MN (R) est telle que | k B k | < 1 pour une norme matricielle
induite, alors (I − B) est inversible, et vérifie :
∞
X
−1
(I − B) = B∞1
k=1
1
|kI −B k|<
1−|kB k|
D’aprés ce lemme, la matrice (I +A−1 ∆A) est alors inversible ; et donc la matrice A+∆A.
En l’appliquant à (24), on obtient :
1
| k (A + ∆A)−1 k | ≤ | k A−1 k |.| k (I + A−1 ∆A)−1 k | ≤ | k A−1 k |
1 − | k A−1 ∆A k |
1
Généralisation du résultat bien connu sur les séries numériques géométriques
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES25
−→ −
→
En remarquant que ∆x = (A + ∆A)−1 (−∆A−
→
x + ∆b)on obtient :
−→ | k A−1 k | −→ −
→
k∆xk ≤ −1
(| k ∆A k |.k∆xk + k∆bk)
1 − | k A ∆A k |
−→ −
→
k∆xk | k A−1 k | k∆bk
≤ (| k ∆A k | + −
→ | k A k |)
k−→
xk 1 − | k A−1 ∆A k | kbk
−→ −→
k∆xk | k ∆A k | k∆bk
≤ γ(A)( + → − )(1 + O(| k ∆A k |)
k→−
xk |kAk| kbk
Interpretation
Le système précédent est sensible aux perturbations. On sait qu’on obtient un système
équivalent en multipliant chaque ligne par un scalaire non nul. On peut donc le remplacer
par le système obtenu en remplaçant chaque équation (Eq : i) par a1i1 (Eq : i)
à ! à ! à !
1 0.999 x1 1.999
. =
1 0.9989998 x2 1.998998
On voit ici que les lignes A(1, :) et A(2, :) sont presque dépendantes puisque
A vrai dire, les colonnes de la matrice A sont aussi presque dépendantes et on peut vérifier
que
A(:, 1) − A(:, 2)/A(1, 2) = [0, 2.010−6 ]
Lorsque les lignes ou les colonnes d’une matrice ne sont pas indépendantes, cette ma-
trice est non inversible. On peut donc penser, que d’une certaine façon, c’est parce que la
CHAPITRE 3. MÉTHODE EXACTE POUR LA RÉSOLUTION DE SYSTEMES LINÉAIRES26
matrice A est proche d’une matrice singulière que le système est très sensible aux pertur-
bations.
Si les lik sont très grands, le premier terme sera négligeable, et ces lignes seront presque
dépendantes, puisqu’à peu près proportionnelles à A(k, k + 1 : N ) ! En terme de méthode
−
→(k+1)
d’élimination, le système A(k+1) −→
x = b sera très sensible aux petrturbations, puisque
proche d’un système non inversible.
3.8 Exercice
3.8.1 Exercice
On veut résoudre le système linéaire Ax = b, où
1 1 1 1 x1
A= 2 2 5
, b= 2
et x = x2
4 6 8 5 x3
3.8.2 Exercice
Pour résoudre le système A2 x = b, connaissant la matrice A, vaut-il mieux calculer
puis factoriser A2 , ou procéder d’une autre façon.
Chapitre 4
Pour localiser les racines on peut utiliser l’une des méthodes suivantes :
méthode graphique : on localise les zéros en considèrant les points ou le graphe y =
f (x) coupe l’axe des abscisses. Il peut être commode d’écrire f (x) = G(x) − H(x) ;
les racines sont alors à l’intersection des graphes de y1 = G(x) et y2 = h(x).
Méthode algébrique : on utlise un corollaire du théorème de Rolle, sous la forme des
conditions suffisantes suivantes :
La méthode de dichotomie consiste à créer une suite {xk } qui converge vers la racine
x∗ . On procède de la manière suivante :
27
CHAPITRE 4. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DE F(X)=0 28
a+b
x0 = 2
<0 x∗ ∈]a, x0 [, on définit a1 = a et b1 = x0
si f (a)f (x0 ) = 0, x∗ = x0
>0 x∗ ∈]x0 , b[, on définit a1 = x0 et b1 = b
Dans chacun des cas x∗ ∈]a1 , b1 [ tel que |a1 −b1 | = 12 |b−a|. On définit de même x1 = a1 +b1
2
etc . . .En poursuivant la dichotomie on forme la suite :
a0 + b0 a1 + b1 an + bn
x0 = , x1 = , . . . , xn = ,...
2 2 2
|an − bn |
≤² (25)
2
Désignons par m = sup |F 0 (x)| lorsque x ∈]a, b[, m < 1, nous avons :
|xn − x∗ | ≤ m|xn−1 − x∗ |
∗ ∗
|xn−1 − x | ≤ m|xn−2 − x |
...
|x1 − x∗ | ≤ m|x0 − x∗ |
D’où
|xn − x∗ | ≤ mn |x0 − x∗ |
Etant donné ² > 0, il suffit de choisir :
ln ² − ln(b − a)
n> (32)
ln m
pour obtenir |xn − x∗ | ≤ ². D’où la convergence de l’algorithme.
0 ²2n 00 ∗
∗
²n+1 = ²n F (x ) + F (x ) + . . . (33)
2!
Donc si :
CHAPITRE 4. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DE F(X)=0 31
²2n 00 ∗
²n+1 ≈ F (x ) (35)
2
On parle de convergence quadratique, et ainsi de suite pour les ordres plus élevés.
Alors f (x) = 0 possède une seule racine dans [a, b] et ∀x0 ∈ [a, b] la suite :
f (xn )
xn+1 = xn − (36)
f 0 (xn )
converge quadratiquement.
Avec les hypothèses ci-dessus sur la fonction f , la méthode de Newton Raphson est
un cas particulier de la méthode du point fixe en choisissant :
f (x)
F (x) = x −
f 0 (x)
L’inconvénient de la méthode réside dans le fait qu’il faut savoir calculer la valeur de
la dérivée aux points xn , ce qui n’est pas toujours possible ou facile ; si l’on utilise une
valeur approchée de la dérivée -ce que font certains logiciels- la convergence n’est pas
quadratique en général.
Dans la pratique, il est rare de savoir si l’on se trouve dans le voisinage [x∗ − δ, x∗ + δ]
dont l’existence est assurée par le théorème précédent. La suite (xn ) peut alors diverger. . .
CHAPITRE 4. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DE F(X)=0 32
Pour les tests d’arrêt on peut utiliser les mêmes tests que ci-haut : (27), (28) ou (29).
Exemple. Comme application de Newton Raphson calculer la racine pième d’un nombre
a.
4.6 Exercices
4.6.1 Exercice sur MATLAB
On considère l’équation : 3 sin x − 1 = 0
1. Montrer qu’il existe une seule racine dans l’intervalle [0, π2 ] que l’on appelle x∗ .
2. Ecrire les algorithmes correspondant aux méthodes présentées ci-dessus et les tra-
duire en MATLAB .
3. Calculer une valeur approchée de x∗ à 10−8 près à l’aide de ces méthodes en com-
parant la rapidité de convergence.
4.6.2 Exercice
√ √
On considère le problème de calculer 2. Cela revient à trouver le zéro positif x∗ = 2
de la fonction
f (x) = x2 − 2
c’est-à-dire à résoudre une équation non linéaire.
1. On applique la méthode de dichotomie à la fonction f sur l’intervalle [a, b], avec
a = 1 et b = 2. Ecrire l’algorithme correspondant, et prouver que si x(m) est la
valeur approchée de x∗ trouvée à la m-ième itération de la méthode, on a
1
|x(m) − x∗ | ≤
2m+1
a+b
en commençant les itérations par x(0) = 2
.
√
2. Combien d’iterations sont nécessaires pour trouver une valeur approchée de 2 qui
soit exacte jusqu’au dixième chiffre aprés la virgule ?
3. Pour résoudre le problème, on peut utiliser aussi la méthode du point fixe
x(k+1) = F (x(k) )
|x(k+1) − x∗ | ≤ C|x(k) − α|
|x(k) − x∗ | ≤ C k |x(0) − x∗ |, ∀k ≥ 0
Les méthodes présentées ici sont la généralisation au cas n-dimensionnel des méthodes
de résolution de f (x) = 0 étudiées dans le cas mono-dimensionnel du chapitre précédent.
A partir d’une valeur estimée initiale : →
− −
→(∗) =
(0) (0)
x (0) = (x1 , x2 , . . . , x(0) T
n ) de la solution exacte : x
(∗) (∗) −
→ −
→
(x1 , x2 , . . . , x(∗) T
n ) du système A x = b on génère une suite de vecteurs :
−
→ −
→(k) →(k−1)
x (k+1) = f (− x ,...,−
→
x (k−i) ) (37)
−
→(k)
Définition 11. Si la fonction vectorielle d’itération f est indépendante de l’itération
k, on dit que l’on a une itération stationnaire, dans le cas contraire elle est dite non
stationnaire.
Définition 12. Si le calcul de −
→
x (k) demande la connaissance de i vecteurs estimés qui le
précèdent , on a une formule itérative à i pas ou multipas.
5.1 Principe
Ecrivons la matrice A sous forme A = M − N (M doit être régulière) alors le système
(37) peut s’écrire :
−
→
M− →x = N− →
x + b
La méthode itérative consiste , à partir d’un vecteur initial →
−x (0) , à générer la suite
→
−x (1) , →
−
x (2) , . . . , −
→
x (k+1) de la manière suivante :
−
→x (1) = M −1 N −
→
x (0) + M −1 b
−
→x (2) = M −1 N −
→
x (1) + M −1 b
...
−
→(k+1) −1 −→(k) −1
x =M Nx +M b
Soit, sous forme condensée :
−
→(k+1) = T −
→x (k) + −
→
x
v k = 0, 1, 2, 3, ... (38)
−1
T =M N
− −
→
→
v = M −1 b
La matrice d’itération T et le vecteur −
→
v sont indépendants de k.
34
CHAPITRE 5. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DES SYSTÈMES DE CRAMER
5.2 Convergence
Théorème 5. La suite définie par → −x (0) et −
→
x (k+1) = T −
→x (k) + →
−
v converge vers
→
−∗ −1 −
→ −
→
x = (I − T ) v quelque soit x (0)
si et seulement si ρ(T ) < 1.
Comme on a |kT k| ≥ ρ(T ), une condition suffisante de convergence est telle que
|kAk| < 1 =⇒ ρ(T ) < 1
5.3 Décomposition de A
La matrice M sera choisie de façon qu’elle soit facilement inversible et vérifie ρ(M −1 N ) <
1 (ou ce qui est suffisant |kM −1 N k| < 1).
Définissons les matrices A = D − L − U telles que :
−
→ →
−
x (k+1) = D−1 (L + U )−
→
x (k) + D−1 b
CHAPITRE 5. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DES SYSTÈMES DE CRAMER
La composante i du vecteur −
→
x (k+1) s’écrit :
X n
(k+1) 1 (k)
xi = (bi − aij xj ) (40)
aii j6=i
Tests d’arrêt
Pour arrêter les itérations on peut utiliser l’un des tests suivants :
1. Lorsqu’on connait l’ordre de grandeur de la solution, on peut arrêter les itérations
dés que :
k−
→
x (k+1) − −
→
x (k) k < ²
Attention ! Ce test n’implique pas que k→ −
x (k) − −
→x ∗ k < ².
2. L’erreur relative est inférieure à une précision donnée :
n
ke(k) k X (k)
≤² avec eki = bi − aij xj
kbk j6=i
Convergence
Pour la convergence la condition suffisante |kTJ k| < 1 se traduit par :
n
X
|aij | < |aii | i = 1, 2, 3, . . .
j6=i
−
→ −
→
x (k+1) = D−1 L−→x (k+1) + D−1 U −
→
x (k) + D−1 b
La composante i du vecteur −
→x (k+1) s’écrit :
j=i−1
X Xn
(k+1) 1 (k+1) (k)
xi = (bi − aij xj − aij xj ) (41)
aii j=1 j=i+1
La convergence est généralement deux fois plus rapide que celle de la méthode de Ja-
cobi (mais il y a de nombreux contres-exemples). On a encore une condition suffisante de
convergence : on montre de la même manière qu’il suffit que la matrice A soit à diagonale
dominante.
Remarque
1. On remarque, d’une part, qu’il suffit de stocker en mémoire un seul vecteur que
l’on «modifie sur place » ; on peut alors omettre les indices supérieures et écrire
l’algorithme si contre :
CHAPITRE 5. MÉTHODES ITÉRATIVES POUR LA RÉSOLUTION DES SYSTÈMES DE CRAMER
−
→x est choisie arbitrairemant
−
→ → −
while k b −A
→
−
xk <²
k b k
for i = 1 : n
P
xi = xi + a1ii (bi − nj=1 aij xj ) ;
end
end
2. On voit ainsi clairement apparaitre le terme correctif appliqué à xi ; en augmentant
l’importance de cette correction on obitent la méthode de relaxation.