Analyse Numérique

publicité
Analyse Numérique
Thomas Cluzeau
Maı̂tre de Conférences
École Nationale Supérieure d’Ingénieurs de Limoges
Parc ester technopole, 16 rue d’atlantis 87068 Limoges Cedex
[email protected]
http://www.unilim.fr/pages_perso/thomas.cluzeau
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Maths à l’ENSIL en TC1
• Harmonisation en fonction du test de la rentrée
Analyse
Algèbre linéaire
• Tronc Commun (TC) - 1ière année
Mathématiques pour l’ingénieur (TC1 - S1)
Analyse numérique (TC1 - S2)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Analyse Numérique : organisation et évaluation
• Organisation :
Cours : 7 séances d’1h30
TDs et TPs : 12h
4 séances de TDs d’1h30
3 séances de TPs Matlab : 1 de 3h et 2 d’1h30.
• Évaluation :
Note du TP de 3h (Compte rendu) - 1/4 note finale
1 examen final de 1h30 avec documents - 3/4 note finale
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Plan du cours
1
Arithmétique des ordinateurs et analyse d’erreurs
2
Résolution d’un système d’équations linéaires (Partie 1) :
méthodes directes
3
Conditionnement d’une matrice pour la résolution d’un système
linéaire
4
Résolution d’un système d’équations linéaires (Partie 2) :
méthodes itératives
5
Interpolation polynomiale
6
Intégration numérique
7
Résolution d’équations et de systèmes d’équations non linéaires
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Chapitre 1
Arithmétique des ordinateurs et
analyse d’erreurs
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Arithmétique flottante
• Comment les réels sont-ils représentés dans un ordinateur ?
Théorème (Système des nombres à virgule flottante)
Soit β un entier strictement supérieur à 1. Tout nombre réel x non
nul peut se représenter sous la forme
x = sgn(x) β e
X dk
,
βk
k≥1
où sgn(x) ∈ {+, −} est le signe de x, les dk sont des entiers tels
que 0 < d1 ≤ β − 1 et 0 ≤ dk ≤ β − 1 pour k ≥ 2, et e ∈ Z. De
plus, cette écriture est unique (sauf pour les décimaux :
2, 5 = 2, 499999 . . . ).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemples
• Système décimal : β = 10 et dk ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
3
0, 0038 = 0, 38.10−2 = + 10−2 ( 10
+ 1082 )
1
4
2
8
0 1
7 = 0, 142857 . . . = + 10 ( 10 + 102 + 103 + 104 + · · · ).
Développement décimal d’un nombre rationnel est périodique :
1
= 0, 142857142857142857 . . .
7√
1
+ 1042 + 1013 + 1044 + · · · )
− 2 = −1, 4142 . . . = − 101 ( 10
3
π = 3, 14159 . . . = + 101 ( 10
+ 1012 + 1043 + 1014 + · · · )
• Historiquement, β = 10 car nous avons 10 doigts !
• Ordinateurs : β = 2 (numération binaire), β = 8 (num. octale),
ou encore β = 16 (num. hexadécimale)
• Unicité basée sur d1 6= 0 :
0, 0038 =
0, 38.10−2
3
= + 10−2 ( 10
+
0
= 0, 038.10−3 = + 10−1 ( 10
+
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
8
)
102
3
+ 1083 )
102
Le système F (1)
On définit l’ensemble F ⊂ R par :
d2
dt
d1
e
+ 2 + · · · + t , emin ≤ e ≤ emax
F = y ∈ R | y = ±β
β
β
β
ou encore
F = y ∈ R | y = ± m β e−t , emin ≤ e ≤ emax
Ceci correspond aux deux écritures :
3
0, 0038 = + 10−2 ( 10
+
8
)
102
0, 0038 = + 38.10−4
avec β = 10, e = −2, t = 2, e − t = −4
• m s’appelle la mantisse. Notation : m = d1 d2 . . . dt
• Notons que 0 ∈
/ F.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
β
Le système F (2)
Pour y 6= 0, on a
m β e−t = β e (
d2
d1
dt
1
+ 2 + · · · + t ) ≥ β e =⇒ m ≥ β t−1
β
β
β
β
β
m = d1 d2 . . . dt = d1 β t−1 + · · · + dt−k β k + · · · + dt−1 β + dt < β t
On a donc montré que β t−1 ≤ m < β t .
• F est un système de nombres à virgule flottante (floating point
number system). Notation : F (β, t, emin , emax ).
• Il dépend de quatre paramètres :
1
la base β (chiffres utilisés 0, 1, . . . , β − 1),
2
la précision t (# chiffres utilisés pour représenter la mantisse),
3
emin et emax qui définissent le domaine des exposants.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple : F (2, 3, −1, 3)
• Un réel y ∈ F (2, 3, −1, 3) s’écrit :
1 d2 d3
e
y =2
+
+
, −1 ≤ e ≤ 3,
2
4
8
d2 , d3 ∈ {0, 1}
0, 25
0 0, 5 1
2
3
4
5
6
7
• Écart entre deux nombres consécutifs ×2 à chaque puissance de 2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
8
Standard IEEE 754 et epsilon machine
• Dans le standard IEEE 754 utilisé par Matlab, on a β = 2 et :
en simple précision : t = 24, emin = −125, emax = 128,
en double précision : t = 53, emin = −1021, emax = 1024.
Définition
On appelle epsilon machine et on note M la distance de 1 au
nombre flottant suivant.
• Par exemple, pour F (2, 3, −1, 3), on a M = 0, 25
• Dans Matlab, c’est la variable eps.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Écart entre deux nombres consécutifs
Proposition
Pour F (β, t, emin , emax ), on a M = β 1−t .
Proof.
On a 1 =
1
β
β
β = 10 . . . 0 β.
β
Nombre suivant : 10 . . . 1 β = ( β1 +
1
βt ) β
= 1 + β 1−t .
Lemme
Dans le système de nombres à virgule flottante F (β, t, emin , emax ),
l’écart |y − x| entre un nombre flottant x (non nul) et un nombre
flottant y (non nul) adjacent vérifie β −1 M |x| ≤ |y − x| ≤ M |x|.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Représentation physique et arrondi
• Représentation physique :
simple précision 32 bits (bit = binary digit), 8 bits sont réservés
à l’exposant et 24 bits (dont 1 pour le signe) à la mantisse.
double précision 64 bits, 11 bits sont réservés à l’exposant et
53 bits (dont 1 pour le signe) à la mantisse.
• Arrondi :
1
par troncature : par exemple avec 3 chiffres, 0, 8573 . . . devient
0, 857.
2
au plus près : 0, 8573 . . . devient 0, 857.
3
au représentant le plus proche dont la dernière décimale est
paire (rounding to even) : 0, 8573 . . . devient 0, 858.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Formalisation
Définition
Soit G = G (β, t) = {y ∈ R | y = ±m β e−t } sans conditions sur
l’exposant e. L’application fl : R → G , x 7→ fl(x) est appelée
opération d’arrondi.
• Étant donné un domaine F (β, t, emin , emax ), il y a alors
dépassement de capacité si :
1
|fl(x)| > max{|y | | y ∈ F }. On parle d’overflow
2
|fl(x)| < min{|y | | y ∈ F }. On parle d’underflow
Sinon, x est dans le domaine de F .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Erreur d’arrondi
Définition
Soit x un réel et x une valeur approchée de x.
L’erreur absolue e est défini par e = |x − x|.
L’erreur relative est | xe |.
Le pourcentage d’erreur est l’erreur relative multipliée par 100.
• En pratique, on ne connait en général pas la valeur exacte x mais
on peut souvent avoir une idée de l’erreur maximale e que l’on a pu
commettre : dans ce cas, on majore la quantité | xe |
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Estimation de l’erreur d’arrondi - unité d’erreur d’arrondi
Théorème
Soit x un réel. Si x est dans le domaine F (β, t, emin , emax ), alors il
existe δ ∈ R avec |δ| < u = 12 β 1−t = 12 M tel que fl(x) = x (1 + δ).
• L’erreur relative sur l’arrondi est égale à |δ| < u : le nombre u
s’appelle unité d’erreur d’arrondi
• Exemple : standard IEEE 754 utilisé par Matlab, on a
u = 2−24 ≈ 5, 96.10−8 en simple précision
u = 2−53 ≈ 1, 11.10−16 en double précision.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Modèle de l’arithmétique flottante
• Modèle Standard (utilisé par le standard IEEE) :
√
Soit x, y ∈ F (β, t, emin , emax ). Pour op ∈ {+, −, ×, ÷, }, on
définit
x op y = fl(x op y ) = (x op y ) (1 + δ),
|δ| < u =
1 1−t
1
β
= M
2
2
• Nous allons maintenant nous intéresser aux erreurs faites par op
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Analyse d’erreurs : non-associativité
• Contrairement à op, l’opération op n’est pas associative:
(x op y ) op z 6= x op (y op z)
• Ceci est dû aux erreurs d’arrondi !
Par exemple, supposons que les réels soient calculés avec 3 chiffres
significatifs et arrondis à la décimale la plus proche et cherchons à
calculer la somme x + y + z avec x = 8, 22, y = 0, 00317 et
z = 0, 00432.
x + y = 8, 22 donc (x + y ) + z = 8, 22
y + z = 0, 01 donc x + (y + z) = 8, 23
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Analyse d’erreurs : erreurs d’arrondi sur une somme
• Calculer S = u1 + u2 + · · · + un dans F (β, t, emin , emax )
• On calcule alors les sommes partielles Si par la récurrence S0 = 0,
Si = Si−1 + ui
• Si ui connus exactement, alors les erreurs d’arrondi ∆Si commises
sur le calcul des sommes partielles Si vérifient
∆Si ≤ ∆Si−1 + δ (Si−1 + ui ) = ∆Si−1 + δSi ,
|δ| < u
• L’erreur globale sur S = Sn vérifie donc ∆S ≤ δ (S2 + · · · + Sn ),
∆S ≤ δ (un + 2 un−1 + 3 un−2 + · · · + (n − 1) u2 + (n − 1) u1 ).
Erreur minimale en sommant d’abord les termes les plus petits
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Analyse d’erreurs : erreurs d’arrondi sur un produit
• Calculer P = u1 u2 . . . un dans F (β, t, emin , emax )
• On calcule alors les produits Pi par la récurrence P0 = 1,
Pi = Pi−1 ui
• Si ui connus exactement, alors les erreurs d’arrondi ∆Pi commises
sur le calcul des Pi vérifient
∆Pi ≤ (∆Pi−1 ) ui + δ (Pi−1 ui ) = ∆Pi−1 ui + δPi ,
|δ| < u
• L’erreur globale sur P = Pn vérifie donc
∆P ≤ (k − 1)δ Pn .
Contrairement au cas de l’addition, la majoration de l’erreur ne
dépend pas de l’ordre des facteurs.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes de compensation (1)
• Phénomènes qui se produisent lorsque l’on tente de soustraire des
nombres très proches
√
√
• Exemple 1 : E = x + 1 − x avec x > 0
Sous Matlab, on obtient :
pour x = 109 , E = 1, 5811.10−5
pour x = 1016 , E = 0 !
1 √
Si l’on remarque que E = √x+1+
, alors, en utilisant cette
x
nouvelle formule, on trouvera :
pour x = 109 , E = 1, 5811.10−5
pour x = 1016 , E = 5, 000.10−9 !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes de compensation (2)
• Phénomènes qui se produisent lorsque l’on tente de soustraire des
nombres très proches
• Exemple 2 : équation du second degré x 2 − 1634 x + 2 = 0.
Supposons que les calculs soient effectués avec 10 chiffres
significatifs. Les formules habituelles donnent
√
1634 2
0
∆ =
− 2 = 667487,
∆0 = 816, 9987760
2
1634 √ 0
x1 =
+ ∆ = 817 + 816, 9987760 = 1633, 998776,
2
1634 √ 0
x2 =
− ∆ = 817 − 816, 9987760 = 0, 0012240.
2
perte de 5 chiffres significatifs sur x2 !
Pour y remédier, on peut utiliser la relation x1 x2 = 2 et calculer
2
2
x2 =
=
= 0, 001223991125.
x1
1633, 998776
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes d’instabilité numérique (1)
• Phénomènes d’amplification d’erreur d’arrondi : se produisent
pour des calculs récurrents ou itératifs
R 1 xn
Exemple 1 : calcul de In = 0 10+x
dx, n ∈ N
• Calcul direct :
I0 = ln
11
10
,
In =
1
− 10 In−1
n
calcul de In par récurrence
• Numériquement, résultats très mauvais !
• Explication : erreur d’arrondi ∆In vérifie ∆In ≈ 10 ∆In−1 et croit
exponentiellement: l’erreur sur I0 est multipliée par 10n sur In .
Cette formule de récurrence ne peut pas nous permettre de
calculer la valeur de I36 par exemple
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes d’instabilité numérique (2)
• Phénomènes d’amplification d’erreur d’arrondi : se produisent
pour des calculs récurrents ou itératifs
Exemple 1 : calcul de In =
xn
0 10+x
R1
dx,
n∈N
• Pour remédier à ce problème, on peut renverser la récurrence :
1 1
In−1 = 10
n − In .
• on obtient alors ∆In−1 ≈
1
10
10 ≤ 10 + x ≤ 11 =⇒
• Approximation In ≈
∆In .
1
1
≤ In ≤
11 (n + 1)
10 (n + 1)
1
11 (n+1)
valeur de départ pour notre
1
récurrence renversée. Exemple, I46 ≈ 11 (46+1)
, on obtient pour I36
−10
une erreur relative meilleure que 10 .
• Importance du coefficient d’amplification d’erreur
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes d’instabilité numérique (3)
• Phénomènes d’amplification d’erreur d’arrondi : se produisent
pour des calculs récurrents ou itératifs
Exemple 2 : On considère la suite définie par (J.-M. Muller) :


u = 2,

 0
u1 = −4,
1130
3000


+
,
 un = 111 −
un−1
un−1 un−2
• Limite théorique 6 mais en pratique 100 !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Phénomènes d’instabilité numérique (4)
• Explication : solution générale de un = 111 −
un =
1130
3000
+
:
un−1 un−1 un−2
α 100n+1 + β 6n+1 + γ 5n+1
,
α 100n + β 6n + γ 5n
où α, β et γ dépendent des valeurs initiales u0 et u1
• α 6= 0
convergence vers 100, sinon convergence vers 6 (β 6= 0)
• Dans notre exemple (u0 = 2, u1 = −4) : α = 0, β = −3 et γ = 4
À cause des erreurs d’arrondi, même les premiers termes calculés
seront différents des termes exacts et donc la valeur de α
correspondant à ces termes calculés sera très petite mais non-nulle
ce qui suffira à faire en sorte que la suite converge vers 100 au lieu
de 6.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Erreur amont et erreur aval
• Considérons un problème que l’on résout à l’aide d’un algorithme
numérique : entrée x
y = f (x)
• En pratique, compte tenu des erreurs d’arrondis, étant donnée une
entrée x, nous allons obtenir une sortie y 6= y = f (x)
• Erreur aval : |y − y |
• Erreur amont (ou erreur inverse) : plus petit δx tel que la solution
algébrique f (x + δx) correspondant à l’entrée x + δx soit égale à y .
• Erreur aval ≈ erreur amont × Conditionnement.
• Erreur amont plus intéressante :
nous renseigne sur le problème qui est réellement résolu par
l’algorithme numérique
en pratique, nous ne connaissons en général qu’une valeur
approchée de l’entrée
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Outils théoriques de l’analyse d’erreurs
• Formule (x × y ) + z avec x, y et z dans F (β, t, emin , emax ).
• On a alors :
fl((x × y ) + z) = [fl(x × y ) + z] (1 + δ1 )
= [(x × y ) (1 + δ2 ) + z] (1 + δ1 )
= (x × y ) (1 + δ2 ) (1 + δ1 ) + z (1 + δ1 ),
Lemme
Si pour tout i = 1, . . . , k, Q
on a |δi | < u et si k u < 1, alors il existe
k
ku
θk tel que |θk | ≤ 1−k
et
i=1 (1 + δi ) ≤ 1 + θk .
u
• Notation < k >=
Qk
i=1 (1
+ δi ) avec < j > . < k >=< j + k >.
fl((x × y ) + z) = (x × y ) < 2 > +z < 1 >
2u
≤ (x × y ) (1 + 1−2
u ) + z (1 +
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
u
1−u ).
Chapitre 2
Résolution d’un système
d’équations linéaires (Partie
1) : méthodes directes
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Systèmes linéaires
• Beaucoup de problèmes se réduisent à la résolution numérique
d’un système d’équations linéaires
• Deux grandes classes de méthodes :
1
Méthodes directes : déterminent explicitement la solution après
un nombre fini d’opérations arithmétiques
2
Méthodes itératives (sur R ou C mais pas Fp ) : consistent à
générer une suite qui converge vers la solution du système
• Autres méthodes non abordées dans ce cours :
Méthodes intermédiaires : Splitting, décomposition incomplètes
Méthodes probabilistes comme celle de Monte-Carlo
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Objet de l’étude

a1,1 x1 + a1,2 x2 + · · ·



 a2,1 x1 + a2,2 x2 + · · ·
(S)
..

.



an,1 x1 + an,2 x2 + · · ·
+ a1,n xn = b1
+ a2,n xn = b2
..
.
+ an,n xn = bn
• Données : les ai,j et b1 , . . . , bn dans K avec K = R ou C
• Inconnues : x1 , . . . , xn dans K
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Écriture matricielle
(S) A x = b,


a1,1 a1,2 . . . a1,n

.. 
 a2,1 . . .
. 


A= .
..  ∈ Mn×n (K)
..
 ..
.
. 
an,1 . . . . . . an,n




x1
b1




x =  ...  ∈ Kn , b =  ...  ∈ Kn
xn
bn
• Dans ce chapitre, A est inversible !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Motivation (1)
• Pourquoi ce problème se pose-t-il ?
• En effet, les formules de Cramer donnent la solution :
∀ i ∈ {1, . . . , n},
a1,1 . . . a1,(i−1) b1 a1,(i+1) . . . a1,n
..
..
..
.
.
.
an,1 . . . an,(i−1) bn an,(i+1) . . . an,n
xi =
det(A)
• Regardons le nombre d’opérations nécessaires !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
.
Motivation (2)
• Regardons le nombre d’opérations nécessaires !
Lemme
Le nombre d’opérations nécessaires pour résoudre le système à l’aide
des formules de Cramer est de (n + 1) (n n! − 1) opérations à virgule
flottante.
• Lorsque n = 100, nombre d’opérations de l’ordre de 9, 4.10161 !
Ordi. fonctionnant à 100 megaflops, environ 3.10146 années !
Impossible d’utiliser Cramer pour résoudre de grands systèmes !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Résolution d’un système triangulaire
• Idée des méthodes directes : se ramener à la résolution d’1 (ou 2)
système triangulaire
• A triangulaire supérieure : (S) s’écrit :

a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1




a2,2 x2 + · · · + a2,n xn = b2
(S)
..
..

.
.



an,n xn = bn .
• A inversible ⇒ les ai,i sont non nuls
Système facile à résoudre : algorithme de substitution rétrograde
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Résolution d’un système triangulaire : exemple
• On considère le système triangulaire supérieur :

5 x3
=
1

 x1 + 2 x2 +
−4 x2 − 16 x3 = − 25
(S)


−17 x3 = − 17
8
3ième équation : x3 =
1
8
−5/2 + 16 x3
=
−4
1 − 2 x2 − 5 x3
1ière équation : x1 =
=
1
2ième équation : x2 =
1
8
1
8
• Idem si A triang. inf. : algorithme de substitution progressive
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Système triangulaire : # opérations et propriétés
Lemme
La résolution d’un système d’équations linéaires triangulaire se fait
en n2 opérations à virgule flottante.
Lemme (Propriétés)
Soient A, B ∈ Mn×n (K) deux matrices triangulaires supérieures. On
a alors les résultats suivants :
1
A B est triangulaire supérieur
2
Si A et B sont à diagonale unité (i.e., n’ont que des 1 sur la
diagonale), alors A B est à diagonale unité
3
4
Si A est inversible, alors A−1 est aussi triangulaire supérieure
Si A est inversible et à diagonale unité, alors A−1 est aussi à
diagonale unité.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
3 méthodes directes étudiées dans la suite
1
Méthode de Gauss : système
(M A) x = M b avec M A
triang. sup. (sans calculer explicitement M).
• Associée à la factorisation A = L U de la matrice A avec L
triang. inf. et U triang. sup., A x = b ⇔ L y = b, U x = y
2
Méthode de Cholesky
• Associée à la factorisation de Cholesky A = R T R avec R
triang. sup., A x = b ⇔ R T y = b, R x = y
• Méthode valable pour A symétrique et définie positive
3
Méthode de Householder
• Associée à la factorisation A = Q R avec R triang. sup. et Q
ortho., Q produit de n − 1 matrices de Householder Hi .
• A x = b s’écrit alors Hn−1 · · · H2 H1 A x = Hn−1 · · · H2 H1 b
facile à résoudre car Hn−1 · · · H2 H1 A triang. sup.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Gauss : description (1)
• (S) : A x = b avec A inversible
(1)
• On pose b (1) = b et A(1) = A = (ai,j )
(S (1) ) : A(1) x = b (1)
Étape 1
(1)
• A inversible ⇒ on suppose (quitte à permuter lignes) a1,1 6= 0.
C’est le premier pivot de l’élimination de Gauss
(1)
• Pour i = 2, . . . , n, on remplace Li par Li − gi,1 L1 où gi,1 =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
ai,1
(1)
a1,1
Méthode de Gauss : description (2)
• On obtient alors (S (2) ) : A(2) x = b (2) avec :
 (2)
(1)

a1,j = a1,j , j = 1, . . . , n



(2)


 ai,1 = 0, i = 2, . . . , n
(2)
(1)
(1)
ai,j = ai,j − gi,1 a1,j ,


(2)
(1)


b
= b1


 1(2)
(1)
(1)
bi
= bi − gi,1 b1 ,
• La matrice A(2) et
 (1)
a1,1

 0


A(2) =  0
 .
 .
 .
0
i, j = 2, . . . , n
i = 2, . . . , n
le vecteur b (2) sont donc de la forme

(1)
(1)
 (1)
a1,2 . . . a1,n
b
(2)
(2) 
a2,2 . . . a2,n 
 1(2)

 b2
..
.. 
(2)
.
. , b = 
 ..
 .
..
.. 

.
. 
(2)
bn
(2)
(2)
an,2 . . . an,n
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
:






Méthode de Gauss : description (3)
Étape k
• On a ramené le système à (S (k) ) : A(k) x = b (k) avec

(k)
A
(1)
a1,1

 0

 0

 .
 ..

=
 0

 ..
 .

 ..
 .
0
...
a1,k
(1)
...
a1,n
a2,k
(2)
...
a2,n
(3)
...
.
a3,k
..
.
a3,n
..
.
0
ak,k
(k)
...
ak,n
0
..
.
ak+1,k
..
.
(k)
. . . ak+1,n
..
.
0
an,k
...
(2)
a2,2
(3)
0
..
.
a3,3
..
.
...
0
..
.
..
.
0
...
Thomas Cluzeau (Univ. de Limoges - ENSIL)
..
(k)
Analyse Numérique
(1)
(2)
(3)
(k)
(k)
...
(k)
an,n

















Méthode de Gauss : description (4)
(k)
• A inversible ⇒ on suppose (quitte à permuter lignes) ak,k 6= 0.
C’est le kième pivot de l’élimination de Gauss
(k)
• Par le même principe qu’à l’étape 1 et en utilisant gi,k =
i > k, on obtient
 (1)
a1,1

 0

 0

 .
 ..

A(k+1) = 
 0

 ..
 .

 ..
 .
0
ai,k
(k)
ak,k
pour
alors (S (k+1) ) : A(k+1) x = b (k+1) avec
...
(1)
. . . a1,k+1
...
a1,n
a2,k
(2)
...
...
a2,n
(3)
...
...
.
a3,k
..
.
a3,n
..
.
0
ak,k
(k)
...
...
ak,n
0
..
.
0
..
.
0
0
(2)
a2,2
(3)
0
..
.
a3,3
..
.
...
0
..
.
..
.
0
...
(1)
...
..
Thomas Cluzeau (Univ. de Limoges - ENSIL)
(k+1)
(2)
(3)
(k)
(k+1)
ak+1,k+1 . . . ak+1,n
..
..
.
.
(k+1)
(k+1)
an,k+1 . . . an,n
Analyse Numérique

















Méthode de Gauss : description (5)
Étape n − 1
• Le système (S (n) ) : A(n) x
supérieure avec

(1)
a
 1,1
 0


A(n) =  0
 .
 .
 .
0
= b (n) obtenu est triangulaire
...
(2)
a2,2
(3)
0
..
.
a3,3
..
.
...
0
(1)
. . . a1,n

(2) 
a2,n 

(3) 
a3,n 
.. 
..

.
. 
(n)
0 an,n
• On peut le résoudre par l’algorithme de substitution rétrograde
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Gauss : exemple (1)


 x1 + 2 x2 + 5 x3 = 1,
(1)
(S) = (S )
3 x1 + 2 x2 − x3 = 21 ,


5 x2 + 3 x3 = 1.
(1)
• Le premier pivot de l’élimination de Gauss est donc a1,1 = 1 et on
(1)
(1)
a g2,1 = 3, g3,1 = 0. La première étape fournit donc
(S
(2)
)


 x1 +


2 x2
+
5 x3
=
1,
−4 x2 − 16 x3 = − 52 ,
5 x2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
+
3 x3
Analyse Numérique
=
1.
Méthode de Gauss : exemple (2)
(2)
• Le second pivot de l’élimination de Gauss est donc a2,2 = −4 et
(2)
on a g3,2 = − 54 . On obtient donc le système
(S
(3)
)


 x1 +
2 x2
+
5 x3
=
1,
−4 x2 −
16 x3
=
− 52 ,


−17 x3 = − 17
8 .
• Algorithme de substitution rétrograde
Thomas Cluzeau (Univ. de Limoges - ENSIL)
x1 = x2 = x3 =
Analyse Numérique
1
8
Point de vue numérique : stratégies de choix du pivot (1)
• Au cours de l’exécution de l’élimination de Gauss, si on tombe sur
un pivot nul, alors on permute la ligne en question avec une ligne en
dessous pour se ramener à un pivot non nul (ceci est toujours
possible car A est supposée inversible).
Certains choix de pivots peuvent s’avérer plus judicieux que d’autres.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Point de vue numérique : stratégies de choix du pivot (2)
Exemple : considérons le système (S) : A x = b où
α 1
1
A=
, b=
, α ∈ R∗
1 1
2
• On suppose de plus α 6= 1 de sorte que A est inversible
• Solution x1∗ =
1
1−α ,
x2∗ =
1−2 α
1−α
• Supposons maintenant que α est très petit (0 α < 1) et
appliquons l’élimination de Gauss
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Point de vue numérique : stratégies de choix du pivot (3)
• Premier pivot α, g2,1 =
(2)
A
=
1
α
α
1
0 1−
(S (2) ) : A(2) x = b (2) avec
1
α
,
b
(2)
=
1
2−
1
α
.
− α1 x2 ≈ − α1 d’où x2 ≈ 1 et x1 ≈ 0 ce qui est faux !
• L’erreur ne provient pas seulement du fait que α est très petit car
si on multiplie la première ligne par une puissance de 10 quelconque,
on va trouver la même erreur ...
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Point de vue numérique : stratégies de choix du pivot (4)
• Notons x2 = x2∗ + δx2 où |δx2 | est l’erreur absolue sur x2
• On a alors
x1 =
Erreur δx1 =
1
α
1 − x2∗ δx2
1 − x2
=
−
,
α
α
α
δx2 sur x1 très amplifiée par rapport à δx2 .
• Cause = déséquilibre entre coeffs de x1 et x2 sur la ligne du pivot
• Pour y remédier, échanger les lignes et appliquer Gauss avec 1
comme pivot. On obtient alors
1
1
2
(2)
A =
, b=
,
0 1−α
1 − 2α
d’où x2 ≈ 1 et x1 ≈ 1 ce qui est correct.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Élimination de Gauss à pivot partiel
• À l’étape k, on échange les lignes k et k 0 (k 0 ≥ k) de A(k) de telle
(k)
(k)
sorte que : |ak,k | = max{|ai,k |, i ≥ k}.
Exemple : pour


 x1 + 2 x2 + 5 x3 = 1
(S) :
3 x1 + 2 x2 − x3 = 12


5 x2 + 3 x3 = 1
à la première étape, on permute les lignes 1 et


 3 x1 + 2 x2 − x3
0
(S ) :
x1 + 2 x2 + 5 x3


5 x2 + 3 x3
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
2:
=
1
2
= 1
= 1
Élimination de Gauss à pivot total
• À l’étape k, on échange à la fois les lignes k et k 0 (k 0 ≥ k) et les
colonnes k et k 00 (k 00 ≥ k) de telle sorte que :
(k)
(k)
|ak,k | = max{|ai,j |, i ≥ k, j ≥ k}.
Attention : Si on échange des colonnes, cela modifie l’ordre des
composantes de x donc il faut penser à rétablir le bon ordre à la fin.
Exemple : pour


 x1 + 2 x2 + 5 x3 = 1
(S) :
3 x1 + 2 x2 − x3 = 12


5 x2 + 3 x3 = 1
à la première étape, on permute les colonnes 1


 5 x3 + 2 x2 + x1
0
(S ) :
−x3 + 2 x2 + 3 x1


3 x3 + 5 x2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
et 3 :
= 1
=
1
2
= 1
Lien avec la factorisation LU d’une matrice (1)
Définition
On appelle factorisation LU de A une facto. A = L U avec L triang.
inf. et U triang. sup. (de la même taille que A).
Lemme
À l’étape k de l’élimination de Gauss,

1
(0)
0

..
.
..

.


(0)
1
0
Gk = 
 0 . . . 0 −gk+1,k 1

 ..
..
..
 .
.
.
0 ... 0
−gn,k
(0)
on a A(k+1) = Gk A(k) où

... 0
.. 
. 

(k)
a
... 0 
 , gi,k = i,k
(k)
(0) 

ak,k

..

.
1
On a de plus b (k+1) = Gk b (k) .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Lien avec la factorisation LU d’une matrice (2)
Définition
Soit A ∈ Mn×n (K). Les mineurs fondamentaux Dk , k = 1, . . . , n de
A sont les déterminants des sous-matrices de A formées par les k
premières lignes et les k premières colonnes de A :
Dk = det ((ai,j )1≤i,j≤k ) ,
k = 1, . . . , n.
Théorème
Soit A ∈ Mn×n (K) une matrice carrée inversible. Les propriétés
suivantes sont équivalentes :
(i) L’élimination de Gauss s’effectue sans permutation de lignes ;
(ii) Il existe L ∈ Mn×n (K) triangulaire inférieure inversible et
U ∈ Mn×n (K) triangulaire supérieure inversible telles que
A = LU ;
(iii) Tous les mineurs fondamentaux de A sont non nuls.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Lien avec la factorisation LU d’une matrice (3)
Lemme
Avec les notations précédentes, on a


1
0 ...
...
0

.. 
..
 g2,1
.
1
. 




.
−1
.
.
.
(Gn−1 Gn−2 · · · G1 ) =  g3,1 g3,2 1
.
.
. 


..
 ..

..
..
.
.
 .
.
0 
gn,1 gn,2 . . . gn,n−1 1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Lien avec la factorisation LU d’une matrice (4)
Corollaire
Soit A ∈ Mn×n (K) une matrice carrée inversible. Si tous les
mineurs fondamentaux de A sont non nuls, alors avec les notations
précédentes, l’élimination de Gauss fournit la factorisation LU de A
suivante :

1

 g2,1


A =  g3,1

 .
 ..
gn,1
0
1
...
..
.
g3,2
..
.
1
..
.
gn,2
...
...
..
.
..
.
gn,n−1

(1)
a
  1,1
 0

 0

 .
 .
.
0 
0
1
0
..
.
..
.
...
...
(2)
a2,2
0
..
.
(3)
a3,3
.
..
...
0
0
..
.
• Remarque : la matrice L obtenue est à diagonale unité.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
(1)
a1,n
(2)
a2,n
(3)
a3,n
..
.
(n)
an,n




.



Factorisation LU : exemple
Pour la matrice du système


 x1 + 2 x2 + 5 x3 = 1
3 x1 + 2 x2 −
(S) :


 
1 0
1 2 5
 3 2 −1  =  3 1
0 5 3
0 − 54
|
{z
} |
{z
Thomas Cluzeau (Univ. de Limoges - ENSIL)
=
1
2
5 x2 + 3 x3 = 1
on a :

A
x3
L


0
1 2
5
0   0 −4 −16 
0 0 −17
1
{z
}
}|
U
Analyse Numérique
Lien avec la factorisation LU d’une matrice (5)
Proposition
Soit A ∈ Mn×n (K) une matrice carrée inversible admettant une
factorisation LU. Alors il existe une unique factorisation LU de A
avec L à diagonale unité.
• Lorsque A admet une factorisation LU, la résolution du système
d’équations linéaires (S) : A x = b se ramène à la résolution de
deux systèmes linéaires triangulaires. En effet :
L y = b,
A x = b ⇐⇒ L U x = b ⇐⇒
U x = y.
• En pratique, on résout donc d’abord L y = b puis connaissant y
on résout U x = y .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Matrice de permutation
Définition
On appelle matrice de permutation associée à une permutation
σ ∈ Sn , la matrice Pσ = (δiσ(j) ) où δij = 1 si i = j, δij = 0 sinon.
• Exemple :


0 0 1 0 0
 0 1 0 0 0 



σ : (1, 2, 3, 4, 5) 7→ (3, 2, 5, 1, 4)
Pσ = 
 0 0 0 0 1 .
 1 0 0 0 0 
0 0 0 1 0
• Multiplier A à gauche (resp. à droite) par une matrice de
permutation revient alors à permuter des lignes (resp. les colonnes)
• Les matrices de permutation sont orthogonales : Pσ−1 = PσT .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Lien avec la factorisation LU d’une matrice (6)
• Nous avons vu une CNS pour qu’une matrice inversible admette
une factorisation LU. Lorsque cette factorisation LU n’existe pas, on
peut tout de même utiliser le théorème suivant :
Théorème
Soit A ∈ Mn×n (K) une matrice carrée inversible. Il existe une
matrice de permutation P telle que P A admette une factorisation
LU.
• Notons que dans ce cas, on a :
A x = b ⇐⇒ P A x = P b ⇐⇒ L U x = P b ⇐⇒
Ly
Ux
= P b,
= y.
• En pratique, on résout donc d’abord L y = P b puis connaissant y
on résout U x = y .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Coût de l’algorithme de Gauss
Lemme
Soit A ∈ Mn×n (K) une matrice carrée inversible. Résoudre un
système linéaire (S) : A x = b via l’élimination de Gauss nécessite
3
un nombre d’opérations à virgule flottante équivalent à 2 3n lorsque
n tend vers l’infini. Ce coût asymptotique est aussi celui du calcul
de la factorisation LU de A.
• Pour n = 100, cela donne 6, 6.105 opérations à virgule flottante à
comparer à 9, 4.10161 avec Cramer
• Avec un ordinateur fonctionnant à 100 megaflops, cela prendra
moins de 7 millièmes de secondes. À comparer avec 3.10146 années
pour Cramer
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Faut-il inverser une matrice ?
• Étant donnée la factorisation LU de A, le coût du calcul de
3
l’inverse A−1 de A lorsque n tend vers l’infini est de 4 3n opérations
à virgule flottante
• Au total, lorsque n tend vers l’infini, il faut donc 2 n3 opérations à
virgule flottante pour calculer l’inverse de A
Asymptotiquement (i.e., lorsque n tend vers l’infini), il faut 3 fois
plus d’opérations à virgule flottante pour calculer l’inverse de A que
pour résoudre le système linéaire A x = b en utilisant l’élimination
de Gauss
⇒ Il ne faut pas calculer l’inverse d’une matrice pour résoudre un
système linéaire
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Résolution de plusieurs systèmes de même matrice A
• Soit A ∈ Mn×n (K) une matrice carrée inversible et supposons que
l’on ait à résoudre K systèmes linéaires avec la même matrice A et
N seconds membres b [1] , . . . , b [K ]
• Gauss à chacun de ces systèmes
K
4 n3 +9 n2 −7 n
6
flops
• Facto. LU de A
résolution
puis
successive des 2 K systèmes
4 n3 +3 n2 −7 n
triangulaires
+ 2 K n2 flops
6
• Calcul de l’inverse A−1 de A puis résolution successive des
systèmes en posant x [i] = A−1 b [i]
2 n3 + 2 K n2 flops
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Cholesky (1)
• Alternative à Gauss pour matrices symétriques et définies positives
Définition
Une matrice A ∈ Mn×n (K) est dite symétrique si elle est égale à sa
transposée, i.e., AT = A.
Définition
Soit K = R ou C. Le produit scalaire canonique sur Kn est défini
comme l’application h. , .i : Kn × Kn → K, (u, v ) 7→ hu, v i qui
vérifie :
P
Si K = R, hu, v i = v T u = ni=1 ui vi (produit scalaire
euclidien),
P
Si K = C, hu, v i = v T u = ni=1 ui vi (produit scalaire
hermitien).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Cholesky (2)
Définition
Une matrice A ∈ Mn×n (K) est dite définie positive, resp. semi
définie positive si pour tout x ∈ Rn non nul, on a hA x, xi > 0, resp.
hA x, xi ≥ 0.
1
2
3
Une matrice définie positive est inversible ;
Si A ∈ Mn×n (K) est inversible, alors AT A est symétrique et
définie positive ;
Si A = (ai,j ) ∈ Mn×n (K) est définie positive, alors ai,i > 0
pour tout i = 1, . . . , n.
Théorème
Une matrice réelle A ∈ Mn×n (R) est symétrique définie positive ssi
il existe une matrice L = (li,j )1≤i,j≤n ∈ Mn×n (R) triangulaire
inférieure inversible telle que A = L LT . De plus, si pour tout
i = 1, . . . , n, li,i ≥ 0, alors L est unique.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Algorithme de Cholesky
Entrèe : A = (ai,j )1≤i,j≤n ∈ Mn×n (R) symétrique et définie
positive.
Sortie : L = (li,j )1≤i,j≤n ∈ Mn×n (R) tel que A = L LT .
√
1 l
a1,1 ;
1,1 =
2 Pour i de 2 à n par pas de 1, faire :
li,1 =
3
ai,1
l1,1
;
Pour j de 2 à n par pas de 1, faire :
Pour i de 1 à j − 1 par pas de 1, faire :
li,j = 0 ;
q
Pj−1 2
lj,j = aj,j − k=1 lj,k
;
Pour i de j + 1 à n par pas de 1, faire :
li,j =
4
Pj−1
ai,j − k=1 li,k lj,k
lj,j
;
Retourner L = (li,j )1≤i,j≤n ∈ Mn×n (R).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Coût de l’algorithme de Cholesky
Proposition
L’algorithme de Cholesky décrit ci-dessus nécessite n extractions de
racines carrées et un nombre d’opérations à virgule flottante
3
équivalent à n3 lorsque n tend vers l’infini.
• Asymptotiquement, presque deux fois moins d’opérations à virgule
flottante que pour LU
Il est conseillé de l’utiliser lorsque A est réelle symétrique et
définie positive
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Matrices de Householder
• Ici A ∈ Mn×n (R) est une matrice réelle inversible
Définition
On appelle matrice (élémentaire) de Householder une matrice H de
la forme Hu = In − 2 u u T , où u ∈ Rn est un vecteur unitaire
c’est-à-dire de norme 1 pour la norme
passociée au produit scalaire
canonique sur Rn définie par kuk = hu, ui.
• Exemple : pour n = 3, on peut considérer le vecteur
T
u = √16 −1 1 2
qui vérifie bien kuk = 1. On obtient alors


2 1
2
la matrice de Householder Hu = 31  1 2 −2 .
2 −2 −1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Matrices Orthogonales
Définition
Une matrice A ∈ Mn×n (K) est dite orthogonale si elle est réelle,
i.e., A ∈ Mn×n (R) et si A AT = AT A = In .
Proposition
Toute matrice de Householder H est symétrique et orthogonale.
Proposition
Pour tout vecteur u ∈ Rn tel que kuk = 1, on a Hu u = −u. De
plus, si v ∈ Rn est orthogonal à u, i.e., hu, v i = 0, alors Hu v = v .
• Hu représente la symétrie orthogonale par rapport à u ⊥
Lemme
Soit x et y deux vecteurs de Rn tels que x 6= y et kxk = ky k. Alors
il existe un vecteur unitaire u ∈ Rn tel que Hu x = y .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Principe de la méthode de Householder
• Méthode basée sur les deux propositions suivantes :
Proposition
Soit v un vecteur non nul de Rn . Alors il existe une matrice de
Householder H et un réel α tels que H v = α e1 , où
e1 = (1, 0, . . . , 0)T est le premier vecteur de la base canonique de
Rn .
Proposition
Soit u = (ui ) un vecteur unitaire de Rn tel que u1 = · · · = up = 0
pour p < n. On décompose alors u en deux blocs : u = (0 z)T
avec z ∈ Rn−p . La matrice de Householder
alors
Hu se décompose
Ip 0
par blocs de la manière suivante : Hu =
.
0 Hz
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Principe de la méthode de Householder



A=


×
×
×
×
×
×
×
×
×
×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×






Analyse Numérique
Principe de la méthode de Householder



A=


×
×
×
×
×
×
×
×
×
×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×






Analyse Numérique
Principe de la méthode de Householder



H1 A = 


×
0
0
0
0
Thomas Cluzeau (Univ. de Limoges - ENSIL)
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
Analyse Numérique






Principe de la méthode de Householder



H1 A = 


×
0
0
0
0
Thomas Cluzeau (Univ. de Limoges - ENSIL)
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
Analyse Numérique






Principe de la méthode de Householder



H 2 H1 A = 


× × × × ×
0 × × × ×
0 0 × × ×
0 0 × × ×
0 0 × × ×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique






Principe de la méthode de Householder



H 2 H1 A = 


× × × × ×
0 × × × ×
0 0 × × ×
0 0 × × ×
0 0 × × ×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique






Principe de la méthode de Householder



H 3 H2 H1 A = 


× × × × ×
0 × × × ×
0 0 × × ×
0 0 0 × ×
0 0 0 × ×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique






Principe de la méthode de Householder



H 3 H2 H1 A = 


× × × × ×
0 × × × ×
0 0 × × ×
0 0 0 × ×
0 0 0 × ×
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique






Principe de la méthode de Householder



H4 H3 H 2 H1 A = 


× × × × ×
0 × × × ×
0 0 × × ×
0 0 0 × ×
0 0 0 0 ×
Donc A = (H4 H3 H2 H1 )T R.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique



=R


Exemple (1)

 2 x1 + x2 + 2 x3 = 1,
x1 + x2 + 2 x3 = 1,
(S) :

2 x1 + x2 + x3 = 1.
Étape 1
• 1ière colonne de A donnée par (S) : a1 = (2
• v1 =
a1
ka1 k
− e1 =
• u1 =
v1
kv1 k
=
√1
6
1
3
(−1
1
−1 1 2
1
2)T
2)T
T


2 1
2
• Matrice de Householder Hu1 = 13  1 2 −2 
2 −2 −1


 

9 5
8
x1
5
4   x2  =  1 
A x = b ⇔ Hu1 A x = Hu1 b ⇔  0 1
0 −1 −1
x3
−1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple (2)
Étape 2
• Dans R2 et on considère le vecteur a2 = (1
• z20 =
− 1)T
a2
ka2 k
− e10 où e10 = (1, 0)
1
−1
z20
1
• z2 = kz 0 k et Hz2 = √2
2
−1 −1
T
1 0
• u2 = 0 z2
et Hu2 =
0 Hz2

9

A x = b ⇔ Hu2 Hu1 A x = Hu2 Hu1 b ⇔  0
0
Système triangulaire et x = (0
Thomas Cluzeau (Univ. de Limoges - ENSIL)
√5
2
0
1
8
5
√
2
− √3
2
 



x
√5
  1 
x2
=
2 

x3
0
0)T .
Analyse Numérique
Factorisation QR d’une matrice
Définition
Soit A ∈ Mn×n (R) une matrice carrée réelle inversible. On appelle
factorisation QR de A une factorisation de la forme A = Q R avec
Q ∈ Mn×n (R) orthogonale et R ∈ Mn×n (R) triangulaire supérieure.
• Généralisation de l’exemple précédent
pour A quelconque de
taille n, on obtient n − 1 matrices de Householder H1 , . . . , Hn−1
telles que R = Hn−1 Hn−2 · · · H1 A triang. sup.
• Q = (Hn−1 Hn−2 · · · H1 )−1 (orthogonale) de sorte que A = Q R
Théorème
Pour toute matrice réelle A ∈ Mn×n (R), il existe une matrice
orthogonale Q ∈ Mn×n (R) produit d’au plus (n − 1) matrices de
Householder et une matrice triangulaire supérieure R ∈ Mn×n (R)
telles que A = Q R.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Coût de la factorisation QR
Proposition
La méthode de Householder pour résoudre un système linéaire
nécessite un nombre d’opérations à virgule flottante équivalent à
4 n3
3 lorsque n tend vers l’infini.
• Coût relativement élevé comparé à Gauss ou Cholesky.
• Plus stable numériquement que Gauss ou Cholesky
• Factorisation QR existe pour des matrices rectangulaires : utilisé
pour des problèmes de moindres carrés (voir TP).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Chapitre 3
Conditionnement d’une matrice
pour la résolution d’un système
linéaire
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Normes vectorielles
Soit E un espace vectoriel sur K = R ou C.
Définition
On appelle norme sur E une application k.k : E → R+ telle que :
∀ x ∈ E , (kxk = 0 ⇒ x = 0) ;
∀ λ ∈ K, ∀ x ∈ E , kλ xk = |λ| kxk ;
∀ (x, y ) ∈ E 2 , kx + y k ≤ kxk + ky k.
• Normes classiques sur Rn : k.k1 , k.k2 et k.k∞ définies par :
kxk1 =
n
X
i=1
|xi |,
kxk2 =
n
X
!1
2
|xi |2
i=1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
1
= hx, xi 2 ,
Analyse Numérique
kxk∞ = max |xi |
1≤i≤n
Normes matricielles et normes subordonnées
Définition
Une norme k.k sur Mn×n (K) est une norme matricielle si elle
vérifie : ∀ (A, B) ∈ Mn×n (K)2 , kA Bk ≤ kAk kBk.
• Exemple fondamental : normes dites subordonnées associées à une
norme vectorielle :
Théorème et Définition
Soit k.k une norme vectorielle sur Kn . Pour toute matrice
A ∈ Mn×n (K), on définit k.kM : Mn×n (K) → R+ par
xk
kAkM = supx∈Kn \{0} kA
kxk . Alors k.kM est une norme matricielle.
Elle est dite norme subordonnée à la norme vectorielle k.k.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Normes subordonnées classiques
• Normes subordonnées associées aux normes vectorielles k.k1 , k.k2
et k.k∞ de Rn : ∀ A = (ai,j )1≤i,j≤n ∈ Mn×n (K) :
kAk1 = max
n
X
1≤j≤n
kAk2 =
|ai,j |
i=1
p
ρ(A A∗ )
kAk∞ = max
1≤i≤n
n
X
|ai,j |
j=1
où :
T
A∗ = A
désigne la matrice adjointe de A
ρ(M) désigne le rayon spectral d’une matrice M cad le
maximum des modules des valeurs propres de M.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Conditionnement d’une matrice : exemple
Considérons le système

10
 7
A=
 8
7
linéaire (S) : A x = b avec


7 8 7
32
 23
5 6 5 
, b = 
 33
6 10 9 
5 9 10
31


.

• On remarque que :
A est symétrique
det(A) = 1
la solution de (S) est donnée par x = (1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
1
1
1)T
Premier cas : b est perturbé (1)
• Perturbons légèrement le second membre b et considérons


32, 1
 22, 9 

b0 = 
 33, 1 
30, 9
• Si on résout le système (S 0 ) : A x 0 = b 0 , on trouve
x 0 = (9, 2 − 12, 6 4, 5 − 1, 1)T
La petite perturbation sur le second membre b entraı̂ne donc une
forte perturbation sur la solution du système
• D’une manière générale, pour A x = b et A (x + δx) = b + δb :
kδxk
kδbk
≤ kA−1 k.kAk.
.
kxk
kbk
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Premier cas : b est perturbé (2)
• Majoration optimale : il n’existe pas de borne plus petite qui soit
valable pour tout système !
1 0
•A=
, b = (1 0)T , et δb = (0 12 )T
0 12
Solution de A x = b : x = (1
δx = (0 1)T
kδxk
kxk
= 1,
kδbk
kbk
=
0)T et celle de A δx = δb est
1
2
Or kA−1 k.kAk = 2 donc la borne est atteinte.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Deuxième cas : A est perturbée
• Si on perturbe légèrement

10

7,
08
A00 = 
 8
6, 99
la matrice A :

7
8, 1 7, 2
5, 04
6
5 
,
5, 98 9, 89
9 
4, 99
9
9, 98
Solution de (S 00 ) : A00 x 00 = b : x 00 = (−81 107
− 34 22)T .
• D’une manière générale, pour A x = b et (A + ∆A) (x + δx) = b :
kδxk
k∆Ak
≤ kA−1 k.kAk.
kx + δxk
kAk
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Conditionnement : définition
Définition
Soit k.k une norme matricielle subordonnée et A une matrice
inversible. Le nombre Cond(A) = kA−1 k.kAk s’appelle le
conditionnement de A relatif à la norme k.k.
• Ce nombre mesure la sensibilité de la solution par rapport aux
données du problème
• Une matrice est :
bien conditionnée si Cond(A) ≈ 1
mal conditionnée si Cond(A) 1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemples
• Matrices bien conditionnées

4 1
0

 1 4
1


.
..
A= 0 1

 .. . . . .
.
.
 .
0 ... 0
...
..
.
..
.
..
.
1

0
.. 
. 


0 


1 
4
Cond∞ (A) ≤ 3
• Matrices mal conditionnées : matrices Hn et Vn
i−1 !
1
j
Hn =
, Vn =
i + j − 1 1≤i,j≤n
n
1≤i,j≤n
n
2
4
6
Cond(Hn )
27
2, 8.104
2, 9.107
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Cond(Vn )
8
5, 6.102
3, 7.104
Analyse Numérique
Propriété du conditionnement
Proposition
Soit A une matrice réelle
p et considérons la norme matricielle
subordonnée kAk2 = ρ(A A∗ ). On a
s
ρ(A AT )
Cond2 (A) = kA−1 k2 .kAk2 =
,
σ(A AT )
où σ(M) désigne le minimum des modules des valeurs propres de M.
ρ(A)
.
En particulier, si A est symétrique, alors on a Cond2 (A) = σ(A)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Estimation théorique de l’erreur a priori (1)
Théorème (Cas b perturbé)
Soit A ∈ Mn×n (R) inversible et b ∈ Rn tels que A x = b et
A (x + δx) = b + δb avec x 6= 0. Alors on a :
kδbk
kδxk
kδbk
1
.
≤
≤ Cond(A).
,
Cond(A) kbk
kxk
kbk
Théorème (Cas A perturbée)
Soit A ∈ Mn×n (R) inversible, b ∈ Rn et ∆A ∈ Mn×n (R) tels que
kA−1 k.k∆Ak < 1. Alors A + ∆A est inversible. De plus si on
suppose A x = b et (A + ∆A) (x + δx) = b avec x 6= 0, alors on a :
Cond(A). k∆Ak
kδxk
kAk
.
≤
kxk
1 − Cond(A). k∆Ak
kAk
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Estimation théorique de l’erreur a priori (2)
Théorème (Cas A et b perturbés)
Soit A ∈ Mn×n (R) inversible, b ∈ Rn et ∆A ∈ Mn×n (R) vérifiant
kA−1 k.k∆Ak < 1. Si l’on suppose que A x = b et
(A + ∆A) (x + δx) = b + δb avec x 6= 0, alors on a :
kδbk k∆Ak
Cond(A)
kδxk
≤
+
.
kxk
kbk
kAk
1 − Cond(A). k∆Ak
kAk
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Estimation théorique de l’erreur a posteriori
• A x = b, ? erreur commise sur la solution réellement calculée
• x la solution exacte, y la solution obtenue. r = A y − b (résidu)
Théorème
ky − xk ≤ Cond(A).
kr k
.kxk.
kbk
• Conditionnement est grand ⇒ erreur relative peut être grande
• Difficile à utiliser car en général conditionnement inconnu !
• C approximation de A−1 (par Gauss), R = A C − In
Théorème
Si kRk < 1, alors ky − xk ≤
kr k.kC k
1−kRk .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Chapitre 4
Résolution d’un système
d’équations linéaires (Partie
2) : méthodes itératives
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Motivation
• Les méthodes directes exigent un nombre de flops de l’ordre de n3
lorsque n devient grand ce qui les rend lentes !
Méthodes itératives deviennent indispensables dès que la taille n
du système est grande, n ≥ 1000
• De tels systèmes apparaissent par exemple dans les techniques de
résolution numérique d’équations aux dérivées partielles
• Les matrices des systèmes obtenus sont en général creuses (cad
qu’elles ont beaucoup de 0) et (semi) définies positives
• Les méthodes itératives s’appliquent sur R ou C mais pas Fp !
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple introductif (1)
• Donnée : une fonction f : R2 → R
• Problème : trouver une solution approchée ũ : Ω ⊂ R2 → R de :
−∆ũ = f , ∀(x, y ) ∈ Ω =]0, 1[×]0, 1[,
ũ
= 0, ∀(x, y ) ∈ ∂Ω,
où :
∆ũ =
∂ 2 ũ
∂x 2
+
∂ 2 ũ
∂y 2
désigne le laplacien de la fonction ũ
∂Ω la frontière de Ω
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple introductif (2)
• Discrétisation de Ω =]0, 1[×]0, 1[ de pas h
• ? fonction étagée u t.q. u → ũ lorsque h → 0
h=
1
,
n+1
u=
X
ui,j χi,j
i,j
χi,j fonction caractéristique du pavé
1
1
1
1
Pi,j =](i − ) h, (i + ) h[×](j − ) h, (j + ) h[
2
2
2
2
On note alors xi,j = (i h, j h) les nœuds du quadrillage.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple introductif (3)
y
1
←− Ω
P2,3
•
x2,3
h
h
Thomas Cluzeau (Univ. de Limoges - ENSIL)
1
Analyse Numérique
x
Exemple introductif (4)
• Définition de la dérivée d’une fonction : h suffisamment petit :
u(x + h2 , y ) − u(x − h2 , y )
∂ ũ
≈
,
∂x
h
∂ 2 ũ
u(x + h, y ) − 2 u(x, y ) + u(x − h, y )
≈
2
∂x
h2
Approximations par différences finies
f =
X
i,j
fi,j χi,j
4 ui,j − ui−1,j − ui+1,j − ui,j−1 − ui,j+1 = h2 fi,j ,
u0,j = un+1,j = ui,0 = ui,n+1 = 0,
• schéma numérique dit implicite
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple introductif (5)
• Système linéaire associé :

4 −1

 −1 4


M =  0 −1

 ..
..
.
 .
0 ...
• Xj = (u1,j
• Fj = (f1,j
u2,j
f2,j
...
...
0
... 0
..
.
−1 . .
.
..
..
.
. 0
..
..
.
. −1
0 −1 4
un,j )T , X = (X1T
fn,j )T , F = (F1T





 ∈ Mn×n (R)



X2T
F2T
XnT )T
...
...
FnT )T
• En définissant de plus X0 = Xn+1 = 0, le système précédent
s’écrit:
−Xj−1 + M Xj − Xj+1 = h2 Fj ,
Thomas Cluzeau (Univ. de Limoges - ENSIL)
1≤j ≤n
Analyse Numérique
Exemple introductif (6)

A X = h2 F ,
M
−In
0

 −In M −In


A =  0 −In . . .

 ..
..
..
.
.
 .
0
...
0
...
0
..
..
.
.
..
.
0
..
. −In
−In M





 ∈ Mn2 ×n2 (R)



• A est symétrique réelle, définie positive (donc en particulier
inversible).
Système linéaire tridiagonal par blocs de grande taille
( h → 0 équivaut à n → ∞)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Modèle général d’un schéma itératif (1)
• A ∈ Mn×n (K), b ∈ Kn et (S) : A x = b
• Principe général : générer une suite de vecteurs qui converge vers
la solution A−1 b
• Idée : écrire (S) sous une forme équivalente permettant de voir la
solution comme un point fixe :
(S) ⇐⇒ B x + c = x
B ∈ Mn×n (K) et c ∈ Kn bien choisis cad I − B inversible et
c = (I − B) A−1 b
• Exemple : A = M − N (M inversible), B = M −1 N et c = M −1 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Modèle général d’un schéma itératif (2)
• On se donne alors x (0) ∈ Kn et on construit une suite de vecteurs
x (k) ∈ Kn à l’aide du schéma itératif
(?)
x (k+1) = B x (k) + c,
k = 1, 2, . . . .
• Si (x (k) )k∈N est convergente, alors elle converge vers la solution
A−1 b de (S)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Convergence (1)
Définition
Une méthode itérative définie par (x (k) )k∈N pour résoudre un
système A x = b est dite convergente si pour toute valeur initiale
x (0) ∈ Kn , on a limk→+∞ x (k) = A−1 b.
Lemme
Si la méthode itérative est convergente et si on note x = A−1 b la
solution, alors
x (k) − x = B k (x (0) − x).
• x (k) − x erreur à la k-ième itération
en fonction de l’erreur initiale
Thomas Cluzeau (Univ. de Limoges - ENSIL)
estimation de cette erreur
Analyse Numérique
Convergence (2)
Théorème
Les assertions suivantes sont équivalentes :
(i) (?) est convergente ;
(ii) Pour tout y ∈ Kn , limk→+∞ B k y = 0 ;
(iv) Pour toute norme matricielle k.k sur Mn×n (K), on a
limk→+∞ kB k k = 0.
• En pratique, caractérisations difficiles à vérifier
Théorème
Les assertions suivantes sont équivalentes :
(i) (?) est convergente ;
(ii) ρ(B) < 1, où ρ(B) désigne le rayon spectral de la matrice B ;
(iii) Il existe une norme matricielle k.k sur Mn×n (K) subordonnée à
une norme vectorielle k.k sur Kn telle que kBk < 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Vitesse de convergence (1)
Définition
Considérons un schéma itératif (?) convergent. Soit k.k une norme
matricielle sur Mn×n (K) et soit k un entier tel que kB k k < 1. On
appelle taux moyen de convergence associé à la norme k.k pour k
itérations de x (k+1) = B x (k) + c le nombre positif
h
i1 k
k
.
Rk (B) = − ln kB k
Définition
Considérons deux méthodes itératives convergentes
(1) x (k+1) = B1 x (k) + c1 , k = 1, 2, . . . ,
(2) x (k+1) = B2 x (k) + c2 , k = 1, 2, . . . .
Soit k un entier tel que kB1k k < 1 et kB2k k < 1. On dit que (1) est
plus rapide que (2) relativement à la norme k.k si Rk (B1 ) ≥ Rk (B2 ).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Vitesse de convergence (2)
Définition
On appelle taux asymptotique de convergence le nombre
R∞ (B) = lim Rk (B) = − ln(ρ(B)).
k→+∞
Théorème
Une méthode itérative est d’autant plus rapide que son taux
asymptotique de convergence est grand cad que ρ(B) est petit.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Les méthodes itératives classiques
• (S) : A x = b avec A inversible
• Idée : déduire un schéma itératif d’une décomposition
A = M − N, M inversible
• En pratique, on suppose que les systèmes de matrice M sont
faciles à résoudre (par ex. M diagonale, triangulaire, . . . )
• (S) s’écrit alors M x = N x + b cad x = B x + c avec B = M −1 N
et c = M −1 b et on considère le schéma itératif associé :
x (0) ∈ Kn ,
M x (k+1) = N x (k) + b.
• On montre alors que I − B inversible et c = (I − B) A−1 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Trois exemples classiques (1)
• Dans ce cours, 3 exemples classiques : les méthodes de Jacobi,
Gauss-Seidel et de relaxation
• Point de départ : décomposition de A = (ai,j )1≤i,j≤n sous la
forme A = D − E − F avec :
D = (di,j )1≤i,j≤n diagonale, telle que di,i = ai,i et di,j = 0
pour i 6= j ;
E = (ei,j )1≤i,j≤n triangulaire inférieure stricte telle que
ei,j = −ai,j si i > j et ei,j = 0 si i ≤ j ;
F = (fi,j )1≤i,j≤n triangulaire supérieure stricte telle que
fi,j = −ai,j si i < j et fi,j = 0 si i ≥ j ;
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple de décomposition A = D − E − F

 
 
 

2 −1 1
2 0 0
0 0 0
0 1 −1
 2
2 2  =  0 2 0  −  −2 0 0  −  0 0 −2 
−1 −1 2
0 0 2
1 1 0
0 0 0
|
{z
} |
{z
} |
{z
} |
{z
}
A
D
Thomas Cluzeau (Univ. de Limoges - ENSIL)
E
Analyse Numérique
F
Trois exemples classiques (2)
• On suppose D inversible
Méthode de Jacobi : M = D, N = E + F ;
Méthode de Gauss-Seidel : M = D − E , N = F ;
Méthode de relaxation : M = ω1 (D − ω E ), N =
avec ω paramètre réel non nul.
1−ω
ω
D +F
• Gauss-Seidel est un cas particulier de relaxation pour ω = 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Jacobi : description
• (S) : A x = b avec A inversible
• A = M − N avec M = D inversible et N = E + F
• Le schéma itératif s’écrit alors
D x (k+1) = (E +F ) x (k) +b ⇐⇒ x (k+1) = D −1 (E +F ) x (k) +D −1 b
Définition
La matrice BJ = D −1 (E + F ) s’appelle la matrice de Jacobi
associée à A.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Jacobi : mise en œuvre et complexité arithmétique
• ? nombre de flops pour calculer x (k+1) à partir de x (k)
• On a D x (k+1) = (E + F ) x(k) + b donc pour tout i = 1, . . . , n,
D x (k+1) i = (E + F ) x (k) i + bi cad
(k+1)
ai,i xi
=−
n
X
(k)
ai,j xj
+ bi
j=1
j6=i

⇐⇒
(k+1)
xi
1
=
ai,i



n
X


(k)
.
(−
a
x
)
+
b
i,j
i
j




j=1
j6=i
Pour K itérations, on aura besoin de K n (2 n − 1) flops !
• Comparaison n = 1000 : Gauss 6, 6.108 et 100 it. de Jacobi 2.108
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Jacobi : convergence et exemple
Théorème
La méthode de Jacobi converge si et seulement si ρ(BJ ) < 1.


2 −1 1
2 2  précédente :
• Exemple : pour la matrice A =  2
−1 −1 2
1
2
0

BJ = 
 0
0
1
2

0
0




0
1
2
− 12
2

−1 
.
0
0 1 −1


 −2 0 −2  =  −1 0
0 


1 1 0
1
1
1
2
2
• Valeurs propres : 0 et ± i
de Jacobi diverge
√
2
5

√
donc ρ(BJ ) =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
5
2
Analyse Numérique
> 1 et la méthode
Méthode de Gauss-Seidel : description
• (S) : A x = b avec A inversible
• A = M − N avec M = D − E inversible et N = F
• Le schéma itératif s’écrit alors
(D−E ) x (k+1) = F x (k) +b ⇐⇒ x (k+1) = (D−E )−1 F x (k) +(D−E )−1 b
Définition
La matrice BGS = (D − E )−1 F s’appelle la matrice de Gauss-Seidel
associée à A.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Gauss-Seidel : mise en œuvre et complexité arithmétique
(1)
• ? nombre de flops pour calculer x (k+1) à partir de x (k)
• On a (D − E )x (k+1) = F x(k) + b donc pour tout i = 1, . . . , n,
(D − E ) x (k+1) i = F x (k) i + bi c’est-à-dire
(k+1)
ai,i xi
+
i−1
X
(k+1)
ai,j xj
=−
j=1
n
X
(k)
ai,j xj
j=i+1
ce qui entraı̂ne
(k+1)
x1


n
1  X
(k)
=
−
a1,j xj + b1  ,
a1,1
j=2
et pour i = 2, . . . , n,
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
+ bi ,
Gauss-Seidel : mise en œuvre et complexité arithmétique
(2)

(k+1)
xi
=
1 
−
ai,i
i−1
X
(k)
ai,j xj
j=1
+ bi −
n
X

(k)
ai,j xj  .
j=i+1
Pour K itérations, on aura besoin de K n (2 n − 1) flops ! (idem
Jacobi)
• Gauss-Seidel plus intéressante en ce qui concerne la gestion de la
mémoire !
(k)
On peut écraser au fur et à mesure la valeur de xi et ne stocker
au cours des calculs qu’un seul vecteur de taille n, e.g., le vecteur
(k+1)
(k+1) (k)
(k)
(x1
. . . xi
xi+1 . . . xn )T , au lieu de deux vecteurs pour la
méthode de Jacobi.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Gauss-Seidel : convergence et exemple
Théorème
La méthode de Gauss-Seidel converge si et seulement si ρ(BGS ) < 1.


2 −1 1
2 2  précédente :
• Exemple : pour la matrice A =  2
−1 −1 2

−1 

2
0 0
0 1 −1
2 0   0 0 −2  ,
BGS =  2
−1 −1 2
0 0 0


 1

1
1


0
0
0
−
2
2
2
0 1 −1
 1 1



1





0 0 −2
BGS =  − 2 2 0 
=  0 − 2 − 12 
.
0 0 0
1
1
1
0 4 2
0 0 −2
• Valeurs propres : 0 et − 12 (mult. 2) donc ρ(BGS ) =
Gauss-Seidel converge
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
1
2
< 1 et
Méthode de la relaxation : desciption
• (S) : A x = b avec A inversible
• Soit ω un paramètre réel non nul. On pose
A = M − N avec
M = ω1 (D − ω E ) inversible et N = 1−ω
D +F
ω
• Le schéma itératif s’écrit alors
1
1−ω
(k+1)
(D − ω E ) x
=
D + F x (k) + b,
ω
ω
x (k+1) = (D − ω E )−1 [(1 − ω) D + ω F ] x (k) + ω (D − ω E )−1 b.
Définition
La matrice BR (ω) = (D − ω E )−1 [(1 − ω) D + ω F ] s’appelle la
matrice de relaxation associée à A et ω est le facteur de relaxation.
Si ω < 1, on parle de sous-relaxation, si ω = 1, on retrouve la
méthode de Gauss-Seidel et si ω > 1, on parle de sur-relaxation.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de la relaxation : convergence et exemple
Théorème
La méthode de relaxation converge si et seulement si ρ(BR (ω)) < 1.


2 −1 1
2 2  précédente :
• Exemple : pour la matrice A =  2
−1 −1 2
1
1−ω
2ω
1
2
−2 ω + 1 − ω
BR (ω) =  ω (ω − 1)
2
1
1 3
− 4 ω − 14 ω 2 + 12 ω
2 ω (ω − 1)


− 12 ω
1 2

2ω −ω
1 3
3 2
4ω − 4ω +1−ω
• Valeurs propres et donc convergence dépendent de ω
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Cas particulier : matrice symétrique définie positive
Théorème
Soit A une matrice symétrique définie positive et écrivons
A = M − N avec M inversible et M T + N définie positive. Alors la
méthode itérative
x (0) ∈ Kn ,
x (k+1) = M −1 N x (k) + M −1 b,
converge.
Corollaire
Soit A une matrice symétrique définie positive. Alors la méthode de
Gauss-Seidel converge.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Cas particulier : matrice à diagonale strictement dominante
Définition
Une matrice A = (ai,j )1≤i,j≤n est dite à diagonale strictement
dominante si :
∀ i = 1, . . . , n,
|ai,i | >
n
X
|ai,j |.
j=1
j6=i
• Exemple : matrice du système linéaire obtenu par discrétisation de
l’edp −∆ u = f .
Théorème
Soit A une matrice à diagonale strictement dominante. Alors A est
inversible et les méthodes de Jacobi et de Gauss-Seidel convergent
toutes les deux.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode alternative : gradient conjugué
Le gradient conjugué
Solution des systèmes linéaires (S) : A x = b avec
A ∈ Mn×n (R) symétrique et définie positive.
Un produit matrice×vecteur à chaque itération
méthode
bien adaptée aux systèmes creux et de grande taille
La méthode construit une suite de vecteurs (x (k) )k=0,1,... telle
que x (m) = A−1 b pour un indice m ≤ n
méthode exacte en
principe mais considérée comme une méthode itérative à cause
des erreurs numériques.
Dans les applications, le nombre d’itérations nécessaires est
significativement plus petit que la taille du système, en
particulier si on utilise des techniques de préconditionnement.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Rappel : matrices définies positives
Définition
Soit A ∈ Mn×n (R) symétrique. On dit que A est définie positive si
pour tout x ∈ Rn non nul on a hAx, xi = x T Ax > 0.
Définition équivalente : une matrice réelle symétrique A est définie
positive si toutes ses valeurs propres sont positives.
Théorème
Si A ∈ Mn×n (R) symétrique est telle que
aii > 0 pour i = 1, . . . , n,
P
|aii | ≥ P
j6=i |aij | pour i = 1, . . . , n et il existe i0 tel que
|ai0 i0 | > j6=i0 |ai0 j | (diagonale dominante),
alors A est définie positive.


2 1 0
Exemple : A =  1 2 1  est définie positive.
0 1 2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Matrices creuses
A ∈ Mn×n (R) est creuse si le nombre d’éléments non nuls est
un petit multiple de n.
Exemples : matrices tridiagonales, matrices d’adjacence,
discrétisation d’équations différentielles, . . .
0
0
5
10
10
20
15
20
30
25
40
30
50
35
40
60
0
5
10
15
20
nz = 118
25
30
35
40
Thomas Cluzeau (Univ. de Limoges - ENSIL)
0
10
20
30
nz = 180
40
50
Analyse Numérique
60
Produit scalaire défini par A
Définition
Soit A ∈ Mn×n (R) symétrique et définie positive.
On définit la
√
fonction k · kA : Rn −→ R+ comme kxkA = x T Ax.
Proposition
La fonction k · kA est une norme vectorielle.
Définition
Soit A ∈ Mn×n (R) symétrique définie positive. On dit que les
vecteurs u, v ∈ Rn sont A-conjugués si u T Av = 0.
u, v ∈ Rn 7−→ u T Av ∈ R est un produit scalaire sur Rn .
u, v ∈ Rn sont A-conjugués s’ils sont orthogonaux par rapport
au produit scalaire défini par A, i.e., u T Av = 0.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Un problème d’optimisation
On considère le problème suivant : minimiser la fonction
1
φ(x) = x T Ax − b T x,
2
où la matrice A est symétrique et définie positive.
Le minimum de φ est atteint pour x ∗ = A−1 b, et cette solution
est unique.
Minimiser φ(x) et résoudre Ax = b sont deux problèmes
équivalents.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthodes du gradient
Définition
Le gradient de φ en x = (x1 , . . . , xn )T ∈ Rn est le vecteur
∇φ(x) =
On a
∂φ
∂φ ∂φ
,
,...,
∂x1 ∂x2
∂xn
T
.
1
1
∇φ(x) = Ax + AT x − b = Ax − b.
2
2
Définition
La quantité r (x) = b − Ax = −∇φ(x) est appelée résidu du
système (S) en x.
On rappelle que −∇φ(x) donne la direction de plus forte pente
pour φ(x) au point x.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthodes du gradient
À l’étape k d’une méthode du gradient :
on choisit une direction de descente pour φ(x), i.e., un vecteur
p (k) tel que p (k)T ∇φ(x (k) ) < 0.
on minimise φ(x) sur la droite passant par x (k) et de vecteur
directeur p (k)
x (k+1) = x (k) + αk p (k) ,
où αk est tel que
φ(x (k+1) ) = min φ(x (k) + αp (k) ),
α∈R
d’où αk =
r (k)T p (k)
.
p (k)T Ap (k)
Proposition
À chaque itération, le résidu r (k+1) est orthogonal au vecteur
direction p (k) utilisé à l’étape précédente: r (k+1) T p (k) = 0.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de la plus forte pente
On choisit p (k) = r (k) = −∇φ(x (k) )
direction de plus forte pente pour φ(x).
Chaque direction de descente est orthogonale à la précédente,
i.e., p (k+1)T p (k) = 0.
Théorème
Pour la méthode de la plus forte pente on a, à l’itération k :
∗
kx − x
(k)
kA ≤
Cond2 (A) − 1
Cond2 (A) + 1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
k
kx ∗ − x (0) kA .
Analyse Numérique
Méthode de la plus forte pente
Le choix p (k) = −∇φ(x (k) ) peut paraitre intuitivement assez
efficace pour minimiser φ(x), vu qu’on se déplace au long de la
direction de plus forte décroissance de la fonction.
Mais dans certains cas la convergence de cette méthode
pourrait être lente, notamment si la matrice A est mal
conditionnée.
Exemple :
A est une matrice symétrique avec valeurs propres {e −2 , e 4 },
b = (1
1)T ,
Cond2 (A) = e 6 ≈ 403, 43.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de la plus forte pente
1
0
log 10 du résidu
−1
−2
−3
−4
−5
−6
1
2
3
4
5
6
indice du résidu
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
7
8
9
10
11
Gradient conjugué
Choix de la direction de descente:
(0)
r
si k = 0,
p (k) =
r (k) + βk p (k−1) si k ≥ 1,
où βk est tel que
p (k)T Ap (k−1) = 0.
Les vecteurs direction p (k−1) et p (k) sont A-conjugués.
(k)T
(k−1)
r
Ap
On a βk = − p(k−1)T
=
Ap (k−1)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
r (k)T r (k)
r (k−1)T r (k−1)
et αk =
Analyse Numérique
r (k)T r (k)
.
p (k)T Ap (k)
Gradient conjugué
Lemme
À chaque itération, le résidu est orthogonal au résidu calculé à
l’itération précédente : r (k)T r (k−1) = 0.
Théorème
Soit Sk le sous-espace vectoriel de Rn engendré par les vecteurs
p (0) , . . . , p (k−1) . Alors le vecteur x (k) défini par la méthode du
gradient conjugué minimise φ(x) sur Sk :
φ(x (k) ) = min φ(x),
x∈Sk
Thomas Cluzeau (Univ. de Limoges - ENSIL)
k ≥ 1.
Analyse Numérique
Gradient conjugué
Théorème
Soit r (0) 6= 0 et h ≥ 1 tels que r (k) 6= 0 pour tout k ≤ h. Alors pour
k, j = 0, . . . , h, avec k 6= j, on a
r (k)T r (j) = 0
et
p (k)T Ap (j) = 0.
Autrement dit, les résidus forment un ensemble de vecteurs
orthogonaux, et les vecteurs direction p (k) forment un ensemble de
vecteurs A-conjugués.
Corollaire
Il existe m ≤ n tel que r (m) = 0. Autrement dit, le gradient
conjugué calcule la solution x ∗ = A−1 b en n itérations au plus.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Gradient conjugué : l’algorithme
Entrèe : A ∈ Mn×n (R) symétrique et définie positive, b ∈ Rn ,
x (0) ∈ Rn .
Sortie : x ∈ Rn tel que Ax = b.
1 k = 0 ;
2 r (0) = b − Ax (0) ;
3 Tant que r (k) 6= 0, faire:
si k = 0 alors faire :
β0 = 0 ;
p (0) = r (0) ;
sinon faire :
βk = r (k)T r (k) /r (k−1)T r (k−1) ;
p (k) = r (k) + βk p (k−1) ;
αk = r (k)T r (k) /p (k)T Ap (k) ;
x (k+1) = x (k) + αk p (k) ;
r (k+1) = r (k) − αk Ap (k) ;
k =k +1 ;
4
Retourner x = x (k) .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Gradient conjugué: convergence et complexité
Théorème
∗
kx − x
(k)
kA ≤ 2
!k
p
Cond2 (A) − 1
p
kx ∗ − x (0) kA
Cond2 (A) + 1
Critère d’arrêt : dans la pratique, kr (k) k2 < M kbk2 , et k
borné par kmax n.
Choix du vecteur initial x (0) : a priori arbitraire, par ex. le
vecteur nul.
Complexité : une multiplication matrice-vecteur par itération,
donc complexité asymptotique équivalent à n2 flops pour une
matrice creuse.
Pas nécessaire de stocker A si on sait calculer le produit Ax.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Préconditionnement
On souhaite accélérer la convergence d’une méthode itérative
(e.g., le gradient conjugué).
La convergence de la méthode du gradient conjugué est très
rapide si la matrice A est proche de I, ou si ses valeurs propres
sont bien regroupées.
Idée : remplacer le système Ax = b par un système équivalent
(même solution) mais mieux conditionné.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Préconditionnement
Soit (S) : A x = b avec A symétrique et définie positive, et
soit C ∈ Mn×n (R) inversible.
On écrit le système transformé
(S̃) : C −1 A x = C −1 b
(S̃) : C −1 A(C T )−1 C T x = C −1 b
(S̃) : Ã x̃ = b̃,
où Ã = C −1 A(C −1 )T , x̃ = C T x et b̃ = C −1 b.
à est aussi symétrique et définie positive, donc on peut
appliquer le gradient conjugué à (S̃).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Préconditionnement
Définition
La matrice M = CC T est dite préconditionneur du système (S̃).
Le choix du préconditionneur est fait de manière que :
la matrice à soit mieux conditionnée que A, ou proche de la
matrice identité, pour que le gradient conjugué converge
rapidement,
M soit inversible de manière stable et rapide (idéalement avec
complexité asymptotique de l’ordre de n).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Gradient conjugué préconditionné : algorithme
Entrèe : A ∈ Mn×n (R) symétrique et définie positive, b ∈ Rn , x (0) ∈ Rn , un
préconditionneur M ∈ Mn×n (R) symétrique et défini positif.
Sortie : x ∈ Rn tel que Ax = b.
1
k=0;
2
r (0) = b − Ax (0) ;
3
Tant que r (k) 6= 0, faire:
résoudre Mz (k) = r (k) ;
si k = 0 alors faire :
β0 = 0 ;
p (0) = z (0) ;
sinon faire :
βk = z (k)T r (k) /z (k−1)T r (k−1) ;
p (k) = z (k) + βk p (k−1) ;
αk = z (k)T r (k) /p (k)T Ap (k) ;
x (k+1) = x (k) + αk p (k) ;
r (k+1) = r (k) − αk Ap (k) ;
k =k +1 ;
4
Retourner x = x (k) .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Choix d’un préconditionneur
Le choix d’un préconditionneur est un problème délicat et il existe
une vaste littérature à ce sujet.
Exemple 1 : préconditionnement diagonal. On note
A = (ai,j )1≤i,j≤n , M = (mi,j )1≤i,j≤n et on définit
ai,i si i = j,
mi,j =
0
si i 6= j.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Choix d’un préconditionneur
Exemple 2 : préconditionnement de Cholesky incomplet.
On choisit M = LLT , où L = (`i,j )1≤i,j≤n est une matrice
triangulaire inférieure calculée comme suit:
v
u
i−1
u
X
t
`i,i = ai,i −
`2i,r ,
i = 1, . . . , n
r =1
(
`i,j =
0 1
`i,j
ai,j −
si ai,j = 0,
si ai,j 6= 0,
r =1 `i,r `j,r
Pj−1
j = 1, . . . , i − 1, i = 2, . . . , n.
La matrice L est définie de manière à préserver l’éventuelle
structure creuse de A.
Les éléments non nuls de L sont calculés comme pour le facteur
de Cholesky de A.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Et si A n’est pas définie positive ?
Si la matrice A n’est pas symétrique et définie positive, on ne
peut pas appliquer le gradient conjugué au système Ax = b.
Mais on peut appliquer le gradient conjugué au système
AT Ax = AT b
(méthode des équations normales).
Attention : Cond(AT A) = Cond(A)2 .
Il existe aussi des méthodes itératives adaptées aux matrices
non symétriques : l’une des plus utilisées est la méthode
GMRES.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Chapitre 5
Interpolation polynomiale
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Problème de l’interpolation
15
10
y
5
0
−5
−10
−15
0
0.5
1
1.5
2
2.5
3
3.5
x
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Problème de l’interpolation
15
y=f(x)
y=p(x)
noeuds
10
y
5
0
−5
−10
−15
0
0.5
1
1.5
2
2.5
3
3.5
x
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Problème de l’interpolation
• Pn = Rn [x] : ensemble des poly. de degré ≤ n et à coeffs dans R.
(espace vect. de dimension n + 1 sur R)
• (a, b) ∈ R2 (a < b) et f : [a, b] → R continue sur [a, b]
• On considère n + 1 points x0 , . . . , xn de l’intervalle [a, b] tels que
a ≤ x0 ≤ x1 ≤ · · · ≤ xn ≤ b.
• Problème (I )fm,n : ? existe Pm ∈ Pm tel que Pm (xi ) = f (xi ), ∀ i.
• Pm (x) = λ0 + λ1 x + · · · + λm x m avec les λi dans R, alors ?
λ0 , . . . , λm tels que :

 


f (x0 )
1 x0 x02 . . . x0m
λ0
 1 x1 x 2 . . . x m   λ1   f (x1 ) 
1
1  

 

(S) :  .
.
..
..
..   ..  = 
 ..





.
.
.
.
1 xn xn2 . . . xnm
Thomas Cluzeau (Univ. de Limoges - ENSIL)
λm
Analyse Numérique
f (xm )
Problème de l’interpolation
Système linéaire n + 1 équations en m + 1 inconnues
Proposition
Le problème d’interpolation (I )fm,n admet une unique solution ssi
m = n et les nœuds (xi )0≤i≤n sont deux à deux distincts.
• Dans la suite, on s’intéresse au cas où le problème admet une
unique solution et on le note (I )fn : la solution notée Pn (x ; f )
s’appelle polynôme d’interpolation de f aux nœuds (xi )0≤i≤n .
• Problème qui apparait dans un contexte expérimental : calcul des
valeurs d’une fonction f inconnue.
• Il est naturel de supposer que l’on connait un minimum
d’information sur la fonction f à interpoler.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Problème de l’interpolation
En pratique, résoudre directement le système (S) n’est pas
forcément une bonne idée, car :
méthode couteuse (O(n3 )),
le système est souvent mal conditionné,
il n’est pas indispensable de calculer les coefficients de Pn (x; f )
en base monomiale; il y a d’autres bases de Pn qui se prêtent
mieux à résoudre le problème de l’interpolation.
Remarque: dans plusieurs applications on est surtout intéressé à
évaluer Pn (x̃; f ) pour x̃ donné.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Base d’interpolation de Lagrange (1)
Définition
(n)
Pour j ∈ {0, . . . , n}, le polynôme Lj
(n)
Lj (x) =
défini par
n
Y
(x − x0 ) · · · (x − xj−1 ) (x − xj+1 ) · · · (x − xn )
x − xi
=
,
xj − xi
(xj − x0 ) · · · (xj − xj−1 ) (xj − xj+1 ) · · · (xj − xn )
i=0
i6=j
est appelé interpolant de base de Lagrange ou polynôme de base de
Lagrange associé à la suite (xi )0≤i≤n et relatif au point xj .
Proposition
(n)
Pour n ∈ N fixé, les (Lj (x))0≤j≤n forment une base de l’espace
vectoriel Pn que l’on appelle base de Lagrange.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Base d’interpolation de Lagrange (2)
Proposition
Les interpolants de base de Lagrange vérifient les propriétés
suivantes :
1
2
Pour tout j = 0, . . . , n, si on note gj la fonction de [a, b] dans
R définie par ∀ i = 0, . . . , n, gj (xi ) = δij , alors
(n)
Pn (x ; gj ) = Lj (x) ;
Q
Si on pose πn+1 (x) = nj=0 (x − xj ) ∈ Pn+1 , alors, pour tout
(n)
j = 0, . . . , n, Lj (x) =
3
πn+1 (x)
.
0
(x−xj ) πn+1
(xj )
Pour tout k = 0, . . . , n, x k =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Pn
k
j=0 xj
(n)
Lj (x).
Analyse Numérique
Méthode de Lagrange (1)
• La méthode d’interpolation de Lagrange consiste à écrire le
polynôme d’interpolation sur la base de Lagrange.
Théorème
Soit f : [a, b] → R et n + 1 nœuds (xi )0≤i≤n deux à deux distincts.
Le polynôme d’interpolation de f aux nœuds (xi )0≤i≤n s’écrit alors :
Pn (x ; f ) =
n
X
(n)
f (xj ) Lj (x).
j=0
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Lagrange (2)
• Intérêt : pas besoin de résoudre un système linéaire pour écrire le
polynôme d’interpolation
• Son expression s’écrit facilement : par exemple, si on choisit les
nœuds −1, 0, 1, on obtient :
P2 (x ; f )
(x − 0) (x − 1)
f (−1)
=
f (−1)
=
f (−1) − 2 f (0) + f (1) 2
f (1) − f (−1)
x +
x + f (0).
2
2
(−1 − 0) (−1 − 1)
x(x − 1)
2
+ f (0)
(x + 1) (x − 1)
=
− f (0) (x 2 − 1) + f (1)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
+ f (1)
(0 + 1) (0 − 1)
x (x + 1)
2
,
Analyse Numérique
(x + 1) (x − 0)
(1 + 1) (1 − 0)
,
Exemple (1)
• f : [−4, 4] → R, x 7→ |x|
• Nœuds (xj )0≤j≤8 = (−4, −3, −2, −1, 0, 1, 2, 3, 4)
P8 (x ; f ) =
8
X
j=0
(8)
|xj | Lj (x) =
43 4
11 6
1
533 2
x −
x +
x −
x 8.
420
144
360
1008
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple (2)
y
3
2
1
x
−3
−2
−1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
0
1
Analyse Numérique
2
3
Efficacité et inconvénients
(n)
• On ne développe pas les Lj (x) sur la base monomiale. Pour
évaluer le polynôme d’interpolation de Lagrange, on utilise la
formule moins couteuse (complexité O( 32 n2 ))
Pn (x ; f ) = πn+1 (x)
n
X
f (xj )
0
π (xj ) (x
j=0 n+1
− xj )
,
• Principal inconvénient : rajouter un nœud change complètement
les interpolants de base de Lagrange et on doit donc recalculer
entièrement le polynôme Pn (x ; f ).
• Méthode permet aussi d’interpoler un nuage de points : on se
donne une suite de valeurs discrètes (bi )0≤i≤n aux nœuds (xi )0≤i≤n
et on cherche un polynôme Pn tel que Pn (xi ) = bi pour
i = 0, . . . , n.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Base d’interpolation de Newton (1)
Définition
(n)
Les polynômes Nj

(n)

N0 (x)



(n)


N1 (x)



(n)


N (x)

 2.
..
 (n)


Nj (x)




..


.



 (n)
Nn (x)
définis pour j = 0, . . . , n par :
= 1,
= (x − x0 ),
= (x − x0 ) (x − x1 ),
= (x − x0 ) (x − x1 ) · · · (x − xj−1 ),
= (x − x0 ) (x − x1 ) · · · (x − xn−1 ),
sont appelés polynômes de base de Newton relatifs à la suite de
points (xi )i=0,...,n−1 .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Base d’interpolation de Newton (2)
• Remarque : là où on avait besoin de n + 1 points pour définir les
(n)
(n)
Lj (x), j = 0, . . . , n, la définition des Nj (x), j = 0, . . . , n, ne
nécessite que n points.
Proposition
(n)
Pour n ∈ N fixé, les (Nj (x))0≤j≤n forment une base de l’espace
vectoriel Pn .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Expression de l’interpolant de Newton
• f : [a, b] → R et n nœuds (xi )0≤i≤n−1
P
(n)
• ? αi , i = 0, . . . , n tels que Pn (x ; f ) = ni=0 αi Ni (x). On a :
Pn (x0 ; f ) = α0 = f (x0 ) =⇒ α0 = f (x0 )
Pn (x1 ; f ) = f (x0 ) + α1 (x1 − x0 ) = f (x1 ) =⇒ α1 =
Pn (x2 ; f ) = f (x0 ) +
f (x0 )−f (x1 )
x0 −x1
f (x0 ) − f (x1 )
x0 − x1
(x2 − x0 ) + α2 (x2 − x0 ) (x2 − x1 ) = f (x2 )
f (x0 ) − f (x2 )
=⇒ α2 =
x0 − x2
−
f (x0 ) − f (x1 )
x0 − x1
x2 − x1
En posant
f [u, v ] =
f (u) − f (v )
,
u−v
on a alors
α1 = f [x0 , x1 ],
α2 =
f [x0 , x2 ] − f [x0 , x1 ]
f [x0 , x1 ] − f [x1 , x2 ]
=
.
x2 − x1
x0 − x2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Différence divisée
Définition
Pour tout k ∈ N, on appelle différence divisée d’ordre k de f
associée à la suite de points deux à deux distincts (xj )j∈N la
quantité f [x0 , x1 , . . . , xk ] définie par :
f [x0 ] = f (x0 ),
∗
∀ k ∈ N , f [x0 , x1 , . . . , xk ] =
f [x0 , x1 , . . . , xk−1 ] − f [x1 , x2 , . . . , xk ]
x0 − xk
Théorème
Pn (x ; f ) =
(n)
k=0 f [x0 , x1 , . . . , xk ] Nk (x).
Pn
Corollaire
(n)
Pn (x ; f ) = Pn−1 (x ; f ) + f [x0 , x1 , . . . , xn ] Nn (x).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
.
Calcul
• Déf. de la base d’interpolation de Newton de Pn ne nécessite que
la donnée de n nœuds mais le coefficients f [x0 , x1 , . . . , xn ] de
(n)
Nn (x) fait intervenir le nœud xn .
• Calcul du polynôme d’interpolation de f sur la base de Newton
relativement simple comparé à celui sur la base de Lagrange.
Proposition
f [x0 , x1 , . . . , xk ] =
k
X
f (xj )
Qk
j=0
l=0
l6=j
(xj − xl )
=
k
X
j=0
f (xj )
0
πk+1
(xj )
Corollaire
Soit Sk+1 l’ensemble des permutations sur {0, 1, . . . , k + 1}. Pour
tout σ ∈ Sk+1 , on a f [xσ(0) , xσ(1) , . . . , xσ(k) ] = f [x0 , x1 , . . . , xk ].
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Algorithme de calcul des différences divisées
x0
x1
x2
.
.
.
.
.
.
.
.
.
xk−2
xk−1
xk
f [x0 ]
&
−→ f [x0 , x1 ]
&
&
f [x2 ] −→ f [x1 , x2 ]
−→ f [x0 , x1 , x2 ]
.
.
.
.
.
.
.
.
.
.
.
.
f [xk−2 ]
&
f [xk−1 ] −→ f [xk−2 , xk−1 ]
...
&
&
f [xk ]
−→ f [xk−1 , xk ]
−→ f [xk−2 , xk−1 , xk ]
f [x1 ]
...
···
f [x0 , . . . , xk−1 ]
&
f [x1 , . . . , xk ] −→ f [x0 , . . . , xk ]
• Contrairement à Lagrange, l’ajout d’un nouveau nœud n’oblige
pas à recalculer toutes les différences divisées : passer de n à n + 1
nœuds demande simplement le calcul de n différences divisées.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Erreur d’interpolation (1)
Lemme
Soit (xi )0≤i≤n tels que, pour tout i = 0, . . . , n, xi ∈ [a, b] et soit
Pn (x ; f ) le polynôme d’interpolation de f aux nœuds (xi )0≤i≤n .
Alors, avec les notations précédentes, pour tout x ∈ [a, b] tel que,
pour tout i = 0, . . . , n, x 6= xi , on a :
f (x) − Pn (x ; f ) = f [x0 , x1 , . . . , xn , x] πn+1 (x).
Lemme
Si f ∈ C n ([a, b]) est de classe C n sur [a, b], alors :
∃ ξ ∈]a, b[,
f [x0 , x1 , . . . , xn ] =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
1 (n)
f (ξ).
n!
Analyse Numérique
Erreur d’interpolation (2)
Théorème
Soit (xi )0≤i≤n tels que, pour tout i = 0, . . . , n, xi ∈ [a, b] et soit
Pn (x ; f ) le polynôme d’interpolation de f aux nœuds (xi )0≤i≤n . Si
f ∈ C n+1 ([a, b]), alors :
∀ x ∈ [a, b], ∃ ξx ∈]a, b[,
f (x) − Pn (x ; f ) =
1
f (n+1) (ξx ) πn+1 (x).
(n + 1)!
Corollaire
Avec les mêmes hypothèses, on a :
∀ x ∈ [a, b],
|f (x) − Pn (x ; f )| ≤
Thomas Cluzeau (Univ. de Limoges - ENSIL)
|πn+1 (x)|
sup |f (n+1) (y )|.
(n + 1)! y ∈[a,b]
Analyse Numérique
Chapitre 6
Intégration numérique
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Objectif
• On veut approcher de façon numérique la valeur d’intégrales de la
forme
Z b
I (f ) =
f (x) dx
a
• Remarques :
En pratique, on ne connait pas forcément l’expression
symbolique de f ;
La plupart des fonctions n’admettent pas de primitives pouvant
s’exprimer à l’aide de fonctions élémentaires.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Introduction
• Hypothèse : fonctions que l’on cherche à intégrer numériquement
sont continues sur l’intervalle [a, b].
• Soit x0 = a < x1 < x2 < · · · < xn−1 < xn = b une subdivision de
l’intervalle [a, b].
• Théorie élémentaire de l’intégration
Z
I (f ) =
b
f (x)dx = lim
a
n→+∞
n−1
X
f (ξj )(xj+1 − xj ) ,
∀ j, ξj ∈ [xj , xj+1 ].
j=0
|
{z
}
Somme de Riemann
• Différents choix des ξj mènent aux méthodes classiques
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Formule des rectangles à gauche
ξj = xj
Irg (f ) =
Pn−1
j=0
f (xj ) (xj+1 − xj )
y
Formule des rectangles à gauche
0
a x1 x2 x3 x4 x5 x6 x7 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Formule des rectangles à droite
ξj = xj+1
Ird (f ) =
Pn−1
j=0
f (xj+1 ) (xj+1 − xj )
y
Formule des rectangles à droite
0
a x1 x2 x3 x4 x5 x6 x7 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Formule du point milieu
ξj =
xj +xj+1
2
Ipm (f ) =
Pn−1 xj +xj+1 (xj+1 − xj )
j=0 f
2
y
Formule du point milieu
0
a x1 x2 x3 x4 x5 x6 x7 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Méthode des trapèzes
It (f ) =
Pn−1
j=0
f (xj )+f (xj+1 )
2
(xj+1 − xj )
y
Formule des trapèzes
0
a x1 x2 x3 x4 x5 x6 x7 b
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Liens avec l’interpolation polynomiale
• Les méthodes des rectangles et la méthode du point milieu
reviennent à interpoler f sur chaque intervalle [xj , xj+1 ] par le
polynôme d’interpolation de degré 0 relatif à l’unique nœud ξj .
• Ces formules seront donc exactes pour les fonctions constantes sur
[a, b] et en particulier pour f ∈ P0 .
• La méthode des trapèzes revient à interpoler f sur chaque
intervalle [xj , xj+1 ] par le polynôme d’interpolation de degré 1.
• Cette formule sera donc exacte pour f ∈ P1 .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Formalisation de l’intégration approchée
• f une fonction de C([a, b]) ev des fonctions continues sur [a, b]
• Hypothèse : on connaı̂t au moins les valeurs de f en certains
points x0 , x1 , . . . , xn de l’intervalle [a, b]
• On cherche alors une formule d’intégration approchée de la forme
Z
b
f (x) dx ≈
I (f ) =
a
n
X
λk f (xk ) = I˜(n) (f ),
k=0
où les λk sont à déterminer.
• Terminologie : on parle aussi de méthode d’intégration numérique
ou formule de quadrature.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Ordre d’une méthode d’intégration numérique
Définition
Une méthode d’intégration numérique est dite d’ordre N (N ∈ N) si
elle est exacte sur PN .
• Exemple : la méthode des rectangles à gauche ou à droite et la
méthode du point milieu sont d’ordre 0 et celle des trapèzes est
d’ordre 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthodologie et Erreur d’intégration
• En pratique : connaissant les valeurs de f aux points x0 , . . . , xn ,
P
(n)
on remplace f par le polynôme d’interpolation nk=0 f (xk ) Lk (x)
écrit dans la base de Lagrange
Formule d’intégration approchée (exacte sur Pn ([a, b])) :
Z b
n
X
(n)
(n)
(n)
I˜(n) (f ) =
Ak f (xk ), Ak =
Lk (x) dx.
a
k=0
Théorème
Soit f ∈ C n+1 ([a, b]) et I˜(n) (f ) donnée ci-dessus. Alors on a la
majoration suivante de l’erreur d’intégration :
|I (f ) − I˜(n) (f )| ≤
Mn+1
(n + 1)!
Z
b
|πn+1 (x)| dx,
a
avec Mn+1 = supx∈[a,b] |f (n+1) (x)| et πn+1 (x) =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Qn
j=0 (x
− xj ).
Formules de Newton-Cotes (1)
(n)
• Problème : calcul des Ak =
Rb
a
(n)
Lk (x) dx
• Hypothèses : x0 = a, xn = b, n ≥ 1 et points d’interpolation
équidistants
Proposition
Pour k = 0, 1, . . . , n, on a :
(i)
(n)
Ak
(b − a) (−1)n−k
=
n
k! (n − k)!
Z
n
n
Y
0
j=0
j6=k
(n)
(n)
(ii) An−k = Ak .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
(y − j) dy .
Formules de Newton-Cotes (2)
(1)
(1)
• Cas n = 1, on obtient A0 = A1 =
b−a
I˜(1) (f ) =
(f (a) + f (b))
2
(2)
b−a
2
d’où
(formule des trapèzes)
(2)
(2)
4 (b−a)
• Cas n = 2, on obtient A0 = A2 = b−a
d’où
6 et A1 =
6
b−a
a+b
(2)
˜
I (f ) =
f (a) + 4 f (
) + f (b)
(formule de Simpson)
6
2
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
(n)
Calcul pratique des coefficients Ak
• En pratique, utiliser le fait que I˜(n) est exacte sur Pn ([a, b])
(1)
(1)
• Cas n = 1, a = −1 et b = 1 : I˜(1) (f ) = A0 f (−1) + A1 f (1)
• I˜(1) exacte sur P1 ([−1, 1]) donc
I˜(1) (1) = I (1) =
Z
1
1 dx = 2,
I˜(1) (x) = I (x) =
−1
(
(1)
Z
1
x dx = 0
−1
(1)
(1)
A0 + A1
= 2,
(1)
(1)
−A0 + A1
= 0,
(1)
d’où A0 = A1 = 1.
• Remarque : cette formule n’est pas exacte sur P2 ([−1, 1]) puisque
R1
I (x 2 ) = −1 x 2 dx = 23 alors que I˜(1) (x 2 ) = 2.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Estimation de l’erreur
Théorème
Considérons l’erreur En (f ) = I (f ) −
1
Alors :
Si n impair et f ∈ C n+1 ([a, b]), alors ∃ ξ ∈ [a, b] tel que :
En (f ) =
2
(n)
i=0 Ai f (xi ).
Pn
b−a
n
n+2
f (n+1) (ξ)
(n + 1)!
n
Z
t (t − 1) · · · (t − n) dt.
0
Si n pair et f ∈ C n+2 ([a, b]), alors ∃ ξ ∈ [a, b] tel que :
En (f ) =
b−a
n
n+3
f (n+2) (ξ)
(n + 2)!
Z
n
t 2 (t − 1) · · · (t − n) dt.
0
• Cas n = 2 : si f ∈ C 4 ([a, b]), alors l’erreur d’approximation
f (4) (ξ)
b−a
commise par la formule de Simpson vaut −h5
où h =
90
2
et ξ ∈ [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Stabilité des méthodes d’intégration (1)
• Mesure la sensibilité de la méthode aux erreurs de calculs
• Formule d’intégration approchée I˜(n) (f ) =
(n)
k=0 Ak f (xk )
Pn
• Supposons les valeurs calculées des f (xk ) non exactes
(n)
k=0 Ak (f (xk )
Pn
+ k ) −
(n)
k=0 Ak f (xk )
Pn
=
(n)
k=0 Ak k .
Pn
X
n
n
X
(n)
(n)
A
≤
max
|
|
|Ak |,
k
k
k
0≤k≤n
k=0
et le terme
(n)
k=0 |Ak |
Pn
k=0
dépend de la méthode.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Stabilité des méthodes d’intégration (1)
Définition
P
(n)
La formule d’intégration numérique I˜(n) (f ) = nk=0 Ak f (xk ) est
dite stable s’il existe M ∈ R tel que : ∀ n ∈ N, ∀ (0 , . . . , n ) ∈
P
(n)
Rn+1 , | nk=0 Ak k | ≤ M max0≤k≤n |k |.
Théorème
Avec les notations précédentes, une condition nécessaire et
suffisante de stabilité est qu’il existe M ∈ R (indépendant de n) tel
P
(n)
que nk=0 |Ak | ≤ M.
• Formules de Newton-Côtes : pour certaines valeurs de k,
(n)
limn→∞ |Ak | = +∞ donc pour de grandes valeurs de n ces
formules ne sont pas stables
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Formules d’intégration composées (1)
• Ceux sont les plus utilisées en pratique
• Principe : décomposer l’intervalle [a, b] en k intervalles [ai , ai+1 ],
i = 0, . . . , k − 1
Z
I (f ) =
b
f (x) dx =
a
k−1 Z
X
ai+1
ai
i=0
|
f (x) dx
{z
}
Ii (f )
• Ii (f ) approché par une formule d’intégration numérique
• Remarque : pour la stabilité, il est judicieux de choisir une formule
avec un n petit comme par exemple celle de Simpson (n = 2)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Formules d’intégration composées (2) : Simpson
• Méthodes composées sont d’autant plus intéressantes que l’erreur
d’approximation diminue lorsque la taille de l’intervalle diminue
• Avec la formule de Simpson déjà vu, si l’on subdivise l’intervalle
[a, b] en k sous intervalles avec k pair, on obtient la formule de
Simpson composée


k/2−1
k/2
X
X
h
f (a0 ) + 2
f (a2 i ) + 4
f (a2 i−1 ) + f (ak ) ,
3
i=1
avec h =
b−a
k ,
i=1
a0 = a, ak = b et ai = ai−1 + h.
f (4) (ξ)
• Si f ∈ C 4 ([a, b]), erreur d’approximation −k h5
où
180
b−a
h=
et ξ ∈ [a, b].
k
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple
R1
2
On veut calculer numériquement 0 e −x dx avec erreur < 10−6 .
Combien d’intervalles faut-il utiliser ?
2
2
f (x) = e −x , f (4) (x) = e −x (16x 4 − 48x 2 + 12), |f (ξ)| ≤ 12 ∀ξ ∈ [0, 1]
5 (4)
f (ξ)
f (4) (ξ)
1
b−a
erreur = k
=
≤
k
180
180k 4
15k 4
6 1/4
1
10
−6
on pose
<
10
d’où
k
>
≈ 16, 0686
15k 4
15
donc k ≥ 17.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Autres approches
Formules de quadrature de Gauss: famille de formules de
quadrature assez précises, qui utilisent des polynômes
d’interpolation. Les nœuds sont les zéros des polynômes
d’interpolation, et/ou des points donnés.
Méthodes adaptives: le nombre de nœuds est choisi suivant le
comportement de la fonction.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Intégration numérique en Matlab
Plusieurs implémentations sont disponibles:
trapz: méthode des trapèzes, intervalles uniformes,
quad: formule de Simpson, quadrature adaptive,
integral: méthode adaptive globale.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Chapitre 7
Résolution d’équations et de
systèmes d’équations non
linéaires
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Problème considéré
• f : R → R fonction d’une seule variable réelle
• On cherche à résoudre l’équation f (x) = 0 = trouver une valeur
approchée x d’un réel x̃ vérifiant f (x̃) = 0.
• Mise en oeuvre pratique : on se donne une tolérance sur la
solution cherchée. L’algorithme numérique utilisé doit alors avoir un
critère d’arrêt dépendant de cette tolérance et nous assurant que la
solution calculée a bien la précision recherchée
• 2 possibilités :
on sait à l’avance combien d’étapes de l’algorithme sont
nécessaires
à chaque étape, on vérifie une condition nous permettant
d’arrêter le processus après un nombre fini d’étapes
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Vitesse de convergence (1)
Définition
Soit (xn )n∈N une suite convergente et soit x̃ sa limite.
1
On dit que la convergence de (xn )n∈N est linéaire de facteur
K ∈ ]0, 1[ s’il existe n0 ∈ N tel que, pour tout n ≥ n0 ,
|xn+1 − x̃| ≤ K |xn − x̃|.
2
On dit que la convergence de (xn )n∈N est superlinéaire d’ordre
p ∈ N, p > 1 s’il existe n0 ∈ N et K > 0 tels que, pour tout
n ≥ n0 , |xn+1 − x̃| ≤ K |xn − x̃|p . Si p = 2, on parle de
convergence quadratique et si p = 3 on parle de convergence
cubique.
• Remarque : K n’est pas unique.
• En pratique il peut être difficile de prouver la convergence d’une
méthode d’autant plus qu’il faut tenir compte des erreurs d’arrondis.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Vitesse de convergence (2)
Définition
Soit (xn )n∈N une suite convergent vers une limite x̃. On dit que la
convergence de (xn )n∈N est linéaire de facteur K (resp. superlinéaire
d’ordre p) s’il existe une suite (yn )n∈N convergent vers 0, linéaire de
facteur K (resp. superlinéaire d’ordre p) au sens de la définition
précédente telle que |xn − x̃| ≤ yn .
• dn = − log10 (|xn − x̃|) mesure du nbre de décimales exactes de xn .
Convergence d’ordre p ⇒ asymptotiquement, on a
|xn+1 − x̃| ∼ K |xn − x̃|p d’où −dn+1 ∼ log10 (K ) − p dn et donc
asymptotiquement xn+1 a p fois plus de décimales exactes que xn
l’ordre p représente asymptotiquement le facteur multiplicatif du
nombre de décimales exactes que l’on gagne à chaque itération
Nous avons donc intérêt à ce qu’il soit le plus grand possible.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de dichotomie : principe
• Méthode de localisation des racines d’une équation f (x) = 0
basée sur le théorème des valeurs intermédiaires
Si f est continue sur [a, b] et f (a) f (b) < 0, alors il existe x̃ ∈]a, b[
tel que f (x̃) = 0.
• Principe :
1
On part d’un intervalle [a, b] vérifiant la propriété f (a) f (b) < 0
2
On le scinde en deux intervalles [a, c] et [c, b] avec c =
3
On teste les bornes des nouveaux intervalles (on calcule
f (a) f (c) et f (c) f (b)) pour en trouver un (au moins) qui
vérifie encore la propriété, i.e., f (a) f (c) < 0 ou/et
f (c) f (b) < 0.
4
On itère ensuite ce procédé un certain nombre de fois
dépendant de la précision que l’on recherche sur la solution.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
a+b
2
Méthode de dichotomie : algorithme
Entrèes : la fonction1 f , (a, b) ∈ R2 tels que f est continue sur
[a, b] et f (a) f (b) < 0 et la précision .
Sortie : xk+1 valeur approchée de x̃ solution de f (x̃) = 0 à près.
1
2
x0 ← a, y0 ← b ;
ln(b − a) − ln()
par pas de 1, faire :
Pour k de 0 à E
ln(2)
xk + yk
xk + yk
> 0, alors xk+1 ←
, yk+1 ← yk ;
2
2
xk + yk
xk + yk
Si f (xk ) f
< 0, alors xk+1 ← xk , yk+1 ←
;
2
2
xk + yk
Sinon retourner
;
2
Si f (xk ) f
3
1
Retourner xk+1 .
Il suffit en fait de connaitre un moyen d’évaluer les valeurs de la fonction
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de dichotomie : remarques et preuve de l’algo.
• Remarques sur l’algorithme précédent :
Il construit une suite de segments emboı̂tés contenant tous x̃
À chaque passage dans la boucle : une évaluation de f
En pratique, avec les arrondis, > 0 et < 0 ne veulent rien dire !
Théorème
Le nombre minimum d’itérations de la méthode
de dichotomie
+ 1, où
nécessaire pour approcher x̃ à près est E ln(b−a)−ln()
ln(2)
E (x) désigne la partie entière d’un réel x.
Proof.
b−a
2n
≤⇔n≥
ln(b−a)−ln()
.
ln(2)
Proposition
La convergence de la dichotomie est linéaire de facteur 12 .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple
On cherche un zéro de f (x) = x 3 + 4x cos(x) − 2 sur [0, 1],
k
xk
f (xk )
1 0, 5000000
−0, 1198349
2 0, 7500000
0, 6169415
3 0, 6250000
0, 2715483
4 0, 5625000 0, 8130836 · 10−1
−3
= 10 . 5 0, 5312500 −0, 1794720 · 10−1
6 0, 5468750 0, 3201580 · 10−1
7 0, 5390625 0, 7117271 · 10−2
8 0, 5351563 0, 5393982 · 10−2
9 0, 5371094 0, 8668900 · 10−3
10 0, 5361328 −0, 2263069 · 10−2
−3 )
En effet E ln(1−0)−ln(10
+ 1 = 10.
ln(2)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode du point fixe (ou approximations successives)
Définition
Soit g : R → R. On dit que x ∈ R est un point fixe de g si
g (x) = x.
• Principe : associer à l’équation f (x) = 0 une équation de point
fixe g (x) = x de sorte que trouver une solution de f (x) = 0
équivaut à trouver un point fixe de g .
Lemme
Soit (xn )n∈N la suite définie par x0 ∈ R donné et xn+1 = g (xn ). Si
(xn )n∈N est convergente et g est continue, alors la limite de (xn )n∈N
est un point fixe de g .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Fonctions contractantes
Définition
Soit g : Ω ⊆ R → R. On dit que g est lipschitzienne sur Ω de
constante de Lipschitz γ (ou γ-lipschitzienne) si pour tout
(x, y ) ∈ Ω2 , on a |g (x) − g (y )| ≤ γ |x − y |. On dit que g est
strictement contractante sur Ω si g est γ-lipschitzienne sur Ω avec
γ < 1.
Proposition
Soit g une fonction dérivable sur l’intervalle [a, b]. Si sa dérivée g 0
vérifie maxx∈[a,b] |g 0 (x)| = L < 1, alors g est strictement
contractante sur [a, b] de constante de Lipschitz L.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Théorème du point fixe
Théorème
Soit g une application strictement contractante sur un intervalle
[a, b] ⊂ R de constante de Lipschitz γ < 1. Supposons que
l’intervalle [a, b] soit stable sous g , i.e., g ([a, b]) ⊆ [a, b] ou encore
pour tout x ∈ [a, b], g (x) ∈ [a, b]. Alors g admet un unique point
fixe x ∗ ∈ [a, b] et la suite définie par xn+1 = g (xn ) converge
linéairement de facteur γ vers x ∗ pour tout point initial x0 ∈ [a, b].
De plus,
γn
|x1 − x0 |.
∀ n ∈ N, |xn − x ∗ | ≤
1−γ
• Erreur d’autant plus petite que γ est proche de 0
γ
|xn − xn−1 |
• De plus ∀ n ∈ N, |xn − x ∗ | ≤ 1−γ
1
∗
Si γ ≤ 2 , alors |xn − x | ≤ |xn − xn−1 |
test d’arrêt
|xn − xn−1 | < qui certifiera une précision sur le résultat
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Mise en oeuvre
Proposition
Soit x ∗ ∈ [a, b] un point fixe d’une fonction g ∈ C 1 ([a, b]).
Si |g 0 (x ∗ )| < 1, alors il existe un intervalle [α, β] ⊆ [a, b]
contenant x ∗ pour lequel la suite définie par x0 ∈ [α, β] et
xn+1 = g (xn ) converge vers x ∗ ;
Si |g 0 (x ∗ )| > 1, alors pour tout x0 6= x ∗ , la suite définie par x0
et xn+1 = g (xn ) ne converge pas vers x ∗ ;
Si |g 0 (x ∗ )| = 1, on ne peut pas conclure.
• En pratique, on estime g 0 (x ∗ )
Si |g 0 (x ∗ )| > 1, alors on élimine la méthode,
Si |g 0 (x ∗ )| < 1, on cherche un intervalle [α, β] ⊆ [a, b] dans lequel
maxx∈[α,β] |g 0 (x)| < 1 et g ([α, β]) ⊆ [α, β].
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Première méthode de résolution de f (x) = 0
• Posons g (x) = x − f (x)
• Thm du point fixe ⇒ CS pour que g admette un point fixe dans
[a, b] : g contractante sur [a, b] de constante de Lipschitz γ < 1 de
et [a, b] stable sous g
∀ x ∈ [a, b],
|g 0 (x)| < γ ⇐⇒ |1 − f 0 (x)| < γ
• Avec g (x) = x − λ f (x), on obtient :
∀ x ∈ [a, b],
|1 − λ f 0 (x)| < γ < 1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Première méthode de résolution de f (x) = 0
• Suite des itérés xn+1 = xn − λ f (xn )
y
pente
1
λ
f (x0 )
f (x1 )
• • • ••••• •
x0 x1 x2 · · · x ∗
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Première méthode de résolution de f (x) = 0
• Suite des itérés xn+1 = xn − λ f (xn )
• En effet: la droite de pente λ1 qui passe par (xn , f (xn )) a équation
y − f (xn ) =
1
(x − xn ),
λ
donc le point d’intersection avec l’axe des abscisses y = 0 est donné
par
−λf (xn ) = x − xn ⇒ x = xn − λf (xn ).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Convergence
Proposition
On considère l’équation g (x) = x où g est une fonction au moins
p + 1 fois dérivable avec p ≥ 1. Supposons que les hypothèses du
théorème du point fixe soient vérifiées de sorte que g admette un
unique point fixe x ∗ ∈ [a, b]. Si
g 0 (x ∗ ) = g 00 (x ∗ ) = · · · = g (p) (x ∗ ) = 0 et g (p+1) (x ∗ ) 6= 0, alors la
convergence de la méthode xn+1 = g (xn ) est superlinéaire d’ordre
p + 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple
On reprend l’exemple précédent: calculer le zéro de
f (x) = x 3 + 4x cos(x) − 2 sur [0; 1].
La dérivée de f (x) est f 0 (x) = 3x 2 + 4 cos(x) − 4x sin(x) > 0.
On a max[0;1] |f 0 (x)| = f 0 (0) = 4,
méthode convergente pour λ < 21 .
Pour avoir 5 décimales justes:
1
1
1
1
1
λ
2
3
4
5
6
n. itér. 25 5 7 11 15
(On observe que f 0 (x ∗ ) ≈ 3, 20).
À partir de x0 = 0:
k
1
2
3
4
5
6
7
λ = 13
0, 6666666
0, 5360014
0, 5368957
0, 5368347
0, 5368388
Thomas Cluzeau (Univ. de Limoges - ENSIL)
λ = 14
0, 5000000
0, 5299587
0, 5354853
0, 5365698
0, 5367854
0, 5368283
0, 5368369
Analyse Numérique
Méthode de Newton (1)
• Revenons à
∀ x ∈ [a, b],
|1 − λ f 0 (x)| < γ < 1
• La méthode convergera d’autant plus vite que γ est petite
Idée : poser λ =
1
f 0 (x)
cad g (x) = x −
f (x)
f 0 (x) .
Définition
La fonction d’itération de Newton associée à l’équation f (x) = 0 sur
[a, b] est

 [a, b] → R,
f (x)
N :
7→ N (x) = x − 0 .
 x
f (x)
Cette fonction est définie pour f dérivable sur [a, b] et telle que f 0
ne s’annule pas sur [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Newton (2)
y
Méthode de Newton
tangente
f (x0 )
f (x1 )
•
x0
•
x1
Thomas Cluzeau (Univ. de Limoges - ENSIL)
••
x2x ∗
Analyse Numérique
x
Convergence locale
Théorème
Soit f une fonction de classe C 2 sur un intervalle [a, b] de R. On
suppose qu’il existe x̃ ∈ [a, b] tel que f (x̃) = 0 et f 0 (x̃) 6= 0 (x̃ est
un zéro simple de f ). Alors il existe > 0, tel que pour tout
x0 ∈ [x̃ − , x̃ + ], la suite des itérés de Newton donnée par
xn+1 = N (xn ) pour n ≥ 1 est bien définie, reste dans l’intervalle
[x̃ − , x̃ + ] et converge vers x̃ quand n tend vers l’infini. De plus,
cette convergence est (au moins) quadratique.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple : calcul de la racine carrée
• Équation f (x) = 0 avec f (x) = x 2 − a
• On a alors N (x) = x −
f (x)
f 0 (x)
=x−
x 2 −a
2x
=
1
2
x+
a
x
.
• Si a = 2 et x0 = 1 on obtient :
x0 = 1, 000000000000000
x1 = 1, 500000000000000
x2 = 1, 416666666666667
x3 = 1, 414215686274510
x4 = 1.414213562374690
x5 = 1, 414213562373095
√
• Matlab donne 2 = 1, 414213562373095
• Nombre de décimales justes double approximativement à chaque
itération (convergence quadratique)
• Dichotomie sur [1, 2] : 51 itérations pour v. a. à 10−15
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Zéro multiple et convergence globale
Théorème
Avec les notations, précédentes, si x̃ est un zéro de multiplicité m
de f , i.e., f (x ∗ ) = f 0 (x ∗ ) = · · · = f (m−1) (x ∗ ) = 0 et f (m) (x ∗ ) 6= 0,
alors la méthode itérative définie par xn+1 = Nm (xn ) avec
f (x)
Nm (xn ) = x − m 0
est d’ordre supérieure ou égal à 2.
f (x)
Théorème
Soit f ∈ C 2 ([a, b]) vérifiant :
f (a) f (b) < 0,
∀ x ∈ [a, b], f 0 (x) 6= 0,
∀ x ∈ [a, b], f 00 (x) 6= 0.
Alors, en choisissant x0 ∈ [a, b] tel que f (x0 ) f 00 (x0 ) > 0, la suite
(xn )n∈N définie par x0 et xn+1 = N (xn ) converge vers l’unique
solution de f (x) = 0 dans [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de la sécante (1)
• Newton nécessite le calcul de la dérivée de la fonction f qui peut
s’avérer difficile
• Idée : remplacer la dérivée f 0 de f qui apparait dans la méthode
de Newton par une différence divisée
Définition
Pour tout k ∈ N, on appelle différence divisée d’ordre k de f
associée à la suite de points deux à deux distincts (xj )j∈N la
quantité f [x0 , x1 , . . . , xk ] définie par :
f [x0 ] = f (x0 ),
xn+1 = xn −
∗
∀ k ∈ N , f [x0 , x1 , . . . , xk ] =
f (xn )
,
f [xn , xn−1 ]
f [x0 , x1 , . . . , xk−1 ] − f [x1 , x2 , . . . , xk ]
x0 − xk
où f [xn , xn−1 ] =
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
.
f (xn ) − f (xn−1 )
xn − xn−1
Méthode de la sécante (2)
• Initialisation : deux points x0 et x1
y
Méthode de la sécante
f (x0 )
f (x1 )
•
x0
• • •
x1 x2 x ∗
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
x
Convergence
Théorème
Soit f une fonction de classe C 2 sur un intervalle [a, b] de R. On
suppose qu’il existe x̃ ∈ [a, b] tel que f (x̃) = 0 et f 0 (x̃) 6= 0 (x̃ est
un zéro simple de f ). Alors il existe > 0, tel que pour tout
x0 , x1 ∈ [x̃ − , x̃ + ], la suite des itérés de la méthode de la
sécante est bien définie, reste dans l’intervalle [x̃ − , x̃ + ] et
converge vers x̃ quand n tend vers
√ l’infini. De plus, cette
1+ 5
convergence est d’ordre p = 2 ≈ 1, 618 (nombre d’or).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple: calcul de la racine carrée
• Méthode de la sécante
xn+1 = xn −
xn2 − a
xn2 − a
=
x
−
n
2
xn + xn−1
(xn2 − a) − (xn−1
− a)
xn − xn−1
• Si a = 2 et x0 = x1 = 1 on obtient :
x0
x1
x2
x3
x4
x5
x6
x7
=
=
=
=
=
=
=
=
1, 000000000000000
1, 000000000000000
1, 500000000000000
1, 400000000000000
1, 413793103448276
1, 414215686274510
1, 414213562057320
1, 414213562373095
• + d’it. que Newton mais pas de calcul de dérivée
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Systèmes d’équations non linéaires
f :
Rn
x = (x1 . . . xn )T
→ Rn
7
→
f (x) = (f1 (x1 , . . . , xn ), . . . , fn (x1 , . . . , xn ))T .
On cherche donc un vecteur x = (x1 . . . xn )T ∈ Rn tel que


 f1 (x1 , . . . , xn ) = 0,
..
n
f (x) = 0R ⇐⇒
.


fn (x1 , . . . , xn ) = 0.
• Méthode 1 vu précédemment se généralise :
x (n+1) = x (n) + M −1 f (x (n) ),
où M est une certaine matrice, et nous avons les mêmes résultats
de convergence que dans le cas d’une seule équation.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Matrice Jacobienne
Définition
La matrice jacobienne d’une fonction f : Rn → Rn notée Jf est
définie (lorsqu’elle existe) par :
∂f1
 ∂x1 (x)


 ∂f2

 ∂x1 (x)


Jf (x) = 
..

.




 ∂fn

(x)
∂x1

∀ x = (x1 . . . xn )T ∈ Rn ,
Thomas Cluzeau (Univ. de Limoges - ENSIL)
∂f1
(x) . . .
∂x2
∂f2
(x) . . .
∂x2
..
.
..
.
∂fn
(x) . . .
∂x2
Analyse Numérique

∂f1
(x) 
∂xn



∂f2
(x) 

∂xn


.
..

.





∂fn
(x) 
∂xn
Méthode de Newton (1)
• Méthode de Newton se généralise : x (0) ∈ Rn et
−1
f (x (n) ),
x (n+1) = x (n) − Jf x (n)
−1
désigne l’inverse de la matrice jacobienne de f
où Jf x (n)
(n)
évaluée en x .
Théorème
Soit f : Rn → Rn une fonction de classe C 2 sur une boule fermée B
de Rn . On suppose qu’il existe un zéro x̃ de f dans B et que Jf (x̃)
est inversible. Alors il existe > 0 tel que pour tout x (0) ∈ B tel
que kx (0) − x̃k ≤ , la suite des itérés de la méthode de Newton
ci-dessus est bien définie et converge vers x̃ quand n tend vers
l’infini.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Méthode de Newton (2)
• Calculer l’itéré n+ 1 à partir de l’itéré n : on a besoin d’inverser
la matrice Jf x (n)
• Pour éviter ce calcul d’inverse :
Jf x (n)
x (n+1) − x (n) = −f x (n) ,
• À chaque itération, calcul de l’inverse remplacé par la résolution
d’un système d’équations linéaires ce qui est asymptotiquement
moins couteux (Cf chapitre précédent)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple (1)
• Considérons le système d’équations non linéaires :
x12 + 2 x1 − x22 − 2 = 0,
(S) :
3
x1 + 3 x1 x22 − x23 − 3 = 0.
• Notations précédentes : n = 2, f1 (x1 , x2 ) = x12 + 2 x1 − x22 − 2, et
f2 (x1 , x2 ) = x13 + 3 x1 x22 − x23 − 3
• Matrice jacobienne de f :
2 x1 + 2
−2 x2
Jf (x1 , x2 ) =
.
3 (x12 + x22 ) 6 x1 x2 − 3 x22
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Exemple (2)
• Point de départ : x (0) = (1
la méthode de Newton
− 1)T . Calculons le premier itéré de
• Formule d’itération pour n = 1 :
Jf x (0)
x (1) − x (0) = −f x (0) ,
c’est-à-dire
4 2
6 −9
(1)
x1 − 1
(1)
x2 + 1
!
=−
0
2
(1)
.
1
• En résolvant ce système linéaire, on trouve x1 − 1 = − 12
et
T
(1)
1
11
5
x2 + 1 = 6
x (1) = 12 − 6 .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Autres méthodes
• La méthode de la sécante ne se généralise pas facilement au cas
de plusieurs équations
En pratique :
Méthode de Newton,
Méthode x (n+1) = x (n) + M −1 f (x (n) ) en ajustant M au bout
d’un certain nombre d’itérations.
En général, M assez proche de Jf
convergence d’ordre ≥ 1
Méthodes de Newton généralisées (utilisées en optimisation)
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Polynômes complexes
Dans ce chapitre nous nous intéressons au polynômes de la forme
p(z) = a0 + a1 z + . . . + an z n ,
où a0 , a1 , . . . , an ∈ C.
Théorème (fondamental de l’algèbre)
Tout polynôme non constant à coefficients complexes admet une
racine complexe.
Donc p(z) a n racines sur C (avec multiplicité).
Exemple: les√racines de p(z) =
z 3 − 1 sont α1 = 1,
√
α2 = − 12 − 23 i, α3 = − 12 + 23 i.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Application de la méthode de Newton
Etant donné z0 ∈ C, la méthode de Newton appliquée à p(z)
définit une suite (système dynamique discret) z0 , z1 , z2 , . . .
où
p(zk )
zk+1 = zk − 0
,
k ∈ N.
p (zk )
Quels sont les comportement possibles pour une telle suite?
Pour chaque racine αi de p(z) on définit le bassin d’attraction
Bi ⊂ C comme l’ensemble des points z0 ∈ C tels que la suite
de Newton définie à partir de z0 converge vers αi .
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Représentation graphique
On choisit une fenêtre d’observation (rectangle R ⊂ C).
On discrétise R
nœuds zjk , j = 1, . . . , N, k = 1, . . . , M.
Pour chaque zjk , on applique l’itération de Newton à partir de
zjk : y a-t-il convergence, et si oui, vers quelle limite ?
zjk représenté en noir si pas de convergence,
zjk représenté en autre couleur (suivant la limite) si convergence.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Fractales
Méthode de Newton appliquée à p(z) = z 3 − 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Fractales
Méthode de Newton appliquée à p(z) = z 8 + 15z 4 − 16.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Cycles attractifs
Soit p(z) = z 3 − 2z + 2.
L’itération de Newton associée est
zk+1 = zk −
zk = 0
zk+1 = 1
zk3 − 2zk + 2
.
3zk2 − 2
zk+2 = 0
...
0, 1, 0, 1, . . . est un cycle attractif.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Cycles attractifs
Méthode de Newton appliquée à p(z) = z 3 − 2z + 2.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Autres méthodes: Halley
La méthode de Halley est définie par l’itération
zk+1 = zk −
2p(xk )p 0 (xk )
.
2(f 0 (xk ))2 − f (xk )f 00 (xk )
Convergence cubique au voisinage des racines.
Newton et Halley sont exemples d’une famille plus générale de
méthodes itératives pour le calcul des racines des polynômes
(méthodes de König):
zk+1 = zk + d
(1/p)(d−1) (zk )
(1/p)(d) (zk )
(méthode d’ordre d).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Calcul des racines des polynômes: Newton
Théorème (Hubbard, Schleicher, Sutherland 2001)
Étant donné d ∈ N, on peut déterminer un ensemble fini de points
Sd ⊂ C tel que, pour tout polynôme complexe p(z) de degré d et
pour toute racine α de p(z), il existe au moins un point zα ∈ Sd tel
que l’itération de Newton appliquée à partir de zα converge à α.
En pratique, pour la méthode de Newton on a:
convergence quadratique mais seulement si on est proche de la
racine,
comportement difficile à déterminer en dehors d’un voisinage
suffisamment petit des racines.
méthode généralement utilisée pour améliorer un calcul approché
des racines.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Calcul des racines des polynômes: valeurs propres
La matrice compagnon ou matrice de Frobenius associée au
polynôme
p(z) = z n + an−1 z n−1 + an−2 z n−2 + · · · + a1 z + a0 = 0
est définie comme





A=



0
1
0
0
..
.
0
0
1
0
..
.
0
0
0
1
..
.
...
...
...
...
..
.
0 0 0 ...
Thomas Cluzeau (Univ. de Limoges - ENSIL)
0
0
0
0
..
.
−a0
−a1
−a2
−a3
..
.
1 −an−1
Analyse Numérique









Calcul des racines des polynômes: valeurs propres
Théorème
Le polynôme caractéristique de A est un multiple scalaire de p(z).
Les valeurs propres de A sont racines de p(z), et inversement.
Pour calculer toutes les racines de p(z) il suffit donc de calculer
les valeurs propres de A.
Des méthodes efficaces sont disponibles pour le calcul des
valeurs propres
(méthode QR: stable, complexité O(n3 )).
Commande Matlab roots.
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Calcul des racines des polynômes: conditionnement
Exemples de polynômes mal conditionnés:
Racines multiples: p(z) = (z − 1)n
racine α = 1 de multiplicité n,
on introduit une perturbation: p̃(z) = (z − 1)n − ε (ε > 0),
le racines de p̃(z) sont αj = 1 + ωj ε1/n (ωj =racine n-ième de
1),
exemple: si p(z) = (z − 1)3 , le polynôme perturbé
p̃(z) = (z − 1)3 − 10−6 a 3 racines distinctes à distance 10−2
par rapport à 1.
Polynôme de Wilkinson:
w (z) = (z − 1) · (z − 2) · (z − 3) · . . . · (z − 20).
Thomas Cluzeau (Univ. de Limoges - ENSIL)
Analyse Numérique
Téléchargement