Vous êtes sur la page 1sur 85

Cours danalyse numerique de licence de

mathematiques
Roland Masson
16 novembre 2011
1 Introduction
Objectifs
Plan du cours
Exemples dapplications du calcul scientique
Debouches
Calendrier du cours
Evaluation
2 Quelques rappels dalg`ebre lineaire en dimension nie
Espaces vectoriels
Applications lineaires
Matrices
Transposition de matrices et matrices symetriques
Determinants
Normes matricielles
3 Methodes directes
Methode delimination de Gauss et factorisation LU
4 Methodes iteratives
5 Solveurs non lineaires
Analyse numerique: objectifs
Analyse numerique: con coit et analyse mathematiquement les algorithmes
`a la base des simulations numeriques de la physique
Objectifs du cours
Introduction `a quelques algorithmes de bases en calcul scientique
Fondements mathematiques (complexite, stabilite, convergence, consistance,
...)
Exemples dapplications et mise en oeuvre informatique sous scilab (TDs et
TPs)
Plan du cours
Resolution des syst`emes lineaires Ax = b, A /
n
, b, x R
n
Methodes directes: methode delimination de Gauss, factorisation LU,
factorisation de Choleski
Methodes iteratives: methodes de Richardon, de Jacobi, de Gauss Seidel
Resolution des syst`emes non lineaires f (x) = 0, f : R
n
R
n
Methodes de Newton
Algorithmes doptimisation: x = argmin
yR
n f (y), f : R
n
R
Methodes de descente selon le gradient
Resolution des equations dierentielles ordinaires (EDO): y

= f (y, t),
f : R
n
R R
n
Schemas dEuler explicite et implicite
References
Cours danalyse numerique de Rapha`ele Herbin (Universite de Provence):
http://www.cmi.univ-mrs.fr/herbin/anamat.html
Livre de Quateroni et al: Methodes numeriques, algorithmes, analyse et
applications, Springer, 2007.
Domaines dapplications du calcul scientique

Energie
Nucleaire
Petrole
Fusion nucleaire
Eolien, hydrolien, solaire, ...
Transport
Aeronautique
Spatial
Automobile
Environnement
Meteorologie
Hydrologie
Geophysique
Climatologie
Finance, Biologie, Sante, Telecommunications, Chimie, materiaux, ...
Exemple de la simulation des reservoirs petroliers
Petrole = huile de pierre
Bassin de paris
Exemple de la simulation des reservoirs petroliers
Reservoir: pi`ege geologique rempli
dhydrocarbures
Exemple de la simulation des reservoirs petroliers
Enjeux de la simulation
Prediction de la production
Optimisation de la production (ou du rendement economique)
Integration des donnees
Evaluation des incertitudes sur la production
Debouches
Competences
Analyse numerique
Modelisation
Informatique
Metiers
Developpements de codes de calculs scientiques
Etudes en modelisation numerique
Ingenieur de recherches en calcul scientique
Chercheur academique en mathematiques appliquees
Employeurs
SSII en calcul scientique
EPIC: CEA, ONERA, IFPEN, BRGM, IFREMER, INRA, CERFACS, ...
Industrie: EDF, EADS, Dassault, Michelin, Areva, Total, CGGVeritas,
Thales, Safran, Veolia, Rhodia, ...
Academique: Universites, CNRS, INRIA, Ecoles dingenieurs, ...
Calendrier du cours
Cours en amphi biologie le mercredi de 17h `a 18h30: semaines
1,2,3,5,6,7,8,10,11,12,13,14,15
TD et TP en M31/PV212-213 le jeudi de 15h `a 18h15: semaines
2,3,5,7,8,10,11,12,13,14,15
Un seul groupe en TD
salle M31
A priori deux groupes en TP
salles PV212 et PV213
deuxi`eme groupe avec AUDRIC DROGOUL
Evaluation
Un examen partiel semaine 11 en cours: note P
Controle continu: note C = (C1 + C2)/2
une interrogation ecrite en TD semaine 7: note C1
une interrogation ecrite en TP semaine 13: note C2
Un examen nal: note F
Note nale: 0.4F + 0.3P + 0.3C
Espaces vectoriels
Denition dun e.v. sur K = R ou C: ensemble E muni dune loi de
composition interne notee + et dune loi daction de K sur E notee . tels
que:
(E, +) est un groupe commutatif
1.x = x, ().x = .(.x) (associativite)
( + ).x = .x + .x, .(x + y) = .x + .y (distributivite)
Exemple: R
n
e.v. sur R (C
n
e.v. sur C):
x =

x
1
.
.
.
x
n

, x + y =

x
1
+ y
1
.
.
.
x
n
+ y
n

, .x =

x
1
.
.
.
x
n

Familles libres, generatrices, base, dimension


Famille libre de m vecteurs v
1
, , v
m
de E:

m
i =1

i
v
i
= 0
i
= 0 i = 1, , m
Famille generatrice de m vecteurs v
1
, , v
m
de E:
E = Vect{v
1
, , v
m
}
Base: famille libre et generatrice
Dimension (supposee nie): toutes les bases ont meme dimension appelee
dimension de lespace vectoriel E notee n
Une famille libre de n vecteurs est generatrice, cest une base
Une famille generatrice de n vecteurs est libre, cest une base
Espaces vectoriels normes
Denition: e.v. muni dune norme, ie une application de E R
+
, notee
x |x| satisfaisant les proprietes suivantes
x = 0 x = 0
.x = ||x
x + y x +y
Une norme denit sur E une topologie despace metrique avec
d(x, y) = |x y|
Limite de suite de vecteurs: lim
k+
v
k
= v lim
k+
v
k
v = 0
Exemples de normes sur R
n
x
1
=

n
i =1
|x
i
|, x
2
=

n
i =1
|x
i
|
2

1/2
, x

= max
i =1, ,n
|x
i
|.
En dimension nie toutes les normes sont equivalentes ie il existe c, C > 0
telles que c|x| |x|

C|x| (attention c et C dependent de n).


Espaces vectoriels euclidiens
e.v. muni dun produit scalaire ie une forme bilineaire symetrique denie
positive notee ., .
Sur R
n
le produit scalaire canonique est x, y =

