Vous êtes sur la page 1sur 235

Analyse Numerique

Thomas Cluzeau

Matre de Conferences

Ecole Nationale Superieure dIngenieurs de Limoges


Parc ester technopole, 16 rue datlantis 87068 Limoges Cedex
thomas.cluzeau@unilim.fr
http://www.unilim.fr/pages_perso/thomas.cluzeau

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Maths a lENSIL en TC1

Harmonisation en fonction du test de la rentree


Analyse
Algebre lineaire

Tronc Commun (TC) - 1iere annee


Mathematiques pour lingenieur (TC1 - S1)
Analyse numerique (TC1 - S2)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Analyse Numerique : organisation et evaluation

Organisation :
Cours : 7 seances d1h30
TDs et TPs : 12h
4 seances de TDs d1h30
3 seances de TPs Matlab : 1 de 3h et 2 d1h30.

Evaluation :
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 Numerique


Plan du cours

1 Arithmetique des ordinateurs et analyse derreurs


2 Resolution dun systeme dequations lineaires (Partie 1) :
methodes directes
3 Conditionnement dune matrice pour la resolution dun systeme
lineaire
4 Resolution dun systeme dequations lineaires (Partie 2) :
methodes iteratives
5 Interpolation polynomiale
6 Integration numerique
7 Resolution dequations et de systemes dequations non lineaires

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 1
Arithmetique des ordinateurs et
analyse derreurs

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Arithmetique flottante

Comment les reels sont-ils representes dans un ordinateur ?


Theoreme (Systeme des nombres a virgule flottante)
Soit un entier strictement superieur a 1. Tout nombre reel x non
nul peut se representer sous la forme
X dk
x = sgn(x) e ,
k
k1