n
i =1
x
i
y
i
|x| = x, x
1/2
est une norme appelee norme euclidienne
Applications lineaires
f : E F, f (.x) = .f (x), f (x + y) = f (x) + f (y)
L(E, F) espace vectoriel des applications lineaires de E dans F
L(E) espace vectoriel des applications lineaires de E dans E ou
endomorphismes de E
_
L(E), +, .,
_
anneau unitaire non commutatif munie de la loi de
composition des applications f g(x) = f (g(x))
Noyau de f , Ker(f ) = x E tels que f (x) = 0 (sous e.v. de E)
Image de f , Im(f ) = f (x), x E (sous e.v. de F)
Endomorphismes de E inversibles:
Application bijective ssi il existe f
1
L(E) telle que f f
1
= f
1
f = Id
f bijective f injective: Ker(f ) = {0}
f bijective f surjective: Im(f ) = E
Matrice dune application lineaire
Bases
_
e
j
, j = 1, , n
_
de E et
_
f
i
, i = 1, , m
_
de F
f L(E, F) telle que f (e
j
) =

m
i =1
A
i ,j
f
i
x =

n
j =1
x
j
e
j
E
y = f (x) =

m
i =1
_

n
j =1
A
i ,j
x
j
_
f
i
X =
_
_
_
x
1
.
.
.
x
n
_
_
_
R
n
, Y =
_
_
_
y
1
.
.
.
y
m
_
_
_
R
m
, Y = AX
Retenir que les n colonnes j de A sont donnees par les images f (e
j
)
Espace vectoriel des matrices de dimension m, n: /
m,n
(`a coecients dans
K = R ou C)
Matrices remarquables: diagonale, symetrique, triangulaires inferieure ou
superieure
Exercice: produit de matrices versus composition
dapplications lineaires
Soient E, F, G des e.v de dimensions resp. n,m,p, f L(E, F) et
g L(F, G)
Des bases etant donnees, f a pour matrice A /
m,n
et g a pour matrice
B /
p,m
g f a pour matrice le produit BA /
p,n
tel que
(BA)
i ,j
=
m

k=1
B
i ,k
A
k,j
Produit de matrices: /
p,m
/
m,n
/
p,n
produit matrice vecteur: M
m,n
M
n,1
M
m,1
produit scalaire de deux vecteurs: ligne . colonne M
1,n
M
n,1
M
1,1
produit tensoriel de deux vecteurs: colonne. ligne M
n,1
M
1,n
M
n,n
Exercice: changements de base pour les vecteurs et les
matrices
P: matrice de passage dune base dans une autre e
j
=

n
k=1
P
k,j
e
k
(colonnes de la nouvelle base dans lancienne)
Changement de base pour les coordonnees des vecteurs: X = P

X.
Changement de base pour les matrices des applications lineaires: X = P

X,
Y = Q

Y et

Y =

A

X, Y = AX implique que

A = Q
1
AP.
Matrices carres inversibles
A /
n,n
= /
n
est inversible ssi lune des proprietes suivantes est veriee
Il existe A
1
M
n,n
tel que AA
1
= A
1
A = I
A est injective ie AX = 0 X = 0
A est surjective ie Im(A) = {AX, X R
n
} = R
n
A, B /
n
inversibles
(AB)
1
= B
1
A
1
Transposition de matrices
A /
m,n
, on denit A
t
/
n,m
par
(A
t
)
i ,j
= A
j ,i
pour tous i = 1, , n, j = 1, , m
Produit scalaire canonique de deux vecteurs (colonnes) X, Y R
n
:
X
t
Y =
n

i =1
X
i
Y
i
Matrice carree A /
n
est symetrique ssi
A
t
= A
Diagonalisation dune matrice carree symetrique A /
n
Les valeurs propres sur C dune matrice reelle symetrique A sont reelles et il
existe une base orthonormee de vecteurs propres F
i
R
n
, i = 1, , n telle
que
AF
i
=
i
F
i
et (F
i
)
t
F
j
=
i ,j
pour tous i , j = 1, , n
Si P est la matrice de passage de la base canonique dans la base F
i
,
i = 1, . . . , n, alors on a
P
1
= P
t
et
P
t
AP =
_
_
_

1
0
.
.
.
0
n
_
_
_
Determinants de n vecteurs dans un e.v. E de dimension n
pour une base donnee
Unique forme n-lineaire alternee sur E valant 1 sur la base
Det

v
1
, , v, , v, , v
n

= 0 (alternee)
Antisymetrie:
Det

v
1
, , v
i
, , v
j
, , v
n

= Det

v
1
, , v
j
, , v
i
, , v
n

On a donc aussi pour toute permutation de {1, , n},


Det

v
1
, , v
n

= sign()Det

v
(1)
, , v
(n)

Determinant dune matrice carree A = determinant des vecteurs colonnes


Det
_
A
_
= Det
_
A
.,1
, , A
.,n
_
=

n
n

i =1
sign()A
(i ),i
Proprietes du determinant
Les vecteurs colonnes de A sont libres ssi Det(A) ,= 0
Donc A est inversible ssi Det(A) ,= 0
Det(AB) = Det(A)Det(B) = Det(BA)
Det(A
t
) = Det(A)
Developpement par rapport aux lignes ou aux colonnes
Det(A) =
n

i =1
(1)
i +j
Det(A
(i ,j )
) =
n

j =1
(1)
i +j
Det(A
(i ,j )
)
Normes matricielles
Une norme matricielle sur le.v. /
n
est une norme telle que
|AB| |A||B|
Une norme matricielle induite par une norme |.| sur R
n
est la norme
matricielle denie par
|A| = sup
X=0
|AX|
|X|
On a pour une norme matricielle induite: |AX| |A||X| pour tout
X R
n
Exercice: exemples de normes induites
|A|

= Sup
X=0
AX

= max
i =1, ,n

n
j =1
[A
i ,j
[
|A|
1
= Sup
X=0
AX
1
X
1
= max
j =1, ,n

n
i =1
[A
i ,j
[
|A|
2
= Sup
X=0
AX
2
X
2
= (
t
AA)
1/2
Convergence de la suite A
k
pour A /
n
Rayon spectral (A), A /
n
est le module de la valeur propre maximale
de A dans C.
On admettra le lemme suivant:
(A) < 1 ssi lim
k+
A
k
= 0 quel que soit la norme sur M
n
(A) = lim
k+
A
k

1/k
quel que soit la norme sur M
n
(A) A quel que soit la norme matricielle sur M
n
Matrices de la forme I + A ou I A
Si (A) < 1 alors les matrices I + A et I A sont inversibles
La serie de terme general A
k
converge (vers (I A)
1
ssi (A) < 1
Preuve:

N
k=0
A
k
(I A) = I A
N+1
et utiliser le lemme precedent
Si |A| < 1 pour une norme matricielle, alors I A est inversible et on a
|(I A)
1
|
1
1A
(idem pour I + A)
Methode delimination de Gauss: exemple
AX =

1 3 2
1 2 1
2 1 2

X =

1
2
1

= b det(A) = 5
Descente: elimination sur la premi`ere colonne (x
1
)

1 0 0
1 1 0
2 0 1

1 3 2
1 2 1
2 1 2

X =

1 0 0
1 1 0
2 0 1

1
2
1

= b

1 3 2
0 5 3
0 5 2

X =

1
3
1

Descente: elimination sur la deuxi`eme colonne (x


2
)

1 0 0
0 1 0
0 1 1

1 3 2
0 5 3
0 5 2

X =

1 0 0
0 1 0
0 1 1

1
3
1

1 3 2
0 5 3
0 0 1

X =

1
3
2

do` u par remontee X =

6/5
3/5
2

factorisation de Gauss: exemple


Do` u UX = b

avec
b =
_
_
1 0 0
1 1 0
2 0 1
_
_
1
_
_
1 0 0
0 1 0
0 1 1
_
_
1
b

=
_
_
1 0 0
1 1 0
2 0 1
_
_
_
_
1 0 0
0 1 0
0 1 1
_
_
b

b =
_
_
1 0 0
1 1 0
2 1 1
_
_
b

Do` u la factorisation de Gauss


A = LU
avec
L =
_
_
1 0 0
1 1 0
2 1 1
_
_
et U =
_
_
1 3 2
0 5 3
0 0 1
_
_
Generalisation `a A /
n
inversible: AX = b
A
(1)
= A, b
(1)
= b
A
(2)
= L
(1)
A
(1)
=

1 0 . . . . . . . . . 0

a
(1)
2,1
a
(1)
1,1
1 0 . . . . . . 0
.
.
.

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

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

a
(1)
1,1
. . . . . . . . . . . . a
(1)
1,n
a
(1)
2,1
. . . . . . . . . . . . a
(1)
2,n
.
.
.
.
.
.
a
(1)
k,1
. . . . . . . . . . . . a
(1)
k,n
.
.
.
.
.
.
a
(1)
n,1
. . . . . . . . . . . . a
(1)
n,n

et b
(2)
= L
(1)
b
(1)
A
(2)
=

a
(1)
1,1
. . . . . . . . . . . . a
(1)
1,n
0 a
(2)
2,2
. . . . . . . . . a
(2)
2,n
.
.
.
.
.
.
.
.
.
0 a
(2)
k,2
. . . . . . . . . a
(2)
k,n
.
.
.
.
.
.
.
.
.
0 a
(2)
n,2
. . . . . . . . . a
(2)
n,n

avec a
(2)
i ,j
= a
(1)
i ,j

a
(1)
i ,1
a
(1)
1,j
a
(1)
1,1
, i , j = 2, , n
Generalisation `a A /
n
inversible: AX = b
A
(k+1)
= L
(k)
A
(k)
=

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

a
(1)
1,1
. . . . . . . . . . . . a
(1)
1,n
0 a
(2)
2,2
. . . . . . . . . a
(2)
2,n
.
.
. 0 a
(k)
k,k
. . . . . . a
(k)
k,n
0 . . . a
(k)
k+1,k
. . . . . . a
(k)
k+1,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . a
(k)
n,k
. . . . . . a
(k)
n,n

et b
(k+1)
= L
(k)
b
(k)
A
(k+1)
=

a
(1)
1,1
. . . . . . . . . . . . a
(1)
1,n
0 a
(2)
2,2
. . . . . . . . . a
(2)
2,n
.
.
. 0 a
(k)
k,k
a
(k)
k,k+1
. . . a
(k)
k,n
0 . . . 0 a
(k+1)
k+1,k+1
. . . a
(k+1)
k+1,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 a
(k+1)
n,k+1
. . . a
(k+1)
n,n

avec a
(k+1)
i ,j
= a
(k)
i ,j

a
(k)
i ,k
a
(k)
k,j
a
(k)
k,k
, i , j = k + 1, , n
Generalisation `a A /
n
inversible: AX = b
A = LU
avec
U = A
(n)
U =

a
(1)
1,1
. . . . . . . . . . . . a
(1)
1,n
0 a
(2)
2,2
. . . . . . . . . a
(2)
2,n
.
.
. 0 a
(k)
k,k
a
(k)
k,k+1
. . . a
(k)
k,n
0 . . . 0 a
(k+1)
k+1,k+1
. . . a
(k+1)
k+1,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 0 0 a
(n)
n,n

Generalisation `a A /
n
inversible: AX = b
A = LU
avec
U = A
(n)
L =
_
L
(n1)
L
(k)
L
(1)
_
1
= (L
(1)
)
1
(L
(k)
)
1
(L
(n1)
)
1
(L
(k)
)
1
=

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

Generalisation `a A /
n
inversible: AX = b
(L
(k)
)
1
(L
(k+1)
)
1
=

1 0 . . . . . . . . . 0
0 1 . . . . . . . . .
.
.
.
.
.
. 0 1 . . . . . . 0
0 0
a
(k)
k+1,k
a
(k)
k,k
1 0
.
.
.
0 0
.
.
.
a
(k+1)
k+2,k+1
a
(k+1)
k+1,k+1
1 0
0 0
a
(k)
n,k
a
(k)
k,k
a
(k+1)
n,k+1
a
(k+1)
k+1,k+1
0 1

Generalisation `a A /
n
inversible: AX = b
L =

1 0 . . . . . . . . . 0
a
(1)
2,1
a
(1)
1,1
1 0 . . . . . .
.
.
.
.
.
.
.
.
.
1 0 . . . 0
.
.
.
.
.
.
a
(k)
k+1,k
a
(k)
k,k
1 0
.
.
.
.
.
.
.
.
.
.
.
.
a
(k+1)
k+2,k+1
a
(k+1)
k+1,k+1
1 0
a
(1)
n,1
a
(1)
1,1
.
.
.
a
(k)
n,k
a
(k)
k,k
a
(k+1)
n,k+1
a
(k+1)
k+1,k+1
a
(n1)
n,k
a
(n1)
n1,n1
1

Existence et unicite de la factorisation A = LU


Soit A /
n
, on suppose que les sous matrices diagonales de dimension k
_
_
_
a
1,1
a
1,k
.
.
.
.
.
.
a
k,1
a
k,k
_
_
_
sont inversibles pour tous k = 1, n.
Alors la factorisation A = LU avec L
i ,i
= 1, i = 1, , n existe et est
unique.
Preuve:
Existence etablie precedemment car on montre que le pivot a
k
k,k
,= 0
Unicite: A = L
1
U
1
= L
2
U
2
implique L
1
2
L
1
= U
2
U
1
1
= I
Algorithme: factorisation LU de A /
n
inversible
Initialisation: U = A, L = I
For k = 1, , n 1 (boucle sur les pivots)
For i , j = k + 1, , n
U
i ,j
U
i ,j

U
i ,k
U
k,j
U
k,k
(on suppose le pivot U
k,k
non nul)
End For
For i = k + 1, , n
L
i ,k
=
U
i ,k
U
k,k
End For
End For
U triu(U)
Remarque 1: on a suppose que U
k,k
,= 0
Remarque 2: on peut tout stocker dans A au cours de lalgorithme
Resolution de LUX = b
Descente: LY = b
For i = 1, , n
Y
i
= b
i

i 1
j =1
L
i ,j
Y
j
End For
Remontee: UX = Y
For i = n, , 1; 1
X
i
=
Y
i

n
j =i +1
U
i ,j
X
j
U
i ,i
End For
Complexite de lalgorithme
On compte le nombre dadditions et de multiplications et de divisions
(operations ottantes)
Factorisation: 2/3n
3
+O(n
2
)
Descente remontee: 2n
2
+O(n)
Conservation de la largeur de bande
q = max
i ,j =1, ,n
[j i [ tel que A
i ,j
,= 0
La factorisation A = LU precedente (sans pivotage) conserve la largeur de
bande q pour U et L
Preuve: propriete veriee pour toutes les matrices A
(k)
`a chaque etape
k = 1, , n
Complexite:
Factorisation: 2nq
2
+O(nq)
Descente remontee: 2nq +O(n)
Algorithme: factorisation LU pour une matrice bande de
largeur de bande q
Initialisation: U = A, L = I
For k = 1, , n 1 (boucle sur les pivots)
For i , j = k + 1, , max(k + q, n)
U
i ,j
U
i ,j

U
i ,k
U
k,j
U
k,k
(on suppose le pivot U
k,k
non nul)
End For
For i = k + 1, , max(k + q, n)
L
i ,k
=
U
i ,k
U
k,k
End For
End For
U triu(U)
Resolution de LUX = b pour une matrice bande de largeur
de bande q
Descente: LY = b
For i = 1, , n
Y
i
= b
i

i 1
j =max(i q,1)
L
i ,j
Y
j
End For
Remontee: UX = Y
For i = n, , 1; 1
X
i
=
Y
i

min(i +q,n)
j =i +1
U
i ,j
X
j
U
i ,i
End For
Matrices de permutation
Bijection de 1, , n dans 1, , n
Premi`ere representation:
P =
_
j
1
, , j
n
_
avec j
i
1, , n et j
i
,= j
l
pour i ,= l .
Action sur les vecteurs b R
n
: (Pb)
i
= b
P(i )
pour i = 1, , n
Do` u la representation matricielle: P
i ,j
= 1 si j = P(i ), sinon 0. On a sur les
matrices A /
n
:
(PA)
i ,j
= A
P(i ),j
.
Exemple
P =
_
_
_
_
0 1 0 0
1 0 0 0
0 0 0 1
0 0 1 0
_
_
_
_
, Pb =
_
_
_
_
b
2
b
1
b
4
b
3
_
_
_
_
Transpositions
= (i
1
, i
2
)
est la permutation telle que
(i
1
) = i
2
, (i
2
) = i
1
, (i ) = i i ,= i
1
, i
2
.
On a

2
= I ,
donc

1
= .
factorisation avec pivotage PA = LU
On a A
(1)
= A et pour k = 1, , n 1
A
(k+1)
= L
(k)

(k)
A
(k)
avec
(k)
= (k, i
k
) pour i
k
k tel que [A
(k)
i
k
,k
[ = max
i =k, ,n
[A
(k)
i ,k
[.
Do` u par recurrence
A
(n)
X = UX = L
(n1)

(n1)
L
(n2)

(n2)

(k+1)
L
(k)

(k)

(2)
L
(1)

(1)
b
UX =L
(n1)
_

(n1)
L
(n2)

(n1)
_

_

(n1)

(2)
L
(1)

(2)

(n1)
__

(n1)

(1)
_
b
do` u
L =
_

(n1)

(2)
(L
(1)
)
1

(2)

(n1)
_

_

(n1)
(L
(n2)
)
1

(n1)
_
(L
(n1)
)
1
et
P =
_

(n1)

(2)

(1)
_
Algorithme avec pivotage partiel PA = LU
Initialisation: U = A, L = I , P = (1, , n)
For k = 1, , n 1 (boucle sur les pivots)
i
k
= argmax
i =k, ,n
|U
i ,k
| (choix du pivot) transposition: = (k, i
k
), i
k
k
U U permutation des lignes de U
L L permutation des lignes de L hors diagonale
P P mise `a jour de la permutation P pour b
For i , j = k + 1, , n
U
i ,j
U
i ,j

U
i ,k
U
k,j
U
k,k
End For
For i = k + 1, , n
L
i ,k
=
U
i ,k
U
k,k
End For
End For
U triu(U)
Algorithme avec pivotage partiel PA = LU et avec stockage
de L (sans la diagonale) et de U dans la matrice A
Initialisation: P = (1, , n)
For k = 1, , n 1 (boucle sur les pivots)
i
k
= argmax
i =k, ,n
|A
i ,k
| (choix du pivot) transposition: = (k, i
k
), i
k
k
A A permutation des lignes k et i
k
P P mise `a jour de la permutation
For i = k + 1, , n
A
i ,k

A
i ,k
A
k,k
End For
For i , j = k + 1, , n
A
i ,j
A
i ,j
A
i ,k
A
k,j
End For
End For
L est la partie triangulaire inferieure stricte de A plus la diagonale unite.
U est la partie triangulaire superieure de A (avec la diagonale).
Resolution de PAX = LUX = Pb pour la factorisation avec
pivotage P
Descente: LY = Pb
For i = 1, , n
Y
i
= b
P(i )

i 1
j =1
L
i ,j
Y
j
End For
Remontee: UX = Y
For i = n, , 1; 1
X
i
=
Y
i

n
j =i +1
U
i ,j
X
j
U
i ,i
End For
Conditionnement
Soit || la norme induite dans /
n
par une norme || sur R
n
Conditionnement de A inversible : Cond(A) = |A||A
1
|
_
_
_
Cond(A) 1
Cond(A) = Cond(A)
Cond(AB) Cond(A)Cond(B)
Soit A inversible et
1
,
n
les vp min et max de A
t
A, on a pour la norme ||
2
Cond
2
(A) =
_

1
_
1/2
On en deduit que Cond
2
(A) = 1 ssi A = Q o` u Q matrice orthogonale
Pour A SDP de vp min et max
1
et
n
, on a pour la norme ||
2
Cond
2
(A) =

n

1
Erreur darrondi
Soit A une matrice inversible, on cherche `a estimer linuence sur la solution
dune erreur darrondi sur le second membre b
_
Ax = b
A(x + x) = b + b
implique
|x|
|x|
|A||A
1
|
|b|
|b|
Methodes iteratives: motivations
Matrice creuse: O(n) termes non nuls
Methodes iteratives: calcul dune suite x
n
faisant intervenir que des
produits matrice - vecteur
Pour une matrice creuse, une iteration co ute O(n) operations ottantes
Le probl`eme `a resoudre est la matrise de la convergence de la suite x
n
vers
x et du nombre diterations
Co ut pour une matrice creuse et une convergence en nit iterations
O(n.nit)
matrices creuses: exemple du Laplacien 2D sur maillage
Cartesien
Maillage cartesien uniforme (n + 1) (n + 1) du carre = (0, 1) (0, 1) de pas
x =
1
n+1
Laplacien avec conditions limites homog`enes:
_

2
u
x
2


2
u
y
2
= f sur
u(x) = 0 sur
Discretisation:
_
1
(x)
2
(4u
i ,j
u
i +1,j
u
i 1,j
u
i ,j +1
u
i ,j 1
= f
i ,j
pour i , j = 1, , n
u
i ,j
= 0 pour i = 0, n + 1, j = 0, , n + 1 et j = 0, n + 1, i = 0, , n + 1
Syst`eme lineaire: numerotation des inconnues k = i + (j 1)n de 1 `a N = n
2
AU = F avec A matrice pentadiagonale de largeur de bande q = n
Co ut dune methode directe LU: 2Nn
2
= 2N
2
Co ut dune methode iterative convergente en nit iterations: 10N.nit
Methode de Richardson
Soit A /
n
inversible et b R
n
. Soit x R
n
solution de
Ax = b.
Methode de Richardson: soit R, on construit une suite de solution x
k
de la
forme
x
k+1
= x
k
+ (b Ax
k
).
On a donc
(x
k+1
x) = (I A)(x
k
x),
(x
k+1
x) = (I A)
k
(x
1
x),
B = (I A)
Convergence: ssi (B) < 1
Taux de convergence: |B
k
|
1/k
(I A)
Methode de Richardon pour les matrices SDP
Soit A /
n
SDP (Symetrique Denie Positive) et
i
> 0, i = 1, , n ses
valeurs propres par ordre croissant
(I A) = max
_
[1
1
[, [1
n
[
_

opt
= argmin
R
max
_
[1
1
[, [1
n
[
_

opt
=
2

1
+
n
, (I
opt
A) =

n

1

1
+
n
=
1
+ 1
< 1
Probl`eme: on ne connait pas les valeurs propres de A
Voir Exercice: Methode de Richardson `a pas variable
Methode de Richardon pour les matrices SDP
Nombre diterations pour une precision xee:
|x
k+1
x|
2

_
(I
opt
A)
_
k
|x
1
x|
2
,
|x
k+1
x|
2

_
1
+ 1
_
k
|x
1
x|
2
,
On cherche le nb diteration k pour atteindre une precision , ie
_
1
+ 1
_
k
,
k
ln(
1

)
ln(
1+
1

1
1

)
Pour grand:
k
>

2
ln(
1

)
Methode de Richardon `a pas variable pour les matrices
SDP
Soit A /
n
SDP (Symetrique Denie Positive).
On pose e
k
= x x
k
, r
k
= Ae
k
= b Ax
k
,
et on consid`ere lalgorithme iteratif: x
1
donne et pour k = 1,
_
_
_

k
=
(r
k
, r
k
)
(Ar
k
, r
k
)
,
x
k+1
= x
k
+
k
r
k
.
On montre que

k
= Argmin
R
(Ae
k+1
, e
k+1
) =
2
(Ar
k
, r
k
) 2(r
k
, r
k
) + (Ae
k
, e
k
),
et
(Ae
k+1
, e
k+1
) =
_
1
(r
k
, r
k
)
2
(Ar
k
, r
k
)(A
1
r
k
, r
k
)
_
(Ae
k
, e
k
),
do` u
(Ae
k+1
, e
k+1
)
_
1
1
Cond
2
(A)
_
(Ae
k
, e
k
)
Methode de Richardon `a pas variable pour les matrices
SDP: algorithme
Ax = b avec A matrice SDP
Choix de la precision sur le residu relatif
Initialisation: x
1
, r
1
= b Ax
1
, nr = nr
0
= |r
1
|
Iterer tant que
nr
nr
0

p
k
= Ar
k

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

k
p
k
nr = r
k+1

Methode de Richardon preconditionnee


Preconditionnement: matrice C /
n
inversible
x
k+1
= x
k
+ C
1
(b Ax
k
)
(x
k+1
x) = (I C
1
A)(x
k
x)
B = (I C
1
A)
On cherche un preconditionnement C tel que
C A ie (I C
1
A) << 1
le syst`eme Cy = r est peu co uteux `a resoudre
Exemple des matrices et preconditionnements SDP
A, C /
n
symetriques denies positives.
Soient y = C
1/2
x, y
k
= C
1/2
x
k
, c = C
1/2
b on a
_
C
1/2
AC
1/2
_
y = c,
La matrice C
1/2
AC
1/2
est SDP, et
y
k+1
= y
k
+
_
c C
1/2
AC
1/2
y
k
_
Convergence ssi (I C
1/2
AC
1/2
) < 1

opt
=
2

min
(C
1/2
AC
1/2
) +
max
(C
1/2
AC
1/2
)
(I
opt
C
1/2
AC
1/2
) =

max
(C
1/2
AC
1/2
)
min
(C
1/2
AC
1/2
)

min
(C
1/2
AC
1/2
) +
max
(C
1/2
AC
1/2
)
Exemple des matrices et preconditionnements SDP
A, C /
n
symetriques denies positives.
Soient y = C
1/2
x, y
k
= C
1/2
x
k
, c = C
1/2
b on a
_
C
1/2
AC
1/2
_
y = c,
La matrice C
1/2
AC
1/2
est SDP, et
y
k+1
= y
k
+
_
c C
1/2
AC
1/2
y
k
_
Convergence ssi (I C
1/2
AC
1/2
) < 1

opt
=
2

min
(C
1/2
AC
1/2
) +
max
(C
1/2
AC
1/2
)
(I
opt
C
1/2
AC
1/2
) =

max
(C
1/2
AC
1/2
)
min
(C
1/2
AC
1/2
)

min
(C
1/2
AC
1/2
) +
max
(C
1/2
AC
1/2
)
Methode de Richardon preconditionnee `a pas variable pour
les matrices et preconditionnements SDP: algorithme
Soient A et C SDP et le syst`eme Ax = b.
On applique lalgorithme de Richardon `a pas variable au syst`eme
C
1/2
AC
1/2
y = C
1/2
b.
Il se formule comme precedemment avec la matrice

A = C
1/2
AC
1/2
, le
second membre c = C
1/2
b, les iteres y
k
= C
1/2
x
k
et les residus r
k
= C
1/2
r
k
.
En repassant `a A, x, r on obtient:
Choix de la precision sur le residu relatif
Initialisation: x
1
, r
1
= b Ax
1
, nr = nr
0
= |r
1
|
Iterer tant que
nr
nr
0

q
k
= C
1
r
k
p
k
= Aq
k

k
=
(q
k
,r
k
)
(p
k
,q
k
)
x
k+1
= x
k
+
k
q
k
r
k+1
= r
k

k
p
k
nr = r
k+1

Exemples de preconditionnements
A = D E F
avec D diagonale de A (supposee inversible), D E = tril(A), D F = triu(A)
Jacobi:
C = D
Gauss Seidel
C = D E ou C = D F
SOR (Successive over relaxation) (0, 2)
C =
D

E
SSOR (Symmetric Successive over relaxation) (0, 2)
C =
_
D

E
__
D

F
_
Jacobi
C = D et = 1
x
k+1
= x
k
+ D
1
(b Ax
k
)
Dx
k+1
= b (A D)x
k
Pour i = 1, , n:
A
i ,i
x
k+1
i
= b
i

j =i
A
i ,j
x
k
j
Gauss Seidel A = D E F
C = D E et = 1
x
k+1
= x
k
+ (D E)
1
(b Ax
k
)
(D E)x
k+1
= b + Fx
k
Pour i = 1, , n:
A
i ,i
x
k+1
i
= b
i

j <i
A
i ,j
x
k+1
j

j >i
A
i ,j
x
k
j
SOR A = D E F
Pour i = 1, , n:
_
A
i ,i
x
k+1
i
= b
i

j <i
A
i ,j
x
k+1
j

j >i
A
i ,j
x
k
j
x
k+1
i
= x
k+1
i
+ (1 )x
k
i
Verication de C =
D

E.
A
i ,i
_
x
k+1
i


(1 )

x
k
i
_
= b
i

j <i
A
i ,j
x
k+1
j

j >i
A
i ,j
x
k
j
(
D

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

D
_
x
k
= (
D

E)x
k
+ (b Ax
k
)
Convergence de Gauss Seidel
Si A est une matrice SDP, alors
_
I (D E)
1
A
_
< 1 et la methode de
Gauss Seidel converge
On va montrer que pour tous A SDP et M inversible telle que
_
M
t
+ M A
_
SDP alors
(I M
1
A) < 1
Preuve: on consid`ere la norme sur R
n
|x|
2

= (Ax, x) et on va montrer que


|I M
1
A|
2

= sup
x=0
|(I M
1
A)x|
2

|x|
2

< 1
Soit x ,= 0, on denit y ,= 0 tel que Ax = My
|(I M
1
A)x|
2

= (A(x y), (x y))


= |x|
2

+ (Ay, y) 2(Ax, y)
= |x|
2

+ (Ay, y) 2(My, y)
= |x|
2

((M
t
+ M A)y, y) < |x|
2

On conclut pour Gauss Seidel avec


M
t
+ M A = D E + D F D + E + F = D > 0
Solveurs non lineaires: plan
Rappels de calculs dierentiels pour des fonctions vectorielles de variable
vectorielle.
Algorithme de Newton pour resoudre f (x) = 0 avec f C
1
(U, R
n
) avec U
ouvert de R
n
.
Convergence quadratique de lalgorithme de Newton pour f C
2
(U, R
n
).
Rappels sur les fonctions vectorielles: dierentielles
Application lineaire tangente: soit U un ouvert de R
n
et f : U R
m
, on
dit que f est dierentiable au point x U ssi il existe une application
lineaire notee f

(x) L
_
R
n
, R
m
_
telle que
lim
h=00
|f (x + h) f (x) f

(x)(h)|
|h|
= 0
Si f est dierentiable au point x U alors f est continue en x.
Dierentielle: si f est dierentiable pour tout x U, on note x f

(x)
lapplication de U dans L(R
n
, R
m
) appelee dierentielle de f
Rappels sur les fonctions vectorielles: dierentielles
Exemples:
pour n = 1 on retrouve la derivee au sens classique f

(x) R
m
pour m = 1, f

(x) est une forme lineaire de L(R
n
, R)
Gradient f (x) R
n
: grace `a la structure euclidienne de R
n
, il existe un
unique vecteur f (x) appele gradient de f au point x tel que
(f (x), v) = f

(x)(v) pour tout v R


n
et dont la denition depend du
produit scalaire.
Methodes de Newton pour resoudre f (x) = 0
Soit
f : U R
n
R
n
,
telle quil existe x U avec f ( x) = 0.
Etant donne x
1
U, la methode de Newton calcule une suite x
k
, k = 2, ,
par linearisations successives de f ie on approche lequation f (x
k+1
) = 0 par sa
linearisation au voisinage de x
k
:
f

(x
k
)(x
k+1
x
k
) = f (x
k
).
A chaque iteration il faudra donc calculer la derivee f

(x
k
) et resoudre un
syst`eme lineaire.
Lanalyse de la methode de Newton doit donner des conditions susantes
sur f et sur x
1
pour que f

(x
k
) soit inversible pour tout k = 1, , et pour
que la suite x
k
converge vers x.
Rappels sur les fonctions vectorielles f : U R
n
R
m
Derivees partielles:
f
x
j
(x) est la derivee (si elle existe) de f selon la direction e
j
au point x ie
f
x
j
(x) = lim
h
j
0
f (x + h
j
e
j
) f (x)
h
j
.
Si f est dierentiable au point x alors elle admet des derivees partielles au
point x et
f

(x)(h) =
n

j =1
f
x
j
(x)h
j
pour tout h R
n
.
Matrice representant lapplication lineaire f

(x):
J(x) /
m,n
telle que J
i ,j
(x) =
f
i
x
j
(x), i = 1, , m; j = 1, , n
est appelee la matrice Jacobienne de f au point x.
Rappels sur les fonctions vectorielles f : U R
n
R
m
La reciproque nest pas vraie: si f admet des derivees partielles en x, elle
nest pas necessairement dierentiable au point x.
Exemple: f (x
1
, x
2
) =
x
1
x
2

x
2
1
+x
2
2
a des derivees partielles nulles en 0 mais nest
pas dierentiable en 0.
Si f admet des derivees partielles continues au point x pour tout
i = 1 , n alors f est dierentiable au point x
f est continuement dierentiable sur U (ie f

existe et est continue sur U)
ssi f admet des derivees partielles continues sur U. On dit que f est
C
1
_
U, R
n
_
.
Rappels sur les fonctions vectorielles: formule des
accroissements nis
Rappel dans le cas n = m = 1 (theor`eme de Rolle): f : [a, b] R R
m
: si
f est continue sur [a, b] et dierentiable sur (a, b) alors il existe c (a, b)
tel que
f (b) f (a) = f

(c)(b a).
Extension au cas m = 1, n 1
[a, b] = (1 t)a + tb, t [0, 1] U R
n
,
(a, b) = (1 t)a + tb, t (0, 1).
Si f est dierentiable sur U, alors il existe c (a, b) tel que
f (b) f (a) = f

(c)(b a) = (f (c), b a) aussi note f (c) (b a)
Preuve: on applique le theor`eme de Rolle `a (t) = f ((1 t)a + tb)
Rappels sur les fonctions vectorielles: formule des
accroissements nis
Cas general: n 1, m 1: f : U R
n
R
m
dierentiable sur U et
[a, b] U, alors
|f (b) f (a)| sup
x(a,b)
|f

(x)||b a|.
Preuve:
Soit (t) = f ((1 t)a + tb), on a

(t) = f

((1 t)a + tb)(b a) et

(t) sup
x(a,b)
f

(x)b a,
on conclut par f (b) f (a) =

1
0

(t)dt, do` u
f (b) f (a)

1
0

(t)dt sup
x(a,b)
f

(x)b a.
Rappels sur les fonctions vectorielles: dierentielle dordre
2
Soit f C
1
(U, R
m
) avec U ouvert de R
n
. On a f

C
0
_
U, L(R
n
; R
m
)
_
. Si f

est continuement dierentiable sur U on dit que f C
2
(U, R
m
) et on note f

sa dierentielle appelee dierentielle seconde de f . La dierentielle seconde
f

(x) est un element de L
_
R
n
; L(R
n
; R
m
)
_
isomorphe `a lensemble des
applications bilineaires L
_
R
n
, R
n
; R
m
_
.
Derivees partielles dordre 2: si f est dierentiable dordre 2 en x alors elle
admet des derivees partielles dordre 2 au point x notees

2
f (x)
x
i
x
j
avec
f

(x)(h, k) =
m

i ,j =1

2
f (x)
x
i
x
j
h
i
k
j
pour tous h, k R
n
On a alors le theor`eme de Schwarz: f

(x) est symetrique au sens o` u

2
f (x)
x
i
x
j
=

2
f (x)
x
j
x
i
pour tous i , j = 1, , n.
Dans le cas m = 1, on appelle H(x) /
n,n
la matrice dite Hessienne
representant la forme bilineaire f

(x) dans la base canonique.
Rappels sur les fonctions vectorielles: formule de Taylor `a
lordre 2 dans le cas f C
2
_
U, R
m
_
Soit f C
2
(U, R
m
) avec U ouvert de R
n
et a, b U tels que [a, b] U. Alors
on a
|f (b) f (a) f

(a)(b a)|
1
2
sup
x(a,b)
|f

(x)||b a|
2
,
avec
|f

(x)| = sup
u,v=0R
n
|f

(x)(u, v)|
|u||v|
.
Rappels sur les fonctions vectorielles: formule de Taylor `a
lordre 2 dans le cas f C
2
_
U, R
m
_
Preuve: soit
(t) = f (x + t(y x)) f (x) t f

(x)(y x),
on a

(t) =
_
f

(x + t(y x)) f

(x)
_
(y x) et donc
(1) = (1) (0) =
_
1
0
_
f

(x + t(y x)) f

(x)
_
(y x)dt
|(1)| = |f (y)f (x)f

(x)(y x)|
_
1
0
|f

(x +t(y x))f

(x)||y x|dt
on conclut par la formule des accroissements nis sur f

C
1
(U, R
m
):
|f

(x + t(y x)) f

(x)| sup
z(x+t(yx),y)
|f

(z)| |y x| t
Algorithme de Newton
Soit
f C
1
(U, R
n
), U ouvert de R
n
telle quil existe x U avec f ( x) = 0.
Etant donne x
1
U, la methode de Newton calcule une suite x
k
, k = 2, ,
par linearisations successives de f ie on approche lequation f (x
k+1
) = 0 par sa
linearisation au voisinage de x
k
:
f

(x
k
)(x
k+1
x
k
) = f (x
k
).
A chaque iteration il faudra donc calculer la derivee f

(x
k
) et resoudre un
syst`eme lineaire.
Lanalyse de la methode de Newton doit donner des conditions susantes
sur f et sur x
1
pour que f

(x
k
) soit inversible pour tout k = 1, , et pour
que la suite x
k
converge vers x.
Convergence quadratique de lalgorithme de Newton
Soit f C
2
(U, R
n
) avec U ouvert de R
n
et x U tel que f ( x) = 0. On
suppose que f

( x) est inversible. Alors il existe > 0 et > 0 tels que
B( x, ) = x [ |x x| < U
Si x
1
B( x, ) alors la suite x
k
, k N est bien denie et x
k
B( x, )
pour tout k N
Si x
1
B( x, ) alors la suite x
k
, k N converge vers x et
|x
k+1
x| |x
k
x|
2
(convergence quadratique)
Convergence quadratique de lalgorithme de Newton:
Preuve
On commence par montrer le lemme suivant:
Soit f C
2
(U, R
n
) avec U ouvert de R
n
et x U tel que f

( x) est inversible.
Alors il existe > 0, C
1
> 0, C
2
> 0 tels que B( x, ) U et
f

(x) inversible et |(f

(x))
1
| C
1
pour tous x B( x, )
|f (y) f (x) f

(x)(y x)| C
2
|y x|
2
pour tous (x, y) B( x, )
Preuve: le point 1 est une application de |(I A)
1
|
1
(1A)
pour |A| < 1
et le point 2 resulte directement de la formule de Taylor dordre 2.
Convergence quadratique de lalgorithme de Newton:
Preuve suite
Soit = min
_
,
1
C
1
C
2
_
. On suppose que x
k
B( x, ) (et donc f

(x
k
)
inversible), on va montrer que ceci implique x
k+1
B( x, ).
Comme f

(x
k
)(x
k+1
x
k
) + f (x
k
) = 0, on a
f

(x
k
)(x
k+1
x) = f ( x) f (x
k
) f

(x
k
)( x x
k
)
do` u
|x
k+1
x| |(f

(x
k
))
1
|C
2
|x
k
x|
2
C
1
C
2
|x
k
x|
2
.
On a donc x
k+1
B( x, ) et on donc a montre par recurrence que cest vrai
pour tout k N si x
1
B( x, ). On a ensuite
|x
k+1
x| (C
1
C
2
)
2k1
|x
1
x|
2k
Par ailleurs comme x
1
B( x, ), on a |x
1
x| <
1
C
1
C
2
, do` u la convergence de
la suite vers x. Elle est quadratique avec = C
1
C
2
.
Variantes de lalgorithme de Newton: Inexact Newton
Si le syst`eme lineaire est resolu avec une methode iterative on veut ajuster le
crit`ere darret du solveur lineaire pour preserver la convergence quadratique de
lalgorithme de Newton `a moindre co ut.
Ceci revient `a resoudre le syst`eme lineaire de facon approchee avec un residu r
k
f

(x
k
)(x
k+1
x
k
) = f (x
k
) + r
k
,
tel que
|r
k
|
k
|f (x
k
)|.
Dierentes strategies existent pour ajuster
k
de facon `a preserver la
convergence quadratique sans trop resoudre le syst`eme lineaire: par exemple

k
= min
_

max
,
[|f (x
k
)| |f (x
k1
) + f

(x
k1
)(x
k
x
k1
)|[
|f (x
k1
)|
_
,
avec
max
= 0.1. Ce choix prend en compte la abilite de lapproximation
tangentielle de f .
Variantes de lalgorithme de Newton: Quasi Newton
On na pas toujours en pratique acc`es au calcul exact de la Jacobienne de f . Il
existe des methodes iteratives pour lapprocher comme par exemple lalgorithme
de Broyden suivant:
Initialisation: x
0
, x
1
U, B
0
/
n
Iterations
On pose
k
= x
k
x
k1
et y
k
= f (x
k
) f (x
k1
)
Mise `a jour de rang 1 de la Jacobienne approchee:
B
k
= B
k1
+

y
k
B
k1

k
(
k
)
t

(
k
)
t
On resoud le syst`eme lineaire B
k

x
k+1
x
k

= f (x
k
)
La correction de rang 1 de la Jacobienne approchee est construite pour verier
la condition dite de la secante:
B
k
(x
k
x
k1
) = f (x
k
) f (x
k1
).