ou 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 ecriture est unique (sauf pour les decimaux :
2, 5 = 2, 499999 . . . ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemples
Systeme decimal : = 10 et dk {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
0, 0038 = 0, 38.102 = + 102 ( 10 3
+ 1082 )
1 0 1 4 2 8
7 = 0, 142857 . . . = + 10 ( 10 + 102 + 103 + 104 + ).
Developpement decimal dun nombre rationnel est periodique :
1
7 = 0, 142857142857142857 . . .
1
2 = 1, 4142 . . . = 101 ( 10 + 1042 + 1013 + 1044 + )
3
= 3, 14159 . . . = + 101 ( 10 + 1012 + 1043 + 1014 + )

Historiquement, = 10 car nous avons 10 doigts !


Ordinateurs : = 2 (numeration binaire), = 8 (num. octale),
ou encore = 16 (num. hexadecimale)
Unicite basee sur d1 6= 0 :
0, 0038 = 0, 38.102 = + 102 ( 10
3
+ 8
102
)
= 0, 038.103 = + 101 ( 10
0
+ 3
102
+ 1083 )

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Le systeme F (1)

On definit lensemble F R par :


   
e d1 d2 dt
F = y R | y = + 2 + + t , emin e emax

ou encore

F = y R | y = m et , emin e emax


Ceci correspond aux deux ecritures :


0, 0038 = + 102 ( 10
3
+ 8
102
)
0, 0038 = + 38.104
avec = 10, e = 2, t = 2, e t = 4

m sappelle la mantisse. Notation : m = d1 d2 . . . dt
Notons que 0
/ F.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Le systeme F (2)

Pour y 6= 0, on a
d1 d2 dt 1
m et = e ( + 2 + + t ) e = m t1


m = d1 d2 . . . dt = d1 t1 + + dtk k + + dt1 + dt < t
On a donc montre que t1 m < t .
F est un systeme de nombres a virgule flottante (floating point
number system). Notation : F (, t, emin , emax ).
Il depend de quatre parametres :
1 la base (chiffres utilises 0, 1, . . . , 1),
2 la precision t (# chiffres utilises pour representer la mantisse),
3 emin et emax qui definissent le domaine des exposants.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple : F (2, 3, 1, 3)

Un reel y F (2, 3, 1, 3) secrit :


 
e 1 d2 d3
y =2 + + , 1 e 3, d2 , d3 {0, 1}
2 4 8

0, 25

0 0, 5 1 2 3 4 5 6 7 8

Ecart entre deux nombres consecutifs 2 a chaque puissance de 2

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Standard IEEE 754 et epsilon machine

Dans le standard IEEE 754 utilise par Matlab, on a = 2 et :


en simple precision : t = 24, emin = 125, emax = 128,
en double precision : t = 53, emin = 1021, emax = 1024.

Definition
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, cest la variable eps.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Ecart entre deux nombres consecutifs

Proposition
Pour F (, t, emin , emax ), on a M = 1t .

Proof.
1
On a 1 = = 10 . . . 0 .

Nombre suivant : 10 . . . 1 = ( 1 + 1
t ) = 1 + 1t .

Lemme
Dans le systeme de nombres a virgule flottante F (, t, emin , emax ),
lecart |y x| entre un nombre flottant x (non nul) et un nombre
flottant y (non nul) adjacent verifie 1 M |x| |y x| M |x|.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Representation physique et arrondi

Representation physique :
simple precision 32 bits (bit = binary digit), 8 bits sont reserves
a lexposant et 24 bits (dont 1 pour le signe) a la mantisse.
double precision 64 bits, 11 bits sont reserves a lexposant et
53 bits (dont 1 pour le signe) a la mantisse.

Arrondi :
1 par troncature : par exemple avec 3 chiffres, 0, 8573 . . . devient
0, 857.
2 au plus pres : 0, 8573 . . . devient 0, 857.
3 au representant le plus proche dont la derniere decimale est
paire (rounding to even) : 0, 8573 . . . devient 0, 858.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formalisation

Definition
Soit G = G (, t) = {y R | y = m et } sans conditions sur
lexposant e. Lapplication fl : R G , x 7 fl(x) est appelee
operation darrondi.

Etant donne un domaine F (, t, emin , emax ), il y a alors


depassement de capacite si :
1 |fl(x)| > max{|y | | y F }. On parle doverflow
2 |fl(x)| < min{|y | | y F }. On parle dunderflow
Sinon, x est dans le domaine de F .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Erreur darrondi

Definition
Soit x un reel et x une valeur approchee de x.
Lerreur absolue e est defini par e = |x x|.
Lerreur relative est | xe |.
Le pourcentage derreur est lerreur relative multipliee par 100.

En pratique, on ne connait en general pas la valeur exacte x mais


on peut souvent avoir une idee de lerreur maximale e que lon a pu
commettre : dans ce cas, on majore la quantite | xe |

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Estimation de lerreur darrondi - unite derreur darrondi

Theoreme
Soit x un reel. Si x est dans le domaine F (, t, emin , emax ), alors il
existe R avec || < u = 12 1t = 12 M tel que fl(x) = x (1 + ).

Lerreur relative sur larrondi est egale a || < u : le nombre u


sappelle unite derreur darrondi

Exemple : standard IEEE 754 utilise par Matlab, on a


u = 224 5, 96.108 en simple precision
u = 253 1, 11.1016 en double precision.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Modele de larithmetique flottante

Modele Standard (utilise par le standard IEEE) :



Soit x, y F (, t, emin , emax ). Pour op {+, , , , }, on
definit
1 1t 1
x op y = fl(x op y ) = (x op y ) (1 + ), || < u = = M
2 2

Nous allons maintenant nous interesser aux erreurs faites par op

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Analyse derreurs : non-associativite

Contrairement a op, loperation op nest pas associative:

(x op y ) op z 6= x op (y op z)

Ceci est du aux erreurs darrondi !


Par exemple, supposons que les reels soient calcules avec 3 chiffres
significatifs et arrondis a la decimale la plus proche et cherchons a
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 Numerique


Analyse derreurs : erreurs darrondi sur une somme

Calculer S = u1 + u2 + + un dans F (, t, emin , emax )

On calcule alors les sommes partielles Si par la recurrence S0 = 0,


Si = Si1 + ui

Si ui connus exactement, alors les erreurs darrondi Si commises


sur le calcul des sommes partielles Si verifient

Si Si1 + (Si1 + ui ) = Si1 + Si , || < u

Lerreur globale sur S = Sn verifie donc S (S2 + + Sn ),

S (un + 2 un1 + 3 un2 + + (n 1) u2 + (n 1) u1 ).

Erreur minimale en sommant dabord les termes les plus petits

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Analyse derreurs : erreurs darrondi sur un produit
Calculer P = u1 u2 . . . un dans F (, t, emin , emax )

On calcule alors les produits Pi par la recurrence P0 = 1,


Pi = Pi1 ui

Si ui connus exactement, alors les erreurs darrondi Pi commises


sur le calcul des Pi verifient

Pi (Pi1 ) ui + (Pi1 ui ) = Pi1 ui + Pi , || < u

Lerreur globale sur P = Pn verifie donc

P (k 1) Pn .

Contrairement au cas de laddition, la majoration de lerreur ne


depend pas de lordre des facteurs.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Phenomenes de compensation (1)

Phenomenes qui se produisent lorsque lon tente de soustraire des


nombres tres proches

Exemple 1 : E = x + 1 x avec x > 0
Sous Matlab, on obtient :
pour x = 109 , E = 1, 5811.105
pour x = 1016 , E = 0 !
1
Si lon remarque que E = x+1+ x
, alors, en utilisant cette
nouvelle formule, on trouvera :
pour x = 109 , E = 1, 5811.105
pour x = 1016 , E = 5, 000.109 !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Phenomenes de compensation (2)
Phenomenes qui se produisent lorsque lon tente de soustraire des
nombres tres proches
Exemple 2 : equation du second degre x 2 1634 x + 2 = 0.
Supposons que les calculs soient effectues 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 remedier, 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 Numerique
Phenomenes dinstabilite numerique (1)
Phenomenes damplification derreur darrondi : se produisent
pour des calculs recurrents ou iteratifs
R 1 xn
Exemple 1 : calcul de In = 0 10+x dx, n N
Calcul direct :
 
11 1
I0 = ln , In = 10 In1
10 n

calcul de In par recurrence


Numeriquement, resultats tres mauvais !
Explication : erreur darrondi In verifie In 10 In1 et croit
exponentiellement: lerreur sur I0 est multipliee par 10n sur In .
Cette formule de recurrence ne peut pas nous permettre de
calculer la valeur de I36 par exemple
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Phenomenes dinstabilite numerique (2)
Phenomenes damplification derreur darrondi : se produisent
pour des calculs recurrents ou iteratifs
xn
R1
Exemple 1 : calcul de In = 0 10+x dx, nN
Pour remedier a ce probleme, on peut renverser la recurrence :
1 1
In1 = 10 n In .
1
on obtient alors In1 10 In .

1 1
10 10 + x 11 = In
11 (n + 1) 10 (n + 1)
1
Approximation In 11 (n+1) valeur de depart pour notre
1
recurrence renversee. Exemple, I46 11 (46+1) , on obtient pour I36
10
une erreur relative meilleure que 10 .
Importance du coefficient damplification derreur
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Phenomenes dinstabilite numerique (3)

Phenomenes damplification derreur darrondi : se produisent


pour des calculs recurrents ou iteratifs

Exemple 2 : On considere la suite definie par (J.-M. Muller) :



u = 2,
0


u1 = 4,
1130 3000
un = 111 + ,


un1 un1 un2

Limite theorique 6 mais en pratique 100 !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Phenomenes dinstabilite numerique (4)

1130 3000
Explication : solution generale de un = 111 + :
un1 un1 un2

100n+1 + 6n+1 + 5n+1


un = ,
100n + 6n + 5n
ou , et dependent 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
A cause des erreurs darrondi, meme les premiers termes calcules
seront differents des termes exacts et donc la valeur de
correspondant a ces termes calcules sera tres petite mais non-nulle
ce qui suffira a faire en sorte que la suite converge vers 100 au lieu
de 6.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Erreur amont et erreur aval
Considerons un probleme que lon resout a laide dun algorithme
numerique : entree x y = f (x)
En pratique, compte tenu des erreurs darrondis, etant donnee une
entree 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
algebrique f (x + x) correspondant a lentree x + x soit egale a y .
Erreur aval erreur amont Conditionnement.
Erreur amont plus interessante :
nous renseigne sur le probleme qui est reellement resolu par
lalgorithme numerique
en pratique, nous ne connaissons en general quune valeur
approchee de lentree
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Outils theoriques de lanalyse derreurs
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
on a |i | < u et si k u < 1, alors il existe
Si pour tout i = 1, . . . , k, Q
ku k
k tel que |k | 1k u et i=1 (1 + i ) 1 + k .
Qk
Notation < k >= i=1 (1 + i ) avec < j > . < k >=< j + k >.

fl((x y ) + z) = (x y ) < 2 > +z < 1 >


2u u
(x y ) (1 + 12 u ) + z (1 + 1u ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 2
Resolution dun systeme
dequations lineaires (Partie
1) : methodes directes

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Systemes lineaires

Beaucoup de problemes se reduisent a la resolution numerique


dun systeme dequations lineaires

Deux grandes classes de methodes :


1 Methodes directes : determinent explicitement la solution apres
un nombre fini doperations arithmetiques
2 Methodes iteratives (sur R ou C mais pas Fp ) : consistent a
generer une suite qui converge vers la solution du systeme

Autres methodes non abordees dans ce cours :


Methodes intermediaires : Splitting, decomposition incompletes
Methodes probabilistes comme celle de Monte-Carlo

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Objet de letude



a1,1 x1 + a1,2 x2 + + a1,n xn = b1
a2,1 x1 + a2,2 x2 +

+ a2,n xn = b2
(S) .. ..


. .
an,1 x1 + an,2 x2 + + an,n xn = bn

Donnees : 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 Numerique


Ecriture matricielle

(S) A x = b,

a1,1 a1,2 . . . a1,n
..
a2,1 . . .

.
A= . .. Mnn (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 Numerique


Motivation (1)

Pourquoi ce probleme se pose-t-il ?

En effet, les formules de Cramer donnent la solution :


a1,1 . . . a1,(i1) b1 a1,(i+1) . . . a1,n

.. .. ..
. . .

an,1 . . . an,(i1) bn an,(i+1) . . . an,n
i {1, . . . , n}, xi = .
det(A)

Regardons le nombre doperations necessaires !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Motivation (2)

Regardons le nombre doperations necessaires !

Lemme
Le nombre doperations necessaires pour resoudre le systeme a laide
des formules de Cramer est de (n + 1) (n n! 1) operations a virgule
flottante.

Lorsque n = 100, nombre doperations de lordre de 9, 4.10161 !

Ordi. fonctionnant a 100 megaflops, environ 3.10146 annees !

Impossible dutiliser Cramer pour resoudre de grands systemes !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Resolution dun systeme triangulaire

Idee des methodes directes : se ramener a la resolution d1 (ou 2)


systeme triangulaire

A triangulaire superieure : (S) secrit :




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

Systeme facile a resoudre : algorithme de substitution retrograde

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Resolution dun systeme triangulaire : exemple

On considere le systeme triangulaire superieur :



x1 + 2 x2 +
5 x3 = 1
(S) 4 x2 16 x3 = 25
17 x3 = 17


8

1
3ieme equation : x3 = 8
5/2 + 16 x3 1
2ieme equation : x2 = = 8
4
1 2 x2 5 x3 1
1iere equation : x1 = = 8
1

Idem si A triang. inf. : algorithme de substitution progressive

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Systeme triangulaire : # operations et proprietes

Lemme
La resolution dun systeme dequations lineaires triangulaire se fait
en n2 operations a virgule flottante.

Lemme (Proprietes)
Soient A, B Mnn (K) deux matrices triangulaires superieures. On
a alors les resultats suivants :
1 A B est triangulaire superieur
2 Si A et B sont a diagonale unite (i.e., nont que des 1 sur la
diagonale), alors A B est a diagonale unite
3 Si A est inversible, alors A1 est aussi triangulaire superieure
4 Si A est inversible et a diagonale unite, alors A1 est aussi a
diagonale unite.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


3 methodes directes etudiees dans la suite

1 Methode de Gauss : systeme (M A) x = M b avec M A


triang. sup. (sans calculer explicitement M).
Associee a 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 Methode de Cholesky
Associee a la factorisation de Cholesky A = R T R avec R
triang. sup., A x = b R T y = b, R x = y
Methode valable pour A symetrique et definie positive
3 Methode de Householder
Associee a la factorisation A = Q R avec R triang. sup. et Q
ortho., Q produit de n 1 matrices de Householder Hi .
A x = b secrit alors Hn1 H2 H1 A x = Hn1 H2 H1 b
facile a resoudre car Hn1 H2 H1 A triang. sup.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode 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)

Etape 1

(1)
A inversible on suppose (quitte a permuter lignes) a1,1 6= 0.
Cest le premier pivot de lelimination de Gauss
(1)
ai,1
Pour i = 2, . . . , n, on remplace Li par Li gi,1 L1 ou gi,1 = (1)
a1,1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode 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 , i, j = 2, . . . , n

(2) (1)
b = b1
1(2)


(1) (1)

bi = bi gi,1 b1 , i = 2, . . . , n
La matrice A(2) et le vecteur b (2) sont donc de la forme :
(1) (1) (1)

a1,1 a1,2 . . . a1,n (1)
(2) (2) b
1(2)

0 a2,2 . . . a2,n

.. ..
b2
A(2) = 0 (2)

. , b =

. ..

.
.
. .. ..
. . .

(2)
(2) (2)
bn
0 an,2 . . . an,n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Gauss : description (3)

Etape k

On a ramene le systeme a (S (k) ) : A(k) x = b (k) avec


(1) (1) (1)
a1,1 ... ... a1,k ... a1,n
(2) (2) (2)
0 a2,2 a2,k ... a2,n


(3) (3) (3)

0 0 a3,3 a3,k ... a3,n

. .. .. .. .. ..
..

(k)
. . . . .
A =

(k) (k)
0 ... 0 0 ak,k ... ak,n


.. ..

(k) (k)
. . 0 ak+1,k . . . ak+1,n
.. .. .. .. ..


. . . . .
(k) (k)
0 ... 0 0 an,k ... an,n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Gauss : description (4)
(k)
A inversible on suppose (quitte a permuter lignes) ak,k 6= 0.
Cest le kieme pivot de lelimination de Gauss
(k)
ai,k
Par le meme principe qua letape 1 et en utilisant gi,k = (k) pour
ak,k
i > k, on obtient alors (S (k+1) ) : A(k+1) x = b (k+1) avec
(1) (1) (1)
a1,1 ... . . . a1,k+1 ... ... a1,n
(2) (2) (2)
0 a2,2 a2,k ... ... a2,n


(3) (3) (3)

0 0 a3,3 a3,k ... ... a3,n

. .. .. .. .. ..
..

. . . . .
A(k+1) =

(k) (k)
0 ... 0 0 ak,k ... ... ak,n


.. ..

(k+1) (k+1)
. . 0 0 ak+1,k+1 . . . ak+1,n
.. .. .. .. .. ..


. . . . . .
(k+1) (k+1)
0 ... 0 0 0 an,k+1 . . . an,n
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de Gauss : description (5)

Etape n 1

Le systeme (S (n) ) : A(n) x = b (n) obtenu est triangulaire


superieure avec

(1) (1)
a ... . . . a1,n
1,1 (2) (2)
0 a2,2 a2,n

(3) (3)
A(n) = 0 0 a3,3 a3,n

. .. .. .. ..
. . . .
. .

(n)
0 ... 0 0 an,n

On peut le resoudre par lalgorithme de substitution retrograde

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode 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 lelimination de Gauss est donc a1,1 = 1 et on
(1) (1)
a g2,1 = 3, g3,1 = 0. La premiere etape fournit donc

x1 +
2 x2 + 5 x3 = 1,
(2)
(S ) 4 x2 16 x3 = 52 ,

5 x2 + 3 x3 = 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Gauss : exemple (2)

(2)
Le second pivot de lelimination de Gauss est donc a2,2 = 4 et
(2)
on a g3,2 = 54 . On obtient donc le systeme

x1 +
2 x2 + 5 x3 = 1,
(3)
(S ) 4 x2 16 x3 = 52 ,
17 x3 = 17

8 .

1
Algorithme de substitution retrograde x1 = x2 = x3 = 8

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Point de vue numerique : strategies de choix du pivot (1)

Au cours de lexecution de lelimination de Gauss, si on tombe sur


un pivot nul, alors on permute la ligne en question avec une ligne en
dessous pour se ramener a un pivot non nul (ceci est toujours
possible car A est supposee inversible).

Certains choix de pivots peuvent saverer plus judicieux que dautres.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Point de vue numerique : strategies de choix du pivot (2)

Exemple : considerons le systeme (S) : A x = b ou


   
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 = 12
1

Supposons maintenant que est tres petit (0  < 1) et


appliquons lelimination de Gauss

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Point de vue numerique : strategies de choix du pivot (3)

1
Premier pivot , g2,1 = (S (2) ) : A(2) x = b (2) avec
   
(2) 1 (2) 1
A = 1 , b = 1 .
0 1 2

1 x2 1 dou x2 1 et x1 0 ce qui est faux !

Lerreur ne provient pas seulement du fait que est tres petit car
si on multiplie la premiere ligne par une puissance de 10 quelconque,
on va trouver la meme erreur ...

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Point de vue numerique : strategies de choix du pivot (4)

Notons x2 = x2 + x2 ou |x2 | est lerreur absolue sur x2

On a alors
1 x2 1 x2 x2
x1 = = ,

1
Erreur x1 = x2 sur x1 tres amplifiee par rapport a x2 .

Cause = desequilibre entre coeffs de x1 et x2 sur la ligne du pivot

Pour y remedier, echanger les lignes et appliquer Gauss avec 1


comme pivot. On obtient alors
   
(2) 1 1 2
A = , b= ,
0 1 1 2

dou x2 1 et x1 1 ce qui est correct.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Elimination de Gauss a pivot partiel

A letape k, on echange 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

a la premiere etape, on permute les lignes 1 et 2:


1

3 x1 + 2 x2 x3
= 2
0
(S ) : x1 + 2 x2 + 5 x3 = 1

5 x2 + 3 x3 = 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Elimination de Gauss a pivot total
A letape k, on echange a 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 echange des colonnes, cela modifie lordre des
composantes de x donc il faut penser a retablir le bon ordre a la fin.
Exemple : pour

x1 + 2 x2 + 5 x3 = 1

(S) : 3 x1 + 2 x2 x3 = 12

5 x2 + 3 x3 = 1

a la premiere etape, on permute les colonnes 1 et 3 :



5 x3 + 2 x2 + x1
= 1
0 1
(S ) : x3 + 2 x2 + 3 x1 = 2

3 x3 + 5 x2 = 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Lien avec la factorisation LU dune matrice (1)
Definition
On appelle factorisation LU de A une facto. A = L U avec L triang.
inf. et U triang. sup. (de la meme taille que A).

Lemme
A letape k de lelimination de Gauss, on a A(k+1) = Gk A(k) ou

1 (0) 0 ... 0
. .. .. ..
. . (k)
a

(0) 1 0 ... 0 , gi,k = i,k
Gk = 0 . . . 0 gk+1,k 1
(0)

(k)
ak,k
.. .. .. ..
. . . .
0 ... 0 gn,k (0) 1

On a de plus b (k+1) = Gk b (k) .


Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Lien avec la factorisation LU dune matrice (2)
Definition
Soit A Mnn (K). Les mineurs fondamentaux Dk , k = 1, . . . , n de
A sont les determinants des sous-matrices de A formees par les k
premieres lignes et les k premieres colonnes de A :

Dk = det ((ai,j )1i,jk ) , k = 1, . . . , n.

Theoreme
Soit A Mnn (K) une matrice carree inversible. Les proprietes
suivantes sont equivalentes :
(i) Lelimination de Gauss seffectue sans permutation de lignes ;
(ii) Il existe L Mnn (K) triangulaire inferieure inversible et
U Mnn (K) triangulaire superieure inversible telles que
A = LU ;
(iii) Tous les mineurs fondamentaux de A sont non nuls.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Lien avec la factorisation LU dune matrice (3)

Lemme
Avec les notations precedentes, on a

1 0 ... ... 0
.. ..
g2,1
1 . .

1
(Gn1 Gn2 G1 ) = g3,1 g3,2 1
. . .
.
.
. .
.. ..

.. ..
. .

. . 0
gn,1 gn,2 . . . gn,n1 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Lien avec la factorisation LU dune matrice (4)

Corollaire
Soit A Mnn (K) une matrice carree inversible. Si tous les
mineurs fondamentaux de A sont non nuls, alors avec les notations
precedentes, lelimination de Gauss fournit la factorisation LU de A
suivante :

1 0 ... ... 0 a
(1)
... ...
(1)
a1,n

.. 1,1
.. (2) (2)
g2,1
1 . 0
.
a2,2 a2,n

A = g3,1
.. .. 0 0
(3)
a3,3
(3)
a3,n

.
g3,2 1 . .
. ..


. .. .. .. . .. .. ..
.. . . . 0 . . . . .
(n)
gn,1 gn,2 ... gn,n1 1 0 ... 0 0 an,n

Remarque : la matrice L obtenue est a diagonale unite.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Factorisation LU : exemple

Pour la matrice du systeme



x1 + 2 x2 + 5 x3 = 1

1
(S) : 3 x1 + 2 x2 x3 = 2

5 x2 + 3 x3 = 1

on a :

1 2 5 1 0 0 1 2 5
3 2 1 = 3 1 0 0 4 16
0 5 3 0 54 1 0 0 17
| {z } | {z }| {z }
A L U

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Lien avec la factorisation LU dune matrice (5)

Proposition
Soit A Mnn (K) une matrice carree inversible admettant une
factorisation LU. Alors il existe une unique factorisation LU de A
avec L a diagonale unite.

Lorsque A admet une factorisation LU, la resolution du systeme


dequations lineaires (S) : A x = b se ramene a la resolution de
deux systemes lineaires triangulaires. En effet :

L y = b,
A x = b L U x = b
U x = y.

En pratique, on resout donc dabord L y = b puis connaissant y


on resout U x = y .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Matrice de permutation

Definition
On appelle matrice de permutation associee a une permutation
Sn , la matrice P = (i(j) ) ou 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 a gauche (resp. a droite) par une matrice de
permutation revient alors a permuter des lignes (resp. les colonnes)
Les matrices de permutation sont orthogonales : P1 = PT .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Lien avec la factorisation LU dune matrice (6)

Nous avons vu une CNS pour quune matrice inversible admette


une factorisation LU. Lorsque cette factorisation LU nexiste pas, on
peut tout de meme utiliser le theoreme suivant :
Theoreme
Soit A Mnn (K) une matrice carree inversible. Il existe une
matrice de permutation P telle que P A admette une factorisation
LU.
Notons que dans ce cas, on a :

Ly = P b,
A x = b P A x = P b L U x = P b
Ux = y.

En pratique, on resout donc dabord L y = P b puis connaissant y


on resout U x = y .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cout de lalgorithme de Gauss

Lemme
Soit A Mnn (K) une matrice carree inversible. Resoudre un
systeme lineaire (S) : A x = b via lelimination de Gauss necessite
3
un nombre doperations a virgule flottante equivalent a 2 3n lorsque
n tend vers linfini. Ce cout asymptotique est aussi celui du calcul
de la factorisation LU de A.

Pour n = 100, cela donne 6, 6.105 operations a virgule flottante a


comparer a 9, 4.10161 avec Cramer

Avec un ordinateur fonctionnant a 100 megaflops, cela prendra


moins de 7 milliemes de secondes. A comparer avec 3.10146 annees
pour Cramer

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Faut-il inverser une matrice ?

Etant donnee la factorisation LU de A, le cout du calcul de


3
linverse A1 de A lorsque n tend vers linfini est de 4 3n operations
a virgule flottante

Au total, lorsque n tend vers linfini, il faut donc 2 n3 operations a


virgule flottante pour calculer linverse de A

Asymptotiquement (i.e., lorsque n tend vers linfini), il faut 3 fois


plus doperations a virgule flottante pour calculer linverse de A que
pour resoudre le systeme lineaire A x = b en utilisant lelimination
de Gauss

Il ne faut pas calculer linverse dune matrice pour resoudre un


systeme lineaire

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Resolution de plusieurs systemes de meme matrice A

Soit A Mnn (K) une matrice carree inversible et supposons que


lon ait a resoudre K systemes lineaires avec la meme matrice A et
N seconds membres b [1] , . . . , b [K ]
4 n3 +9 n2 7 n
Gauss a chacun de ces systemes K 6 flops

Facto. LU de A
 puis resolution
 successive des 2 K systemes
4 n3 +3 n2 7 n
triangulaires 6 + 2 K n2 flops

Calcul de linverse A1 de A puis resolution successive des


systemes en posant x [i] = A1 b [i] 2 n3 + 2 K n2 flops

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Cholesky (1)
Alternative a Gauss pour matrices symetriques et definies positives

Definition
Une matrice A Mnn (K) est dite symetrique si elle est egale a sa
transposee, i.e., AT = A.

Definition
Soit K = R ou C. Le produit scalaire canonique sur Kn est defini
comme lapplication h. , .i : Kn Kn K, (u, v ) 7 hu, v i qui
verifie :
Si K = R, hu, v i = v T u = ni=1 ui vi (produit scalaire
P
euclidien),
Si K = C, hu, v i = v T u = ni=1 ui vi (produit scalaire
P
hermitien).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Cholesky (2)
Definition
Une matrice A Mnn (K) est dite definie positive, resp. semi
definie positive si pour tout x Rn non nul, on a hA x, xi > 0, resp.
hA x, xi 0.

1 Une matrice definie positive est inversible ;


2 Si A Mnn (K) est inversible, alors AT A est symetrique et
definie positive ;
3 Si A = (ai,j ) Mnn (K) est definie positive, alors ai,i > 0
pour tout i = 1, . . . , n.
Theoreme
Une matrice reelle A Mnn (R) est symetrique definie positive ssi
il existe une matrice L = (li,j )1i,jn Mnn (R) triangulaire
inferieure 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 Numerique
Algorithme de Cholesky

Entree : A = (ai,j )1i,jn Mnn (R) symetrique et definie


positive.
Sortie : L = (li,j )1i,jn Mnn (R) tel que A = L LT .
1 l

1,1 = a1,1 ;
2 Pour i de 2 a n par pas de 1, faire :
ai,1
li,1 = l1,1 ;
3 Pour j de 2 a n par pas de 1, faire :
Pour i de 1 a j 1 par pas de 1, faire :
li,j = 0 ;
q Pj1 2
lj,j = aj,j k=1 lj,k ;
Pour i de j + 1 a n par pas de 1, faire :
Pj1
ai,j k=1 li,k lj,k
li,j = lj,j
;
4 Retourner L = (li,j )1i,jn Mnn (R).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cout de lalgorithme de Cholesky

Proposition
Lalgorithme de Cholesky decrit ci-dessus necessite n extractions de
racines carrees et un nombre doperations a virgule flottante
3
equivalent a n3 lorsque n tend vers linfini.

Asymptotiquement, presque deux fois moins doperations a virgule


flottante que pour LU

Il est conseille de lutiliser lorsque A est reelle symetrique et


definie positive

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Matrices de Householder

Ici A Mnn (R) est une matrice reelle inversible

Definition
On appelle matrice (elementaire) de Householder une matrice H de
la forme Hu = In 2 u u T , ou u Rn est un vecteur unitaire
cest-a-dire de norme 1 pour la normepassociee au produit scalaire
canonique sur Rn definie par kuk = hu, ui.

Exemple : pour n = 3, on peut considerer le vecteur


T
u = 16 1 1 2 qui verifie 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 Numerique


Matrices Orthogonales
Definition
Une matrice A Mnn (K) est dite orthogonale si elle est reelle,
i.e., A Mnn (R) et si A AT = AT A = In .

Proposition
Toute matrice de Householder H est symetrique et orthogonale.

Proposition
Pour tout vecteur u Rn tel que kuk = 1, on a Hu u = u. De
plus, si v Rn est orthogonal a u, i.e., hu, v i = 0, alors Hu v = v .

Hu represente la symetrie orthogonale par rapport a 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 Numerique
Principe de la methode de Householder

Methode basee sur les deux propositions suivantes :


Proposition
Soit v un vecteur non nul de Rn . Alors il existe une matrice de
Householder H et un reel tels que H v = e1 , ou
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 decompose alors u en deux blocs : u = (0 z)T
avec z Rnp . La matrice de Householder  Hu se decompose
 alors
Ip 0
par blocs de la maniere suivante : Hu = .
0 Hz

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder






A=



Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder






A=



Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H1 A =
0

0
0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H1 A =
0

0
0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H 2 H1 A =
0 0

0 0
0 0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H 2 H1 A =
0 0

0 0
0 0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H 3 H2 H1 A =
0 0

0 0 0
0 0 0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H 3 H2 H1 A =
0 0

0 0 0
0 0 0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Principe de la methode de Householder




0

H4 H3 H 2 H1 A =
0 0 =R

0 0 0
0 0 0 0
Donc A = (H4 H3 H2 H1 )T R.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple (1)

2 x1 + x2 + 2 x3 = 1,
(S) : x1 + x2 + 2 x3 = 1,
2 x1 + x2 + x3 = 1.

Etape 1
1iere colonne de A donnee par (S) : a1 = (2 1 2)T
a1 1
v1 = ka1 k e1 = 3 (1 1 2)T
v1
T
u1 = = 1 1 1 2
kv1 k 6
2 1 2
Matrice de Householder Hu1 = 13 1 2 2
2 2 1

9 5 8 x1 5
A x = b Hu1 A x = Hu1 b 0 1 4 x2 = 1
0 1 1 x3 1
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Exemple (2)

Etape 2

Dans R2 et on considere le vecteur a2 = (1 1)T


a2
z20 = e10 ou e10 = (1, 0)
ka2 k
 
z20 1 1 1
z2 = kz 0 k et Hz2 = 2
2 1 1
 
T 1 0
u2 = 0 z2 et Hu2 =
0 Hz2
9 5 8

5
x
1 5
A x = b Hu2 Hu1 A x = Hu2 Hu1 b 0 2 x2 = 2

2
0 0 3 x3 0
2

Systeme triangulaire et x = (0 1 0)T .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Factorisation QR dune matrice

Definition
Soit A Mnn (R) une matrice carree reelle inversible. On appelle
factorisation QR de A une factorisation de la forme A = Q R avec
Q Mnn (R) orthogonale et R Mnn (R) triangulaire superieure.

Generalisation de lexemple precedent pour A quelconque de


taille n, on obtient n 1 matrices de Householder H1 , . . . , Hn1
telles que R = Hn1 Hn2 H1 A triang. sup.
Q = (Hn1 Hn2 H1 )1 (orthogonale) de sorte que A = Q R
Theoreme
Pour toute matrice reelle A Mnn (R), il existe une matrice
orthogonale Q Mnn (R) produit dau plus (n 1) matrices de
Householder et une matrice triangulaire superieure R Mnn (R)
telles que A = Q R.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cout de la factorisation QR

Proposition
La methode de Householder pour resoudre un systeme lineaire
necessite un nombre doperations a virgule flottante equivalent a
4 n3
3 lorsque n tend vers linfini.

Cout relativement eleve compare a Gauss ou Cholesky.

Plus stable numeriquement que Gauss ou Cholesky

Factorisation QR existe pour des matrices rectangulaires : utilise


pour des problemes de moindres carres (voir TP).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 3
Conditionnement dune matrice
pour la resolution dun systeme
lineaire

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Normes vectorielles

Soit E un espace vectoriel sur K = R ou C.


Definition
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 definies par :

n n
!1
2
X X 1
kxk1 = |xi |, kxk2 = |xi |2 = hx, xi 2 , kxk = max |xi |
1in
i=1 i=1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Normes matricielles et normes subordonnees

Definition
Une norme k.k sur Mnn (K) est une norme matricielle si elle
verifie : (A, B) Mnn (K)2 , kA Bk kAk kBk.

Exemple fondamental : normes dites subordonnees associees a une


norme vectorielle :

Theoreme et Definition
Soit k.k une norme vectorielle sur Kn . Pour toute matrice
A Mnn (K), on definit k.kM : Mnn (K) R+ par
kAkM = supxKn \{0} kA xk
kxk . Alors k.kM est une norme matricielle.
Elle est dite norme subordonnee a la norme vectorielle k.k.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Normes subordonnees classiques
Normes subordonnees associees aux normes vectorielles k.k1 , k.k2
et k.k de Rn : A = (ai,j )1i,jn Mnn (K) :
n
X
kAk1 = max |ai,j |
1jn
i=1

p
kAk2 = (A A )

n
X
kAk = max |ai,j |
1in
j=1

ou :
T
A = A designe la matrice adjointe de A
(M) designe le rayon spectral dune matrice M cad le
maximum des modules des valeurs propres de M.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Conditionnement dune matrice : exemple

Considerons le systeme lineaire (S) : A x = b avec



10 7 8 7 32
7 5 6 5 23
A= 8
, b = .
6 10 9 33
7 5 9 10 31

On remarque que :
A est symetrique
det(A) = 1
la solution de (S) est donnee par x = (1 1 1 1)T

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Premier cas : b est perturbe (1)
Perturbons legerement le second membre b et considerons

32, 1
22, 9
b0 =
33, 1
30, 9

Si on resout le systeme (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 entrane donc une


forte perturbation sur la solution du systeme

Dune maniere generale, pour A x = b et A (x + x) = b + b :

kxk kbk
kA1 k.kAk. .
kxk kbk

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Premier cas : b est perturbe (2)

Majoration optimale : il nexiste pas de borne plus petite qui soit


valable pour tout systeme !
 
1 0
A= , b = (1 0)T , et b = (0 12 )T
0 12

Solution de A x = b : x = (1 0)T et celle de A x = b est


x = (0 1)T
kxk kbk 1
kxk = 1, kbk = 2

Or kA1 k.kAk = 2 donc la borne est atteinte.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Deuxieme cas : A est perturbee

Si on perturbe legerement la matrice A :



10 7 8, 1 7, 2
7, 08 5, 04 6 5
A00 =

,
8 5, 98 9, 89 9
6, 99 4, 99 9 9, 98

Solution de (S 00 ) : A00 x 00 = b : x 00 = (81 107 34 22)T .

Dune maniere generale, pour A x = b et (A + A) (x + x) = b :

kxk kAk
kA1 k.kAk.
kx + xk kAk

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Conditionnement : definition

Definition
Soit k.k une norme matricielle subordonnee et A une matrice
inversible. Le nombre Cond(A) = kA1 k.kAk sappelle le
conditionnement de A relatif a la norme k.k.

Ce nombre mesure la sensibilite de la solution par rapport aux


donnees du probleme

Une matrice est :


bien conditionnee si Cond(A) 1
mal conditionnee si Cond(A)  1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemples
Matrices bien conditionnees

4 1 0 ... 0
.. ..
1 4
1 . .

A= 0 1
. .. ..
Cond (A) 3
. 0
.. . . . .

..
. . .

. 1
0 ... 0 1 4
Matrices mal conditionnees : matrices Hn et Vn
   i1 !
1 j
Hn = , Vn =
i + j 1 1i,jn n
1i,jn

n Cond(Hn ) Cond(Vn )
2 27 8
4 2, 8.104 5, 6.102
6 2, 9.107 3, 7.104
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Propriete du conditionnement

Proposition
Soit A une matrice reelle
p et considerons la norme matricielle
subordonnee kAk2 = (A A ). On a
s
(A AT )
Cond2 (A) = kA1 k2 .kAk2 = ,
(A AT )

ou (M) designe le minimum des modules des valeurs propres de M.


(A)
En particulier, si A est symetrique, alors on a Cond2 (A) = (A) .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Estimation theorique de lerreur a priori (1)

Theoreme (Cas b perturbe)


Soit A Mnn (R) inversible et b Rn tels que A x = b et
A (x + x) = b + b avec x 6= 0. Alors on a :

1 kbk kxk kbk


. Cond(A). ,
Cond(A) kbk kxk kbk

Theoreme (Cas A perturbee)


Soit A Mnn (R) inversible, b Rn et A Mnn (R) tels que
kA1 k.kAk < 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 :

kxk Cond(A). kAk


kAk
.
kxk 1 Cond(A). kAk
kAk

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Estimation theorique de lerreur a priori (2)

Theoreme (Cas A et b perturbes)


Soit A Mnn (R) inversible, b Rn et A Mnn (R) verifiant
kA1 k.kAk < 1. Si lon suppose que A x = b et
(A + A) (x + x) = b + b avec x 6= 0, alors on a :
 
kxk Cond(A) kbk kAk
+ .
kxk 1 Cond(A). kAk
kAk
kbk kAk

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Estimation theorique de lerreur a posteriori

A x = b, ? erreur commise sur la solution reellement calculee

x la solution exacte, y la solution obtenue. r = A y b (residu)


Theoreme
kr k
ky xk Cond(A). .kxk.
kbk

Conditionnement est grand erreur relative peut etre grande


Difficile a utiliser car en general conditionnement inconnu !
C approximation de A1 (par Gauss), R = A C In
Theoreme
kr k.kC k
Si kRk < 1, alors ky xk 1kRk .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 4
Resolution dun systeme
dequations lineaires (Partie
2) : methodes iteratives

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Motivation

Les methodes directes exigent un nombre de flops de lordre de n3


lorsque n devient grand ce qui les rend lentes !

Methodes iteratives deviennent indispensables des que la taille n


du systeme est grande, n 1000

De tels systemes apparaissent par exemple dans les techniques de


resolution numerique dequations aux derivees partielles

Les matrices des systemes obtenus sont en general creuses (cad


quelles ont beaucoup de 0) et (semi) definies positives

Les methodes iteratives sappliquent sur R ou C mais pas Fp !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple introductif (1)

Donnee : une fonction f : R2 R

Probleme : trouver une solution approchee u : R2 R de :



u = f , (x, y ) =]0, 1[]0, 1[,
u = 0, (x, y ) ,
ou :
2 u 2 u
u = x 2
+ y 2
designe le laplacien de la fonction u
la frontiere de

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple introductif (2)

Discretisation de =]0, 1[]0, 1[ de pas h

? fonction etagee u t.q. u u lorsque h 0

1 X
h= , u= ui,j i,j
n+1
i,j

i,j fonction caracteristique du pave

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 nuds du quadrillage.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple introductif (3)


P2,3

x2,3

h
x
h 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple introductif (4)
Definition de la derivee dune fonction : h suffisamment petit :

u u(x + h2 , y ) u(x h2 , y )
,
x h

2 u u(x + h, y ) 2 u(x, y ) + u(x h, y )


2

x h2

Approximations par differences finies

4 ui,j ui1,j ui+1,j ui,j1 ui,j+1 = h2 fi,j ,


X 
f = fi,j i,j
u0,j = un+1,j = ui,0 = ui,n+1 = 0,
i,j

schema numerique dit implicite


Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Exemple introductif (5)
Systeme lineaire associe :

4 1 0 ... 0
. ..
1 . .

1 4 .

M = 0 1
.. .. Mnn (R)

. . 0
..

.. .. ..
. . . 1

.
0 ... 0 1 4

Xj = (u1,j u2,j ... un,j )T , X = (X1T X2T ... XnT )T

Fj = (f1,j f2,j ... fn,j )T , F = (F1T F2T ... FnT )T

En definissant de plus X0 = Xn+1 = 0, le systeme precedent


secrit:

Xj1 + M Xj Xj+1 = h2 Fj , 1j n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple introductif (6)


M In 0 ... 0
.. ..
In M In
. .

A X = h2 F , A = 0 In . . . .. Mn2 n2 (R)

. 0
..

.. .. ..
. . . In

.
0 ... 0 In M

A est symetrique reelle, definie positive (donc en particulier


inversible).

Systeme lineaire tridiagonal par blocs de grande taille


( h 0 equivaut a n )

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Modele general dun schema iteratif (1)

A Mnn (K), b Kn et (S) : A x = b

Principe general : generer une suite de vecteurs qui converge vers


la solution A1 b

Idee : ecrire (S) sous une forme equivalente permettant de voir la


solution comme un point fixe :

(S) B x + c = x

B Mnn (K) et c Kn bien choisis cad I B inversible et


c = (I B) A1 b

Exemple : A = M N (M inversible), B = M 1 N et c = M 1 b

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Modele general dun schema iteratif (2)

On se donne alors x (0) Kn et on construit une suite de vecteurs


x (k) Kn a laide du schema iteratif

(?) x (k+1) = B x (k) + c, k = 1, 2, . . . .

Si (x (k) )kN est convergente, alors elle converge vers la solution


A1 b de (S)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Convergence (1)

Definition
Une methode iterative definie par (x (k) )kN pour resoudre un
systeme A x = b est dite convergente si pour toute valeur initiale
x (0) Kn , on a limk+ x (k) = A1 b.

Lemme
Si la methode iterative est convergente et si on note x = A1 b la
solution, alors
x (k) x = B k (x (0) x).

x (k) x erreur a la k-ieme iteration estimation de cette erreur


en fonction de lerreur initiale

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Convergence (2)
Theoreme
Les assertions suivantes sont equivalentes :
(i) (?) est convergente ;
(ii) Pour tout y Kn , limk+ B k y = 0 ;
(iv) Pour toute norme matricielle k.k sur Mnn (K), on a
limk+ kB k k = 0.

En pratique, caracterisations difficiles a verifier


Theoreme
Les assertions suivantes sont equivalentes :
(i) (?) est convergente ;
(ii) (B) < 1, ou (B) designe le rayon spectral de la matrice B ;
(iii) Il existe une norme matricielle k.k sur Mnn (K) subordonnee a
une norme vectorielle k.k sur Kn telle que kBk < 1.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Vitesse de convergence (1)

Definition
Considerons un schema iteratif (?) convergent. Soit k.k une norme
matricielle sur Mnn (K) et soit k un entier tel que kB k k < 1. On
appelle taux moyen de convergence associe a la norme k.k pour k
iterations de x (k+1) = B x (k) + c le nombre positif
h i1 
k k
Rk (B) = ln kB k .

Definition
Considerons deux methodes iteratives 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 a la norme k.k si Rk (B1 ) Rk (B2 ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Vitesse de convergence (2)

Definition
On appelle taux asymptotique de convergence le nombre

R (B) = lim Rk (B) = ln((B)).


k+

Theoreme
Une methode iterative est dautant plus rapide que son taux
asymptotique de convergence est grand cad que (B) est petit.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Les methodes iteratives classiques

(S) : A x = b avec A inversible

Idee : deduire un schema iteratif dune decomposition


A = M N, M inversible

En pratique, on suppose que les systemes de matrice M sont


faciles a resoudre (par ex. M diagonale, triangulaire, . . . )

(S) secrit alors M x = N x + b cad x = B x + c avec B = M 1 N


et c = M 1 b et on considere le schema iteratif associe :

x (0) Kn , M x (k+1) = N x (k) + b.

On montre alors que I B inversible et c = (I B) A1 b

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Trois exemples classiques (1)

Dans ce cours, 3 exemples classiques : les methodes de Jacobi,


Gauss-Seidel et de relaxation

Point de depart : decomposition de A = (ai,j )1i,jn sous la


forme A = D E F avec :
D = (di,j )1i,jn diagonale, telle que di,i = ai,i et di,j = 0
pour i 6= j ;
E = (ei,j )1i,jn triangulaire inferieure stricte telle que
ei,j = ai,j si i > j et ei,j = 0 si i j ;
F = (fi,j )1i,jn triangulaire superieure stricte telle que
fi,j = ai,j si i < j et fi,j = 0 si i j ;

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple de decomposition 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 E F

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Trois exemples classiques (2)

On suppose D inversible

Methode de Jacobi : M = D, N = E + F ;
Methode de Gauss-Seidel : M = D E , N = F ;
Methode de relaxation : M = 1 (D E ), N = 1

D +F
avec parametre reel non nul.

Gauss-Seidel est un cas particulier de relaxation pour = 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Jacobi : description

(S) : A x = b avec A inversible

A = M N avec M = D inversible et N = E + F

Le schema iteratif secrit alors

D x (k+1) = (E +F ) x (k) +b x (k+1) = D 1 (E +F ) x (k) +D 1 b

Definition
La matrice BJ = D 1 (E + F ) sappelle la matrice de Jacobi
associee a A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Jacobi : mise en uvre et complexite arithmetique
? nombre de flops pour calculer x (k+1) a 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
n
(k+1) (k)
X
ai,i xi = ai,j xj + bi
j=1
j6=i


n
(k+1) 1 X (k)
xi = ( a i,j x j ) + b i
.
ai,i



j=1
j6=i

Pour K iterations, 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 Numerique
Jacobi : convergence et exemple

Theoreme
La methode de Jacobi converge si et seulement si (BJ ) < 1.

2 1 1
Exemple : pour la matrice A = 2 2 2 precedente :
1 1 2
1 1
12

0 0 0
2 0 1 1 2
1

BJ = 2 0 2 = 1 0 1
0 2 0
.
1 1 1 0 1 1
0 0 2 2 2 0

Valeurs propres : 0 et i 2
5
donc (BJ ) = 2
5
> 1 et la methode
de Jacobi diverge

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Gauss-Seidel : description

(S) : A x = b avec A inversible

A = M N avec M = D E inversible et N = F

Le schema iteratif secrit alors

(DE ) x (k+1) = F x (k) +b x (k+1) = (DE )1 F x (k) +(DE )1 b

Definition
La matrice BGS = (D E )1 F sappelle la matrice de Gauss-Seidel
associee a A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gauss-Seidel : mise en uvre et complexite arithmetique
(1)
? nombre de flops pour calculer x (k+1) a 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 cest-a-dire

i1 n
(k+1) (k+1) (k)
X X
ai,i xi + ai,j xj = ai,j xj + bi ,
j=1 j=i+1

ce qui entrane

n
(k+1) 1 X (k)
x1 = a1,j xj + b1 ,
a1,1
j=2

et pour i = 2, . . . , n,
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Gauss-Seidel : mise en uvre et complexite arithmetique
(2)


i1 n
(k+1) 1 X (k)
X (k)
xi = ai,j xj + bi ai,j xj .
ai,i
j=1 j=i+1

Pour K iterations, on aura besoin de K n (2 n 1) flops ! (idem


Jacobi)

Gauss-Seidel plus interessante en ce qui concerne la gestion de la


memoire !
(k)
On peut ecraser au fur et a mesure la valeur de xi et ne stocker
au cours des calculs quun 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
methode de Jacobi.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Gauss-Seidel : convergence et exemple
Theoreme
La methode de Gauss-Seidel converge si et seulement si (BGS ) < 1.

2 1 1
Exemple : pour la matrice A = 2 2 2 precedente :
1 1 2
1
2 0 0 0 1 1
BGS = 2 2 0 0 0 2 ,
1 1 2 0 0 0
1 1 1

0 0 0
2
1 1 0 1 1 2 2
= 0 2 12
1

BGS = 2 2 0
0 0 2
.
1 1 0 0 0 1
0 4 2 0 0 2
Valeurs propres : 0 et 12 (mult. 2) donc (BGS ) = 1
2 < 1 et
Gauss-Seidel converge
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de la relaxation : desciption
(S) : A x = b avec A inversible
Soit un parametre reel non nul. On pose
 A = M N avec
M = 1 (D E ) inversible et N = 1 D +F
Le schema iteratif secrit alors
  
1 (k+1) 1
(D E ) x = D + F x (k) + b,

x (k+1) = (D E )1 [(1 ) D + F ] x (k) + (D E )1 b.

Definition
La matrice BR () = (D E )1 [(1 ) D + F ] sappelle la
matrice de relaxation associee a A et est le facteur de relaxation.
Si < 1, on parle de sous-relaxation, si = 1, on retrouve la
methode de Gauss-Seidel et si > 1, on parle de sur-relaxation.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de la relaxation : convergence et exemple

Theoreme
La methode de relaxation converge si et seulement si (BR ()) < 1.


2 1 1
Exemple : pour la matrice A = 2 2 2 precedente :
1 1 2
1
12

1 2
1 2 1 2
BR () = ( 1) 2 + 1 2

1 2
2 ( 1) 4 14 2 + 12
1 3 1 3 3 2
4 4 +1

Valeurs propres et donc convergence dependent de

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cas particulier : matrice symetrique definie positive

Theoreme
Soit A une matrice symetrique definie positive et ecrivons
A = M N avec M inversible et M T + N definie positive. Alors la
methode iterative

x (0) Kn , x (k+1) = M 1 N x (k) + M 1 b,

converge.

Corollaire
Soit A une matrice symetrique definie positive. Alors la methode de
Gauss-Seidel converge.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cas particulier : matrice a diagonale strictement dominante
Definition
Une matrice A = (ai,j )1i,jn est dite a diagonale strictement
dominante si :
n
X
i = 1, . . . , n, |ai,i | > |ai,j |.
j=1
j6=i

Exemple : matrice du systeme lineaire obtenu par discretisation de


ledp u = f .

Theoreme
Soit A une matrice a diagonale strictement dominante. Alors A est
inversible et les methodes de Jacobi et de Gauss-Seidel convergent
toutes les deux.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode alternative : gradient conjugue

Le gradient conjugue

Solution des systemes lineaires (S) : A x = b avec


A Mnn (R) symetrique et definie positive.
Un produit matricevecteur a chaque iteration methode
bien adaptee aux systemes creux et de grande taille
La methode construit une suite de vecteurs (x (k) )k=0,1,... telle
que x (m) = A1 b pour un indice m n methode exacte en
principe mais consideree comme une methode iterative a cause
des erreurs numeriques.
Dans les applications, le nombre diterations necessaires est
significativement plus petit que la taille du systeme, en
particulier si on utilise des techniques de preconditionnement.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Rappel : matrices definies positives
Definition
Soit A Mnn (R) symetrique. On dit que A est definie positive si
pour tout x Rn non nul on a hAx, xi = x T Ax > 0.

Definition equivalente : une matrice reelle symetrique A est definie


positive si toutes ses valeurs propres sont positives.
Theoreme
Si A Mnn (R) symetrique 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 definie positive.

2 1 0
Exemple : A = 1 2 1 est definie positive.
0 1 2
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Matrices creuses
A Mnn (R) est creuse si le nombre delements non nuls est
un petit multiple de n.
Exemples : matrices tridiagonales, matrices dadjacence,
discretisation dequations differentielles, . . .

0 0

5
10

10

20
15

20 30

25
40

30

50
35

40 60
0 5 10 15 20 25 30 35 40 0 10 20 30 40 50 60
nz = 118 nz = 180

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Produit scalaire defini par A

Definition
Soit A Mnn (R) symetrique et definie positive.
On definit la
fonction k kA : Rn R+ comme kxkA = x T Ax.

Proposition
La fonction k kA est une norme vectorielle.

Definition
Soit A Mnn (R) symetrique definie positive. On dit que les
vecteurs u, v Rn sont A-conjugues si u T Av = 0.

u, v Rn 7 u T Av R est un produit scalaire sur Rn .


u, v Rn sont A-conjugues sils sont orthogonaux par rapport
au produit scalaire defini par A, i.e., u T Av = 0.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Un probleme doptimisation

On considere le probleme suivant : minimiser la fonction


1
(x) = x T Ax b T x,
2
ou la matrice A est symetrique et definie positive.
Le minimum de est atteint pour x = A1 b, et cette solution
est unique.
Minimiser (x) et resoudre Ax = b sont deux problemes
equivalents.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methodes du gradient

Definition
Le gradient de en x = (x1 , . . . , xn )T Rn est le vecteur
 T

(x) = , ,..., .
x1 x2 xn

On a
1 1
(x) = Ax + AT x b = Ax b.
2 2

Definition
La quantite r (x) = b Ax = (x) est appelee residu du
systeme (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 Numerique
Methodes du gradient
A letape k dune methode 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) ,
ou k est tel que

(x (k+1) ) = min (x (k) + p (k) ),


R

r (k)T p (k)
dou k = p (k)T Ap (k)
.

Proposition
A chaque iteration, le residu r (k+1) est orthogonal au vecteur
direction p (k) utilise a letape precedente: r (k+1) T p (k) = 0.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode 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 a la precedente,
i.e., p (k+1)T p (k) = 0.

Theoreme
Pour la methode de la plus forte pente on a, a literation k :
 k
Cond2 (A) 1
kx x (k)
kA kx x (0) kA .
Cond2 (A) + 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de la plus forte pente

Le choix p (k) = (x (k) ) peut paraitre intuitivement assez


efficace pour minimiser (x), vu quon se deplace au long de la
direction de plus forte decroissance de la fonction.
Mais dans certains cas la convergence de cette methode
pourrait etre lente, notamment si la matrice A est mal
conditionnee.
Exemple :
A est une matrice symetrique avec valeurs propres {e 2 , e 4 },
b = (1 1)T ,
Cond2 (A) = e 6 403, 43.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de la plus forte pente

1
log 10 du rsidu

6
1 2 3 4 5 6 7 8 9 10 11
indice du rsidu

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gradient conjugue

Choix de la direction de descente:


 (0)
r si k = 0,
p (k) =
r (k) + k p (k1) si k 1,

ou k est tel que

p (k)T Ap (k1) = 0.

Les vecteurs direction p (k1) et p (k) sont A-conjugues.


(k)T (k1)
r Ap r (k)T r (k) r (k)T r (k)
On a k = p(k1)T Ap (k1)
= r (k1)T r (k1)
et k = p (k)T Ap (k)
.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gradient conjugue

Lemme
A chaque iteration, le residu est orthogonal au residu calcule a
literation precedente : r (k)T r (k1) = 0.

Theoreme
Soit Sk le sous-espace vectoriel de Rn engendre par les vecteurs
p (0) , . . . , p (k1) . Alors le vecteur x (k) defini par la methode du
gradient conjugue minimise (x) sur Sk :

(x (k) ) = min (x), k 1.


xSk

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gradient conjugue

Theoreme
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 residus forment un ensemble de vecteurs


orthogonaux, et les vecteurs direction p (k) forment un ensemble de
vecteurs A-conjugues.

Corollaire
Il existe m n tel que r (m) = 0. Autrement dit, le gradient
conjugue calcule la solution x = A1 b en n iterations au plus.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gradient conjugue : lalgorithme
Entree : A Mnn (R) symetrique et definie 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 (k1)T r (k1) ;
p (k) = r (k) + k p (k1) ;
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 Numerique
Gradient conjugue: convergence et complexite

Theoreme
p !k
Cond2 (A) 1
kx x (k)
kA 2 p kx x (0) kA
Cond2 (A) + 1

Critere darret : dans la pratique, kr (k) k2 < M kbk2 , et k


borne par kmax  n.
Choix du vecteur initial x (0) : a priori arbitraire, par ex. le
vecteur nul.
Complexite : une multiplication matrice-vecteur par iteration,
donc complexite asymptotique equivalent a n2 flops pour une
matrice creuse.
Pas necessaire de stocker A si on sait calculer le produit Ax.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Preconditionnement

On souhaite accelerer la convergence dune methode iterative


(e.g., le gradient conjugue).
La convergence de la methode du gradient conjugue est tres
rapide si la matrice A est proche de I, ou si ses valeurs propres
sont bien regroupees.
Idee : remplacer le systeme Ax = b par un systeme equivalent
(meme solution) mais mieux conditionne.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Preconditionnement

Soit (S) : A x = b avec A symetrique et definie positive, et


soit C Mnn (R) inversible.
On ecrit le systeme transforme

(S) : C 1 A x = C 1 b

(S) : C 1 A(C T )1 C T x = C 1 b

(S) : A x = b,
ou A = C 1 A(C 1 )T , x = C T x et b = C 1 b.
A est aussi symetrique et definie positive, donc on peut
appliquer le gradient conjugue a (S).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Preconditionnement

Definition
La matrice M = CC T est dite preconditionneur du systeme (S).

Le choix du preconditionneur est fait de maniere que :


la matrice A soit mieux conditionnee que A, ou proche de la
matrice identite, pour que le gradient conjugue converge
rapidement,
M soit inversible de maniere stable et rapide (idealement avec
complexite asymptotique de lordre de n).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Gradient conjugue preconditionne : algorithme
Entree : A Mnn (R) symetrique et definie positive, b Rn , x (0) Rn , un
preconditionneur M Mnn (R) symetrique et defini 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:
resoudre Mz (k) = r (k) ;
si k = 0 alors faire :
0 = 0 ;
p (0) = z (0) ;
sinon faire :
k = z (k)T r (k) /z (k1)T r (k1) ;
p (k) = z (k) + k p (k1) ;
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 Numerique
Choix dun preconditionneur

Le choix dun preconditionneur est un probleme delicat et il existe


une vaste litterature a ce sujet.

Exemple 1 : preconditionnement diagonal. On note


A = (ai,j )1i,jn , M = (mi,j )1i,jn et on definit

ai,i si i = j,
mi,j =
0 si i 6= j.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Choix dun preconditionneur
Exemple 2 : preconditionnement de Cholesky incomplet.
On choisit M = LLT , ou L = (`i,j )1i,jn est une matrice
triangulaire inferieure calculee comme suit:
v
u
u Xi1
`i,i = ai,i
t `2i,r , i = 1, . . . , n
r =1
(
0   si ai,j = 0,
`i,j = 1 Pj1
`i,j ai,j r =1 `i,r `j,r si ai,j 6= 0,
j = 1, . . . , i 1, i = 2, . . . , n.

La matrice L est definie de maniere a preserver leventuelle


structure creuse de A.
Les elements non nuls de L sont calcules comme pour le facteur
de Cholesky de A.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Et si A nest pas definie positive ?

Si la matrice A nest pas symetrique et definie positive, on ne


peut pas appliquer le gradient conjugue au systeme Ax = b.
Mais on peut appliquer le gradient conjugue au systeme

AT Ax = AT b

(methode des equations normales).


Attention : Cond(AT A) = Cond(A)2 .
Il existe aussi des methodes iteratives adaptees aux matrices
non symetriques : lune des plus utilisees est la methode
GMRES.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 5
Interpolation polynomiale

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme de linterpolation

15

10

0
y

10

15
0 0.5 1 1.5 2 2.5 3 3.5
x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme de linterpolation

15
y=f(x)
y=p(x)
noeuds
10

0
y

10

15
0 0.5 1 1.5 2 2.5 3 3.5
x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme de linterpolation
Pn = Rn [x] : ensemble des poly. de degre n et a 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 considere n + 1 points x0 , . . . , xn de lintervalle [a, b] tels que
a x0 x1 xn b.
Probleme (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 :

1 x0 x02 . . . x0m

0 f (x0 )
1 x1 x 2 . . . x m 1 f (x1 )
1 1
(S) : . .. .. = .

.. ..
.. . . . .
1 xn xn2 . . . xnm m f (xm )

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme de linterpolation

Systeme lineaire n + 1 equations en m + 1 inconnues

Proposition
Le probleme dinterpolation (I )fm,n admet une unique solution ssi
m = n et les nuds (xi )0in sont deux a deux distincts.

Dans la suite, on sinteresse au cas ou le probleme admet une


unique solution et on le note (I )fn : la solution notee Pn (x ; f )
sappelle polynome dinterpolation de f aux nuds (xi )0in .
Probleme qui apparait dans un contexte experimental : calcul des
valeurs dune fonction f inconnue.
Il est naturel de supposer que lon connait un minimum
dinformation sur la fonction f a interpoler.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme de linterpolation

En pratique, resoudre directement le systeme (S) nest pas


forcement une bonne idee, car :
methode couteuse (O(n3 )),
le systeme est souvent mal conditionne,
il nest pas indispensable de calculer les coefficients de Pn (x; f )
en base monomiale; il y a dautres bases de Pn qui se pretent
mieux a resoudre le probleme de linterpolation.
Remarque: dans plusieurs applications on est surtout interesse a
evaluer Pn (x; f ) pour x donne.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Base dinterpolation de Lagrange (1)

Definition
(n)
Pour j {0, . . . , n}, le polynome Lj defini par
n
(n)
Y x xi (x x0 ) (x xj1 ) (x xj+1 ) (x xn )
Lj (x) = = ,
xj xi (xj x0 ) (xj xj1 ) (xj xj+1 ) (xj xn )
i=0
i6=j

est appele interpolant de base de Lagrange ou polynome de base de


Lagrange associe a la suite (xi )0in et relatif au point xj .

Proposition
(n)
Pour n N fixe, les (Lj (x))0jn forment une base de lespace
vectoriel Pn que lon appelle base de Lagrange.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Base dinterpolation de Lagrange (2)

Proposition
Les interpolants de base de Lagrange verifient les proprietes
suivantes :
1 Pour tout j = 0, . . . , n, si on note gj la fonction de [a, b] dans
R definie par i = 0, . . . , n, gj (xi ) = ij , alors
(n)
Pn (x ; gj ) = Lj (x) ;
Si on pose n+1 (x) = nj=0 (x xj ) Pn+1 , alors, pour tout
Q
2

(n) n+1 (x)


j = 0, . . . , n, Lj (x) = 0
(xxj ) n+1 (xj )
.
Pn (n)
3 Pour tout k = 0, . . . , n, x k = k
j=0 xj Lj (x).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Lagrange (1)

La methode dinterpolation de Lagrange consiste a ecrire le


polynome dinterpolation sur la base de Lagrange.

Theoreme
Soit f : [a, b] R et n + 1 nuds (xi )0in deux a deux distincts.
Le polynome dinterpolation de f aux nuds (xi )0in secrit alors :
n
(n)
X
Pn (x ; f ) = f (xj ) Lj (x).
j=0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Lagrange (2)

Interet : pas besoin de resoudre un systeme lineaire pour ecrire le


polynome dinterpolation
Son expression secrit facilement : par exemple, si on choisit les
nuds 1, 0, 1, on obtient :
(x 0) (x 1) (x + 1) (x 1) (x + 1) (x 0)
P2 (x ; f ) = f (1) + f (0) + f (1) ,
(1 0) (1 1) (0 + 1) (0 1) (1 + 1) (1 0)

x(x 1) x (x + 1)
= f (1) f (0) (x 2 1) + f (1) ,
2 2

f (1) 2 f (0) + f (1) 2 f (1) f (1)


= x + x + f (0).
2 2

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple (1)

f : [4, 4] R, x 7 |x|

Nuds (xj )0j8 = (4, 3, 2, 1, 0, 1, 2, 3, 4)

8
X (8) 533 2 43 4 11 6 1
P8 (x ; f ) = |xj | Lj (x) = x x + x x 8.
420 144 360 1008
j=0

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple (2)

x
3 2 1 0 1 2 3

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Efficacite et inconvenients
(n)
On ne developpe pas les Lj (x) sur la base monomiale. Pour
evaluer le polynome dinterpolation de Lagrange, on utilise la
formule moins couteuse (complexite O( 32 n2 ))
n
X f (xj )
Pn (x ; f ) = n+1 (x) 0 ,
(xj ) (x xj )
j=0 n+1

Principal inconvenient : rajouter un nud change completement


les interpolants de base de Lagrange et on doit donc recalculer
entierement le polynome Pn (x ; f ).
Methode permet aussi dinterpoler un nuage de points : on se
donne une suite de valeurs discretes (bi )0in aux nuds (xi )0in
et on cherche un polynome Pn tel que Pn (xi ) = bi pour
i = 0, . . . , n.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Base dinterpolation de Newton (1)

Definition
(n)
Les polynomes Nj definis pour j = 0, . . . , n par :

(n)


N0 (x) = 1,
(n)


N1 (x) = (x x0 ),
(n)

= (x x0 ) (x x1 ),

N (x)
2.


..
(n)
Nj (x) = (x x0 ) (x x1 ) (x xj1 ),





..
.




(n)

Nn (x) = (x x0 ) (x x1 ) (x xn1 ),

sont appeles polynomes de base de Newton relatifs a la suite de


points (xi )i=0,...,n1 .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Base dinterpolation de Newton (2)

Remarque : la ou on avait besoin de n + 1 points pour definir les


(n) (n)
Lj (x), j = 0, . . . , n, la definition des Nj (x), j = 0, . . . , n, ne
necessite que n points.

Proposition
(n)
Pour n N fixe, les (Nj (x))0jn forment une base de lespace
vectoriel Pn .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Expression de linterpolant de Newton
f : [a, b] R et n nuds (xi )0in1
(n)
? i , i = 0, . . . , n tels que Pn (x ; f ) = ni=0 i Ni (x). On a :
P

Pn (x0 ; f ) = 0 = f (x0 ) = 0 = f (x0 )

f (x0 ) f (x1 )
Pn (x1 ; f ) = f (x0 ) + 1 (x1 x0 ) = f (x1 ) = 1 =
x0 x1
f (x0 )f (x1 )
Pn (x2 ; f ) = f (x0 ) + x0 x1
(x2 x0 ) + 2 (x2 x0 ) (x2 x1 ) = f (x2 )

f (x0 ) f (x2 ) f (x0 ) f (x1 )



x0 x2 x0 x1
= 2 =
x2 x1

En posant
f (u) f (v )
f [u, v ] = ,
uv
on a alors
f [x0 , x2 ] f [x0 , x1 ] f [x0 , x1 ] f [x1 , x2 ]
1 = f [x0 , x1 ], 2 = = .
x2 x1 x0 x2
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Difference divisee

Definition
Pour tout k N, on appelle difference divisee dordre k de f
associee a la suite de points deux a deux distincts (xj )jN la
quantite f [x0 , x1 , . . . , xk ] definie par :
f [x0 , x1 , . . . , xk1 ] f [x1 , x2 , . . . , xk ]
f [x0 ] = f (x0 ), k N , f [x0 , x1 , . . . , xk ] = .
x0 xk

Theoreme
Pn (n)
Pn (x ; f ) = k=0 f [x0 , x1 , . . . , xk ] Nk (x).

Corollaire
(n)
Pn (x ; f ) = Pn1 (x ; f ) + f [x0 , x1 , . . . , xn ] Nn (x).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Calcul
Def. de la base dinterpolation de Newton de Pn ne necessite que
la donnee de n nuds mais le coefficients f [x0 , x1 , . . . , xn ] de
(n)
Nn (x) fait intervenir le nud xn .
Calcul du polynome dinterpolation de f sur la base de Newton
relativement simple compare a celui sur la base de Lagrange.
Proposition
k k
X f (xj ) X f (xj )
f [x0 , x1 , . . . , xk ] = Qk = 0
(xj xl ) k+1 (xj )
j=0 l=0 j=0
l6=j

Corollaire
Soit Sk+1 lensemble 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 Numerique


Algorithme de calcul des differences divisees

x0 f [x0 ]
&
x1 f [x1 ] f [x0 , x1 ]
& &
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
. .
. .
. .
. . .
. . .
. . .
. .
. .
. .
xk2 f [xk2 ]
&
xk1 f [xk1 ] f [xk2 , xk1 ] ... ... f [x0 , . . . , xk1 ]
& & &
xk f [xk ] f [xk1 , xk ] f [xk2 , xk1 , xk ] f [x1 , . . . , xk ] f [x0 , . . . , xk ]

Contrairement a Lagrange, lajout dun nouveau nud noblige


pas a recalculer toutes les differences divisees : passer de n a n + 1
nuds demande simplement le calcul de n differences divisees.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Erreur dinterpolation (1)

Lemme
Soit (xi )0in tels que, pour tout i = 0, . . . , n, xi [a, b] et soit
Pn (x ; f ) le polynome dinterpolation de f aux nuds (xi )0in .
Alors, avec les notations precedentes, 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 :

1 (n)
]a, b[, f [x0 , x1 , . . . , xn ] = f ().
n!

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Erreur dinterpolation (2)

Theoreme
Soit (xi )0in tels que, pour tout i = 0, . . . , n, xi [a, b] et soit
Pn (x ; f ) le polynome dinterpolation de f aux nuds (xi )0in . Si
f C n+1 ([a, b]), alors :
1
x [a, b], x ]a, b[, f (x) Pn (x ; f ) = f (n+1) (x ) n+1 (x).
(n + 1)!

Corollaire
Avec les memes hypotheses, on a :

|n+1 (x)|
x [a, b], |f (x) Pn (x ; f )| sup |f (n+1) (y )|.
(n + 1)! y [a,b]

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 6
Integration numerique

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Objectif

On veut approcher de facon numerique la valeur dintegrales de la


forme Z b
I (f ) = f (x) dx
a

Remarques :
En pratique, on ne connait pas forcement lexpression
symbolique de f ;
La plupart des fonctions nadmettent pas de primitives pouvant
sexprimer a laide de fonctions elementaires.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Introduction

Hypothese : fonctions que lon cherche a integrer numeriquement


sont continues sur lintervalle [a, b].

Soit x0 = a < x1 < x2 < < xn1 < xn = b une subdivision de


lintervalle [a, b].

Theorie elementaire de lintegration

Z b n1
X
I (f ) = f (x)dx = lim f (j )(xj+1 xj ) , j, j [xj , xj+1 ].
a n+
j=0
| {z }
Somme de Riemann

Differents choix des j menent aux methodes classiques

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formule des rectangles a gauche
Pn1
j = xj Irg (f ) = j=0 f (xj ) (xj+1 xj )

Formule des rectangles a gauche

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formule des rectangles a droite
Pn1
j = xj+1 Ird (f ) = j=0 f (xj+1 ) (xj+1 xj )

Formule des rectangles a droite

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formule du point milieu
xj +xj+1 Pn1  xj +xj+1 
j = 2 Ipm (f ) = j=0 f 2 (xj+1 xj )

Formule du point milieu

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode des trapezes
Pn1 f (xj )+f (xj+1 )
It (f ) = j=0 2 (xj+1 xj )

Formule des trapezes

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Liens avec linterpolation polynomiale

Les methodes des rectangles et la methode du point milieu


reviennent a interpoler f sur chaque intervalle [xj , xj+1 ] par le
polynome dinterpolation de degre 0 relatif a lunique nud j .

Ces formules seront donc exactes pour les fonctions constantes sur
[a, b] et en particulier pour f P0 .

La methode des trapezes revient a interpoler f sur chaque


intervalle [xj , xj+1 ] par le polynome dinterpolation de degre 1.

Cette formule sera donc exacte pour f P1 .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formalisation de lintegration approchee

f une fonction de C([a, b]) ev des fonctions continues sur [a, b]

Hypothese : on connat au moins les valeurs de f en certains


points x0 , x1 , . . . , xn de lintervalle [a, b]

On cherche alors une formule dintegration approchee de la forme


Z b n
X
I (f ) = f (x) dx k f (xk ) = I(n) (f ),
a k=0

ou les k sont a determiner.

Terminologie : on parle aussi de methode dintegration numerique


ou formule de quadrature.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Ordre dune methode dintegration numerique

Definition
Une methode dintegration numerique est dite dordre N (N N) si
elle est exacte sur PN .

Exemple : la methode des rectangles a gauche ou a droite et la


methode du point milieu sont dordre 0 et celle des trapezes est
dordre 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methodologie et Erreur dintegration
En pratique : connaissant les valeurs de f aux points x0 , . . . , xn ,
(n)
on remplace f par le polynome dinterpolation nk=0 f (xk ) Lk (x)
P
ecrit dans la base de Lagrange
Formule dintegration approchee (exacte sur Pn ([a, b])) :
n Z b
(n) (n) (n)
X
I(n) (f ) = Ak f (xk ), Ak = Lk (x) dx.
k=0 a

Theoreme
Soit f C n+1 ([a, b]) et I(n) (f ) donnee ci-dessus. Alors on a la
majoration suivante de lerreur dintegration :
Z b
Mn+1
|I (f ) I(n) (f )| |n+1 (x)| dx,
(n + 1)! a
Qn
avec Mn+1 = supx[a,b] |f (n+1) (x)| et n+1 (x) = j=0 (x xj ).
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Formules de Newton-Cotes (1)
(n) Rb (n)
Probleme : calcul des Ak = a Lk (x) dx

Hypotheses : x0 = a, xn = b, n 1 et points dinterpolation


equidistants

Proposition
Pour k = 0, 1, . . . , n, on a :
(i)
n n
(b a) (1)nk
Z
(n)
Y
Ak = (y j) dy .
n k! (n k)! 0
j=0
j6=k

(n) (n)
(ii) Ank = Ak .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Formules de Newton-Cotes (2)

(1) (1) ba
Cas n = 1, on obtient A0 = A1 = 2 dou

ba
I(1) (f ) = (f (a) + f (b)) (formule des trapezes)
2

(2) (2) 4 (ba) (2)


Cas n = 2, on obtient A0 = A2 = ba 6 et A1 = 6 dou
 
(2) ba a+b
I (f ) = f (a) + 4 f ( ) + f (b) (formule de Simpson)
6 2

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


(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


Z 1 Z 1
I(1) (1) = I (1) = 1 dx = 2, I(1) (x) = I (x) = x dx = 0
1 1

(
(1) (1)
A0 + A1 = 2,
(1) (1)
A0 + A1 = 0,
(1) (1)
dou A0 = A1 = 1.

Remarque : cette formule nest 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 Numerique
Estimation de lerreur

Theoreme
Pn (n)
Considerons lerreur En (f ) = I (f ) i=0 Ai f (xi ). Alors :
1 Si n impair et f C n+1 ([a, b]), alors [a, b] tel que :
n+2 n
f (n+1) ()

ba
Z
En (f ) = t (t 1) (t n) dt.
n (n + 1)! 0

2 Si n pair et f C n+2 ([a, b]), alors [a, b] tel que :


n+3 n
f (n+2) ()

ba
Z
En (f ) = t 2 (t 1) (t n) dt.
n (n + 2)! 0

Cas n = 2 : si f C 4 ([a, b]), alors lerreur dapproximation


f (4) () ba
commise par la formule de Simpson vaut h5 ou h =
90 2
et [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Stabilite des methodes dintegration (1)

Mesure la sensibilite de la methode aux erreurs de calculs


Pn (n)
Formule dintegration approchee I(n) (f ) = k=0 Ak f (xk )

Supposons les valeurs calculees des f (xk ) non exactes


Pn (n) Pn (n) Pn (n)
k=0 Ak (f (xk ) + k ) k=0 Ak f (xk ) = k=0 Ak k .

Xn n
X
(n) (n)
A  max | | |Ak |,

k k k
0kn
k=0 k=0
Pn (n)
et le terme k=0 |Ak | depend de la methode.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Stabilite des methodes dintegration (1)

Definition
(n)
La formule dintegration numerique I(n) (f ) = nk=0 Ak f (xk ) est
P
dite stable sil existe M R tel que : n N, (0 , . . . , n )
(n)
Rn+1 , | nk=0 Ak k | M max0kn |k |.
P

Theoreme
Avec les notations precedentes, une condition necessaire et
suffisante de stabilite est quil existe M R (independant de n) tel
(n)
que nk=0 |Ak | M.
P

Formules de Newton-Cotes : 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 Numerique


Formules dintegration composees (1)

Ceux sont les plus utilisees en pratique

Principe : decomposer lintervalle [a, b] en k intervalles [ai , ai+1 ],


i = 0, . . . , k 1

Z b k1 Z
X ai+1
I (f ) = f (x) dx = f (x) dx
a i=0 ai
| {z }
Ii (f )

Ii (f ) approche par une formule dintegration numerique

Remarque : pour la stabilite, 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 Numerique


Formules dintegration composees (2) : Simpson
Methodes composees sont dautant plus interessantes que lerreur
dapproximation diminue lorsque la taille de lintervalle diminue

Avec la formule de Simpson deja vu, si lon subdivise lintervalle


[a, b] en k sous intervalles avec k pair, on obtient la formule de
Simpson composee

k/21 k/2
h X X
f (a0 ) + 2 f (a2 i ) + 4 f (a2 i1 ) + f (ak ) ,
3
i=1 i=1

ba
avec h = k , a0 = a, ak = b et ai = ai1 + h.
f (4) ()
Si f C 4 ([a, b]), erreur dapproximation k h5 ou
180
ba
h= et [a, b].
k
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Exemple

R1 2
On veut calculer numeriquement 0 e x dx avec erreur < 106 .
Combien dintervalles 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 (4) ()

ba f () 1
erreur = k =
k 180 180k 4 15k 4
 6 1/4
1 6 10
on pose < 10 dou k > 16, 0686
15k 4 15
donc k 17.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Autres approches

Formules de quadrature de Gauss: famille de formules de


quadrature assez precises, qui utilisent des polynomes
dinterpolation. Les nuds sont les zeros des polynomes
dinterpolation, et/ou des points donnes.
Methodes adaptives: le nombre de nuds est choisi suivant le
comportement de la fonction.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Integration numerique en Matlab

Plusieurs implementations sont disponibles:


trapz: methode des trapezes, intervalles uniformes,
quad: formule de Simpson, quadrature adaptive,
integral: methode adaptive globale.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Chapitre 7
Resolution dequations et de
systemes dequations non
lineaires

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Probleme considere

f : R R fonction dune seule variable reelle

On cherche a resoudre lequation f (x) = 0 = trouver une valeur


approchee x dun reel x verifiant f (x) = 0.

Mise en oeuvre pratique : on se donne une tolerance sur la


solution cherchee. Lalgorithme numerique utilise doit alors avoir un
critere darret dependant de cette tolerance et nous assurant que la
solution calculee a bien la precision recherchee

2 possibilites :
on sait a lavance combien detapes de lalgorithme sont
necessaires
a chaque etape, on verifie une condition nous permettant
darreter le processus apres un nombre fini detapes

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Vitesse de convergence (1)

Definition
Soit (xn )nN une suite convergente et soit x sa limite.
1 On dit que la convergence de (xn )nN est lineaire de facteur
K ]0, 1[ sil existe n0 N tel que, pour tout n n0 ,
|xn+1 x| K |xn x|.
2 On dit que la convergence de (xn )nN est superlineaire dordre
p N, p > 1 sil 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 nest pas unique.


En pratique il peut etre difficile de prouver la convergence dune
methode dautant plus quil faut tenir compte des erreurs darrondis.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Vitesse de convergence (2)

Definition
Soit (xn )nN une suite convergent vers une limite x. On dit que la
convergence de (xn )nN est lineaire de facteur K (resp. superlineaire
dordre p) sil existe une suite (yn )nN convergent vers 0, lineaire de
facteur K (resp. superlineaire dordre p) au sens de la definition
precedente telle que |xn x| yn .

dn = log10 (|xn x|) mesure du nbre de decimales exactes de xn .


Convergence dordre p asymptotiquement, on a
|xn+1 x| K |xn x|p dou dn+1 log10 (K ) p dn et donc
asymptotiquement xn+1 a p fois plus de decimales exactes que xn
lordre p represente asymptotiquement le facteur multiplicatif du
nombre de decimales exactes que lon gagne a chaque iteration
Nous avons donc interet a ce quil soit le plus grand possible.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de dichotomie : principe

Methode de localisation des racines dune equation f (x) = 0


basee sur le theoreme des valeurs intermediaires
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 dun intervalle [a, b] verifiant la propriete f (a) f (b) < 0
a+b
2 On le scinde en deux intervalles [a, c] et [c, b] avec c = 2
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
verifie encore la propriete, i.e., f (a) f (c) < 0 ou/et
f (c) f (b) < 0.
4 On itere ensuite ce procede un certain nombre de fois
dependant de la precision que lon recherche sur la solution.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de dichotomie : algorithme

Entrees : la fonction1 f , (a, b) R2 tels que f est continue sur


[a, b] et f (a) f (b) < 0 et la precision .
Sortie : xk+1 valeur approchee de x solution de f (x) = 0 a  pres.
1 x0 a, y0 b ;
 
ln(b a) ln()
2 Pour k de 0 a E par pas de 1, faire :
ln(2)
 
xk + yk xk + yk
Si f (xk ) f > 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
3 Retourner xk+1 .

1
Il suffit en fait de connaitre un moyen devaluer les valeurs de la fonction
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de dichotomie : remarques et preuve de lalgo.
Remarques sur lalgorithme precedent :
Il construit une suite de segments embotes contenant tous x
A chaque passage dans la boucle : une evaluation de f
En pratique, avec les arrondis, > 0 et < 0 ne veulent rien dire !
Theoreme
Le nombre minimum diterations de la methode  de dichotomie

necessaire pour approcher x a  pres est E ln(ba)ln()
ln(2) + 1, ou
E (x) designe la partie entiere dun reel x.

Proof.
ba ln(ba)ln()
2n n ln(2) .

Proposition
La convergence de la dichotomie est lineaire de facteur 12 .
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Exemple

On cherche un zero 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 101
3
 = 10 . 5 0, 5312500 0, 1794720 101
6 0, 5468750 0, 3201580 101
7 0, 5390625 0, 7117271 102
8 0, 5351563 0, 5393982 102
9 0, 5371094 0, 8668900 103
10 0, 5361328 0, 2263069 102
3 )
 
En effet E ln(10)ln(10
ln(2) + 1 = 10.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode du point fixe (ou approximations successives)

Definition
Soit g : R R. On dit que x R est un point fixe de g si
g (x) = x.

Principe : associer a lequation f (x) = 0 une equation de point


fixe g (x) = x de sorte que trouver une solution de f (x) = 0
equivaut a trouver un point fixe de g .

Lemme
Soit (xn )nN la suite definie par x0 R donne et xn+1 = g (xn ). Si
(xn )nN est convergente et g est continue, alors la limite de (xn )nN
est un point fixe de g .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Fonctions contractantes

Definition
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 derivable sur lintervalle [a, b]. Si sa derivee g 0
verifie 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 Numerique


Theoreme du point fixe

Theoreme
Soit g une application strictement contractante sur un intervalle
[a, b] R de constante de Lipschitz < 1. Supposons que
lintervalle [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 definie par xn+1 = g (xn ) converge
lineairement de facteur vers x pour tout point initial x0 [a, b].
De plus,
n
n N, |xn x | |x1 x0 |.
1

Erreur dautant plus petite que est proche de 0



De plus n N, |xn x | 1 |xn xn1 |
1
Si 2 , alors |xn x | |xn xn1 | test darret
|xn xn1 | <  qui certifiera une precision  sur le resultat
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Mise en oeuvre

Proposition
Soit x [a, b] un point fixe dune fonction g C 1 ([a, b]).
Si |g 0 (x )| < 1, alors il existe un intervalle [, ] [a, b]
contenant x pour lequel la suite definie par x0 [, ] et
xn+1 = g (xn ) converge vers x ;
Si |g 0 (x )| > 1, alors pour tout x0 6= x , la suite definie 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 elimine la methode,
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 Numerique


Premiere methode de resolution 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 Numerique


Premiere methode de resolution de f (x) = 0
Suite des iteres xn+1 = xn f (xn )
y

1
pente
f (x0 )
f (x1 )


x0 x1 x2 x x
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Premiere methode de resolution de f (x) = 0

Suite des iteres xn+1 = xn f (xn )


En effet: la droite de pente 1 qui passe par (xn , f (xn )) a equation

1
y f (xn ) = (x xn ),

donc le point dintersection avec laxe des abscisses y = 0 est donne
par
f (xn ) = x xn x = xn f (xn ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Convergence

Proposition
On considere lequation g (x) = x ou g est une fonction au moins
p + 1 fois derivable avec p 1. Supposons que les hypotheses du
theoreme du point fixe soient verifiees 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 methode xn+1 = g (xn ) est superlineaire dordre
p + 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple

On reprend lexemple precedent: calculer le zero de


f (x) = x 3 + 4x cos(x) 2 sur [0; 1].
La derivee 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, methode convergente pour < 21 .
Pour avoir 5 decimales justes:
1 1 1 1 1
2 3 4 5 6
n. iter. 25 5 7 11 15
(On observe que f 0 (x ) 3, 20).
k = 13 = 14
1 0, 6666666 0, 5000000
2 0, 5360014 0, 5299587
3 0, 5368957 0, 5354853
A partir de x0 = 0:
4 0, 5368347 0, 5365698
5 0, 5368388 0, 5367854
6 0, 5368283
7 0, 5368369

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Newton (1)
Revenons a
x [a, b], |1 f 0 (x)| < < 1

La methode convergera dautant plus vite que est petite


1 f (x)
Idee : poser = f 0 (x) cad g (x) = x f 0 (x) .

Definition
La fonction diteration de Newton associee a lequation f (x) = 0 sur
[a, b] est
[a, b] R,
N : f (x)
x 7 N (x) = x 0 .
f (x)
Cette fonction est definie pour f derivable sur [a, b] et telle que f 0
ne sannule pas sur [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de Newton (2)
y

Methode de Newton

tangente

f (x0 )

f (x1 )

x0 x1 x2x x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Convergence locale

Theoreme
Soit f une fonction de classe C 2 sur un intervalle [a, b] de R. On
suppose quil existe x [a, b] tel que f (x) = 0 et f 0 (x) 6= 0 (x est
un zero simple de f ). Alors il existe  > 0, tel que pour tout
x0 [x , x + ], la suite des iteres de Newton donnee par
xn+1 = N (xn ) pour n 1 est bien definie, reste dans lintervalle
[x , x + ] et converge vers x quand n tend vers linfini. De plus,
cette convergence est (au moins) quadratique.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple : calcul de la racine carree
Equation f (x) = 0 avec f (x) = x 2 a
f (x) x 2 a 1 a

On a alors N (x) = x f 0 (x) =x 2x = 2 x+ 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 decimales justes double approximativement a chaque


iteration (convergence quadratique)

Dichotomie sur [1, 2] : 51 iterations pour v. a. a 1015


Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Zero multiple et convergence globale
Theoreme
Avec les notations, precedentes, si x est un zero de multiplicite m
de f , i.e., f (x ) = f 0 (x ) = = f (m1) (x ) = 0 et f (m) (x ) 6= 0,
alors la methode iterative definie par xn+1 = Nm (xn ) avec
f (x)
Nm (xn ) = x m 0 est dordre superieure ou egal a 2.
f (x)

Theoreme
Soit f C 2 ([a, b]) verifiant :
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 )nN definie par x0 et xn+1 = N (xn ) converge vers lunique
solution de f (x) = 0 dans [a, b].
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Methode de la secante (1)

Newton necessite le calcul de la derivee de la fonction f qui peut


saverer difficile

Idee : remplacer la derivee f 0 de f qui apparait dans la methode


de Newton par une difference divisee
Definition
Pour tout k N, on appelle difference divisee dordre k de f
associee a la suite de points deux a deux distincts (xj )jN la
quantite f [x0 , x1 , . . . , xk ] definie par :
f [x0 , x1 , . . . , xk1 ] f [x1 , x2 , . . . , xk ]
f [x0 ] = f (x0 ), k N , f [x0 , x1 , . . . , xk ] = .
x0 xk

f (xn ) f (xn ) f (xn1 )


xn+1 = xn , ou f [xn , xn1 ] =
f [xn , xn1 ] xn xn1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de la secante (2)
Initialisation : deux points x0 et x1
y

Methode de la secante

f (x0 )

f (x1 )

x0 x1 x2 x x
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Convergence

Theoreme
Soit f une fonction de classe C 2 sur un intervalle [a, b] de R. On
suppose quil existe x [a, b] tel que f (x) = 0 et f 0 (x) 6= 0 (x est
un zero simple de f ). Alors il existe  > 0, tel que pour tout
x0 , x1 [x , x + ], la suite des iteres de la methode de la
secante est bien definie, reste dans lintervalle [x , x + ] et
converge vers x quand n tend vers linfini. De plus, cette
1+ 5
convergence est dordre p = 2 1, 618 (nombre dor).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple: calcul de la racine carree
Methode de la secante
xn2 a xn2 a
xn+1 = xn = xn
(xn2 a) (xn1
2 a) xn + xn1
xn xn1

Si a = 2 et x0 = x1 = 1 on obtient :
x0 = 1, 000000000000000
x1 = 1, 000000000000000
x2 = 1, 500000000000000
x3 = 1, 400000000000000
x4 = 1, 413793103448276
x5 = 1, 414215686274510
x6 = 1, 414213562057320
x7 = 1, 414213562373095
+ dit. que Newton mais pas de calcul de derivee
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Systemes dequations non lineaires

Rn Rn

f :
x = (x1 . . . xn )T 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,

f (x) = 0R ..
n
.
fn (x1 , . . . , xn ) = 0.

Methode 1 vu precedemment se generalise :

x (n+1) = x (n) + M 1 f (x (n) ),

ou M est une certaine matrice, et nous avons les memes resultats


de convergence que dans le cas dune seule equation.
Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique
Matrice Jacobienne

Definition
La matrice jacobienne dune fonction f : Rn Rn notee Jf est
definie (lorsquelle existe) par :
f1 f1 f1

x1 (x) x2
(x) . . .
xn
(x)


f2 f2 f2
x1 (x) (x) . . . (x)

x2 xn

x = (x1 . . . xn )T Rn , Jf (x) = .

.. .. .. ..

. . . .




fn fn fn


(x) (x) . . . (x)
x1 x2 xn

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Newton (1)

Methode de Newton se generalise : x (0) Rn et


 1
x (n+1) = x (n) Jf x (n) f (x (n) ),

1
ou Jf x (n) designe linverse de la matrice jacobienne de f
(n)
evaluee en x .

Theoreme
Soit f : Rn Rn une fonction de classe C 2 sur une boule fermee B
de Rn . On suppose quil existe un zero 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) xk , la suite des iteres de la methode de Newton
ci-dessus est bien definie et converge vers x quand n tend vers
linfini.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Methode de Newton (2)

Calculer litere n+ 1 a partir de litere n : on a besoin dinverser


la matrice Jf x (n)

Pour eviter ce calcul dinverse :


    
Jf x (n) x (n+1) x (n) = f x (n) ,

A chaque iteration, calcul de linverse remplace par la resolution


dun systeme dequations lineaires ce qui est asymptotiquement
moins couteux (Cf chapitre precedent)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Exemple (1)

Considerons le systeme dequations non lineaires :

x12 + 2 x1 x22 2 = 0,

(S) :
x1 + 3 x1 x22 x23 3 = 0.
3

Notations precedentes : 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 Numerique


Exemple (2)

Point de depart : x (0) = (1 1)T . Calculons le premier itere de


la methode de Newton

Formule diteration pour n = 1 :


    
Jf x (0) x (1) x (0) = f x (0) ,

cest-a-dire
!
  (1)  
4 2 x1 1 0
(1) = .
6 9 x2 + 1 2

1 (1)
En resolvant ce systeme lineaire, on trouve x1 1 = 12 et
(1) 1 11 5 T
x (1) = 12 6 .

x2 + 1 = 6

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Autres methodes

La methode de la secante ne se generalise pas facilement au cas


de plusieurs equations

En pratique :
Methode de Newton,

Methode x (n+1) = x (n) + M 1 f (x (n) ) en ajustant M au bout


dun certain nombre diterations.

En general, M assez proche de Jf convergence dordre 1

Methodes de Newton generalisees (utilisees en optimisation)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Polynomes complexes

Dans ce chapitre nous nous interessons au polynomes de la forme

p(z) = a0 + a1 z + . . . + an z n ,

ou a0 , a1 , . . . , an C.
Theoreme (fondamental de lalgebre)
Tout polynome non constant a coefficients complexes admet une
racine complexe.

Donc p(z) a n racines sur C (avec multiplicite).


Exemple: lesracines de p(z) =
z 3 1 sont 1 = 1,
2 = 12 23 i, 3 = 12 + 23 i.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Application de la methode de Newton

Etant donne z0 C, la methode de Newton appliquee a p(z)


definit une suite (systeme dynamique discret) z0 , z1 , z2 , . . .
ou
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 definit le bassin dattraction
Bi C comme lensemble des points z0 C tels que la suite
de Newton definie a partir de z0 converge vers i .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Representation graphique

On choisit une fenetre dobservation (rectangle R C).


On discretise R nuds zjk , j = 1, . . . , N, k = 1, . . . , M.
Pour chaque zjk , on applique literation de Newton a partir de
zjk : y a-t-il convergence, et si oui, vers quelle limite ?
zjk represente en noir si pas de convergence,
zjk represente en autre couleur (suivant la limite) si convergence.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Fractales

Methode de Newton appliquee a p(z) = z 3 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Fractales

Methode de Newton appliquee a p(z) = z 8 + 15z 4 16.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cycles attractifs

Soit p(z) = z 3 2z + 2.
Literation de Newton associee est
zk3 2zk + 2
zk+1 = zk .
3zk2 2

zk = 0 zk+1 = 1 zk+2 = 0 ...


0, 1, 0, 1, . . . est un cycle attractif.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Cycles attractifs
Methode de Newton appliquee a p(z) = z 3 2z + 2.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Autres methodes: Halley

La methode de Halley est definie par literation

2p(xk )p 0 (xk )
zk+1 = zk .
2(f 0 (xk ))2 f (xk )f 00 (xk )

Convergence cubique au voisinage des racines.


Newton et Halley sont exemples dune famille plus generale de
methodes iteratives pour le calcul des racines des polynomes
(methodes de Konig):

(1/p)(d1) (zk )
zk+1 = zk + d
(1/p)(d) (zk )

(methode dordre d).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Calcul des racines des polynomes: Newton

Theoreme (Hubbard, Schleicher, Sutherland 2001)


Etant donne d N, on peut determiner un ensemble fini de points
Sd C tel que, pour tout polynome complexe p(z) de degre d et
pour toute racine de p(z), il existe au moins un point z Sd tel
que literation de Newton appliquee a partir de z converge a .

En pratique, pour la methode de Newton on a:


convergence quadratique mais seulement si on est proche de la
racine,
comportement difficile a determiner en dehors dun voisinage
suffisamment petit des racines.
methode generalement utilisee pour ameliorer un calcul approche
des racines.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Calcul des racines des polynomes: valeurs propres

La matrice compagnon ou matrice de Frobenius associee au


polynome

p(z) = z n + an1 z n1 + an2 z n2 + + a1 z + a0 = 0

est definie comme



0 0 0 ... 0 a0

1 0 0 ... 0 a1

0 1 0 ... 0 a2
A=

0 0 1 ... 0 a3

.. .. .. .. .. ..
. . . . . .
0 0 0 ... 1 an1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Calcul des racines des polynomes: valeurs propres

Theoreme
Le polynome caracteristique 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 methodes efficaces sont disponibles pour le calcul des
valeurs propres
(methode QR: stable, complexite O(n3 )).
Commande Matlab roots.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique


Calcul des racines des polynomes: conditionnement

Exemples de polynomes mal conditionnes:


Racines multiples: p(z) = (z 1)n
racine = 1 de multiplicite 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-ieme de
1),
exemple: si p(z) = (z 1)3 , le polynome perturbe
p(z) = (z 1)3 106 a 3 racines distinctes a distance 102
par rapport a 1.
Polynome de Wilkinson:

w (z) = (z 1) (z 2) (z 3) . . . (z 20).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique