Vous êtes sur la page 1sur 15

Chapitre I.

Methodes directes de resolution des syst`emes lineaires


M. Granger
Table des mati`eres
1 Rappels dalg`ebre lineaire elementaire 1
1.1 Applications lineaires et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Rappels sur les determinants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Theor`eme fondamental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Generalites sur les syst`emes lineaire de Cramer. 5
3 La methode de Gauss 6
3.1 Description de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Strategie de choix du pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Calcul du nombre doperations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 La factorisation LU dune matrice carree. 10
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Deux exemples importants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Factorisation de Cholesky 13
Dans ce chapitre, la section 1 est pour lessentiel formee de rappels de premi`ere annee dUniversite
Il faudra preter attention aux notations de 1.1. qui seront utilisees dans tout le cours. En particulier
on veillera `a bien comprendre la remarque 4 qui montre comment voir le produit de deux matrices A
et B colonne par colonne ou ligne par ligne.
1 Rappels dalg`ebre lineaire elementaire
1.1 Applications lineaires et matrices
On note E et F deux espaces vectoriels de dimensions nies sur le corps K avec K = R ou C. On
note leurs dimensions respectives par : dimE = n et dimF = m.
Soient B = (e
1
, . . . , e
n
) et ( = (e

1
, . . . , e

m
) des bases respectives de E et F. Pour tout vecteur v (resp.
w) de E (resp. F) on note ses coordonnees dans la base B (resp.() sous la forme dune colonne :
V =

x
1
.
.
.
x
n

, resp. W =

y
1
.
.
.
y
m

ce qui signie que :


v =
n

j=1
x
j
e
j
, resp. w =
m

j=1
y
j
e

j
1
Lorsque E = K
n
et lorsque B est la base canonique, on identiera v et la colonne V , et on traitera
dans les formules v comme un vecteur colonne.
Soit : E F une application lineaire. La matrice de dans la paire de bases (B, () est la
matrice de taille mn :
Mat
B,C
() =

a
1,1
. . . a
1,n
. . .
a
m,1
. . . a
m,n

determinee par les egalites (e


j
) =

m
i=1
a
i,j
e

i
, autrement dit par le fait que la ji`eme colonne de cette
matrice, C
j
=

a
1,j
.
.
.
a
m,j

, est la colonne des coordonnees sur la base ( du vecteur c


j
= (e
j
).
On note L(E, F) lespace vectoriel des applications lineaires E F, et pour E = F on simplie
la notation : on note L(E) = L(E, E), appele espace vectoriel des endomorphismes de E. C est un
anneau non commutatif, avec pour multiplication la composition des endomorphismes.
On note
m,n
(K) lespace vectoriel des matrices de taille mn `a coecients dans K.
Proposition 1.1 .- Lapplication L(E, F)
m,n
(K) qui `a associe Mat
B,C
() est un isomor-
phisme despaces vectoriels (qui depend du choix des bases).
Remarque 1.- Pour eclairer cet enonce, explicitons `a laide de A = Mat
B,C
(), leet de sur les
coordonnees des vecteurs dans les bases B et ( :
Soit Mat
B,C
() = A, limage de par l isomorphisme de la proposition 1.1. Soient v =

n
j=1
x
j
e
j
un vecteur de E, w = (v) =

m
j=1
y
j
e

j
, son image par et V, W, les vecteurs colonnes des coordonnees
x
i
(resp. y
j
) de v (resp.w) dans les bases respectives B et (. Alors on trouve par un calcul direct les
relations :
y
i
=
n

j=1
a
i,j
x
j
pour i = 1, , m.
Ceci peut etre resume par la formule W = A V , o` u v et W sont des matrices colonnes et A V un
cas particulier du produit matriciel dont nous rappelons plus bas la denition (Remarque 4).
Remarque 2.- Lisomorphisme de la proposition 1.1 depend des bases B, ( utilisees. Cette dependance
est decrite par les formules de changement de bases dans les applications lineaires : si B

, (

sont deux
autres bases de E et F respectivement, et si P = P
BB
, resp Q = P
CC
sont les deux matrices de
changements de bases
1
, les matrices A := Mat
B,C
() et A

:= Mat
B

,C
() sont liees par la relation :
A

= Q
1
.A.P.
Remarque 3.- Lorsque E = K
n
et F = K
m
, et lorsquon choisit pour B, ( les bases canoniques
(a
n
et (a
m
, la proposition 1.1 fournit un isomorphisme particulier et on se permettra donc didentier
de cette fa con
m,n
(K) `a L(K
n
, K
m
).
En vertu de la remarque 1, cette identication fait correspondre `a la matrice A, lapplication
lineaire
A
: K
n
K
m
, denie par
A
(V ) = A.V .
Z.- Prendre garde au fait quon sera souvent amene `a exprimer lapplication lineaire
A
, dans des
bases autres que les bases canoniques. La matrice obtenue Mat
B,C
(
A
) nest pas alors pas la matrice
A.
Remarque 4.- Rappelons que le produit matriciel (B, A) B.A,

p,m
(K)
m,n
(K)
p,n
(K)
1
Rappelons que P = P
BB
, est la matrice dont les colonnes sont les coordonnees des vecteurs de B

dans la base B
2
est deni par (B.A)
i,k
=

B
i,j
A
j,k
. Par les isomorphismes de la proposition 1.1, le produit matriciel
correspond `a la composition des applications lineaires. Si : F G est une deuxi`eme application
lineaire, composable avec , dans le sens indique par F, on a :
Mat
B,D
( ) = Mat
C,D
() Mat
B,C
()
En particulier :
B.A
=
B

A
.
N.B.- On a utilise dans cette denition la convention, tr`es commode, consistant `a designer par A
i,j
le coecient situe `a la place (i, j) dune matrice A.
Remarque 5.- La presentation qui suit du produit matriciel en termes de lignes ou de colonnes
est indispensable `a une bonne comprehension des algorithmes de Gauss etudies au chapitre suivant.
On peut ecrire une matrice A, selon les besoins, comme une liste de lignes L
i
de longueur n, ou de
colonnes C
j
de longueur m respectivement, ce qui donne deux presentations possibles dune matrice
de taille mn :
A =

L
1
.
.
.
L
m

C
1
, . . . , C
n

Voir lexercice 0) pour lever tout malentendu sur cette presentation par lignes ou par colonnes et
apprendre `a lutiliser.
En sus du fait que le calcul pratique dun produit de matrice est largement facilite par ce point
de vue, il importe de rappeler ce que ces notions signient du point de vue de lalg`ebre lineaire : Les
colonnes de A engendrent limage de lapplication lineaire
A
. Dans le syst`eme dequations lineaires
(
2
) Au = b, de second membre b K
m
et dinconnue u K
n
, chaque ligne de A est la liste des
coecients du premier membre dune equation lineaire de ce syst`eme.
Le produit dune ligne L = (l
1
, . . . , l
m
) par une colonne (de meme longueur !) : =

1
.
.
.

m,1
(K) est la matrice scalaire de taille (1, 1) : (c) =

l
i

i
Le produit L A de A, `a gauche par la ligne L = (l
1
, . . . , l
m
)
1,m
(K) est la matrice ligne de

1,n
(K) :
L A = l
1
L
1
+. . . +l
m
L
m
De meme le produit A C de A par la colonne C =

c
1
.
.
.
c
n


n,1
(K) est la matrice colonne
de
m,1
(K) suivante :
A C = c
1
C
1
+. . . +c
n
C
n
Ces deux observations sont deux cas particuliers des produits par blocs, quon etudiera plus loin
en toute generalite.
Plus generalement, le produit B.A sexprime alors de la fa con commode suivante : On note, pour
preciser la dependance par rapport `a A, L
i
(A), 1 i m et C
j
(A), 1 i n, les rangees de
A et de meme B est une matrice de taille (p, m), multipliable `a droite par A, ecrite en ligne ou
en colonne :
B =

L
1
(B)
.
.
.
L
p
(B)

C
1
(B), . . . , C
m
(B)

Alors on peut donner du produit matriciel trois expressions, en lignes, en colonnes, ou enn par
le tableau de taille p n des produits des lignes de B par les colonnes de A :
2
objet des chapitres 2 ` a 4 de ce cours !
3
1.
B A = B

L
1
(A)
.
.
.
L
m
(A)

1
.
.
.
L

avec L

i
= b
i,1
L
1
(A) +. . . +b
i,m
L
m
(A) = L
i
(B) A, produit de A `a gauche par la i`eme ligne
de B.
2.
B A =

C
1
(B), . . . , C
m
(B)

A =

1
. . . C

avec C

j
= a
1,j
C
1
(B) + . . . + a
m,j
C
m
(B) = B C
j
(A), produit de B `a droite par la j`eme
colonne de A.
3.
B A =

L
1
(B) C
1
(A) L
1
(B) C
n
(A)
.
.
. L
i
(B) C
j
(A)
L
p
(B) C
1
(A) L
p
(B) C
n
(A)

Si K = R, B.Aest le tableau de produits scalaires dans R


m
, L
i
(A)C
j
(B) =< L
i
(A), C
j
(B) >.
1.2 Rappels sur les determinants
Soit A une matrice carree. Son determinant est :
detA =

Sn
(1)
()
(
n
i=1
a
i,(i)
) (1)
On peut aussi voir detA = det(V
1
, . . . , V
n
), comme lunique forme multilineaire alternee sur les vecteurs
colonnes V
1
, . . . , V
n
de A qui prend la valeur det(e
1
, . . . , e
n
) = 1 sur la base canonique de K
n
.
On suppose connues -voir dans un manuel de premi`ere annee- les proprietes elementaires du
determinant, notamment determinant dun produit, calcul pratique par modication de lignes ou
de colonnes etc.
Dans lexercice 1) on evalue le temps necessaire pour calculer un determinant 2020 puis 100100,
avec un ordinateur eectuant 10
8
operations par seconde.
Le resultat est dissuasif, sexprimant deja en milliers dannees pour le cas 20 20 et ce nest
surement pas en utilisant des formules fondees sur les determinants quon resoud les syst`emes lineaires
dans la pratique. Les methodes de resolution des syst`emes lineaires constituent lobjectif du chapitre
II, ainsi que du chapitre IV (methodes iteratives).
1.3 Theor`eme fondamental
Theor`eme 1.2 Soit f : E F une application lineaire entre espaces de dimensions nies. Alors :
dim(Im(f)) +dim(ker(f)) = dim(E)
Si E et F sont de la meme dimension (par exemple E = F = K
n
), cela donne
lequivalence :
f est injective f est surjective .
4
Autre formulation possible pour f : E F lineaire entre deux espaces de dimensions n, m, `a priori
quelconques.
f est bijective f est injective et m = n f est surjective et m = n.
Rappelons pour cela que, pour une application lineaire f, linjectivite est equivalente `a la condition
ker(f) = 0, qui equivaut aussi `a :
Le syst`eme lineaire A

x
1
.
.
.
x
n

= (0), na que la solution nulle.


Signalons pour se preparer au point de vue du chapitre II que la surjectivite sexprime aussi en
terme de syst`emes lineaires par :
Quel que soit le second membre b K
n
, le syst`eme lineaire A

x
1
.
.
.
x
n

= (b) a au moins une


solution.
2 Generalites sur les syst`emes lineaire de Cramer.
On consid`ere une matrice inversible A et on xe un vecteur b K
n
, K = R ou C (le second
membre). Lobjectif est detudier des methodes de resolution du syst`eme lineaire :
Au = b
dont linconnue est un vecteur u =

x
1
.
.
.
x
n

K
n
. On sait que sous lhypoth`ese dinversibilite un tel
syst`eme de n equations `a n inconnues a une solution unique.
Lobjectif est detudier des methodes de calcul approche de cette solution, qui en meme temps
controlent que A est bien inversible, et qui soient praticables pour des syst`emes de grande taille
(p.ex. au moins n 100), et aussi de determiner en fonction du syst`eme propose la abilite de la
solution obtenue, du point de vue de la sensibilite aux petites perturbations des coecients, et aux
erreurs darrondis.
On peut se rappeler quil existe une expression tr`es elegante de la solution avec des quotients de
determinants :
u
i
=
det(C
1
, , C
i1
, u, C
i+1
, , C
n
)
det(A)
Inutile dinsister car ces formules sont impraticables d`es que n est un peu grand, disons 10. Essayez
dej`a decrire un determinant 5 5. Voir aussi lexercice 1 du chapitre I
Remarque 1. Il ne sagit pas non plus dans la pratique de calculer A
1
pour ensuite faire u =
A
1
.b
En eet le calcul de A
1
= [u
1
, . . . , u
n
], decrit par ses vecteurs colonnes revient dej`a `a resoudre n
syst`emes lineaires : A.u
i
=

0
.
.
.
1
.
.
.
0

:= e
i
, ce qui est bien sur trop co uteux pour resoudre un seul
syst`eme.
5
Remarque 2. Un syst`eme triangulaire (T ) du type ci-dessous est aisee `a resoudre, par la methode
dite de remontee.
(T )

a
1,1
x
1
+ . . . . . . +a
1,n
x
n
= b
1
. . . . . . . . . . . . . . .
. . . . . .
a
i,i
x
i
+ . . . +a
i,n
x
n
= b
i
. . .
. . .
a
n,n
x
n
= b
n
La methode de remontee consiste `a determiner successivement :
x
n
=
b
n
a
n,n
puis chaque x
i
pour i variant de n 1 `a 1, par ordre decroissant des indices, en fonction des termes
dej`a calcules selon la formule :
x
i
=
1
a
i,i
[b
i
a
i,i+1
x
i+1
. . . a
i,n
x
n
]
Remarquer que le fait que la matrice soit inversible equivaut ici `a : i, a
i,i
= 0.
On verra dans lexercice 1) de ce chapitre que le nombre doperations necessaires pour resoudre
un tel syst`eme est de lordre de n
2
. Le co ut est faible par rapport au co ut de lalgorithme `a mettre
en oeuvre pour reduire un syst`eme quelconque `a cette forme, algorithme du pivot de Gauss qui fait
lobjet du prochain paragraphe.
3 La methode de Gauss
3.1 Description de lalgorithme
La methode consiste `a construire une matrice inversible M telle que MA = U soit une matrice
triangulaire superieure.
Le syst`eme initial Au = b est alors equivalent parr multiplication `a gauche par M inversible au syst`eme
triangulaire MAu = Mb cest `a dire au syst`eme :
U.u = b

,
de second membre b

= Mb. Il sut donc dappliquer `a ce dernier syst`eme la methode de remontee.


En fait, on ne calcule pas directement la matrice M, mais on decrit une succession doperations dites
operations elementaires, chacune delle sinterpretant comme la multiplication `a gauche par une matrice
inversible M
i
, `a la fois de A et du second membre b, le resultat de cette succession doperations etant
MA = U et Mb = b

avec M = M
q
. . . M
1
. Voici la succession de ces etapes :
Etape 1
Sous-etape 1.1. Puisque A est inversible sa premi`ere colonne est non nulle : On peut donc choisir
i tel que a
i,1
= 0. On appelle a
i,1
le pivot pour la premi`ere etape. Si i = 1 on echange les lignes 1 et i
de A ainsi que les seconds membres b
1
et b
i
. Sinon on ne change rien.
Ecrivons A comme une succession de n lignes de longueur n
A =

L
1
.
.
.
L
n

6
avec L
i
= [a
i,1
, . . . , a
i,n
]. On rappelle que selon le chapitre I, [
1
, . . . ,
n
].A est la matrice ligne
1
.L
1
+
. . . +
n
.L
n
.
Par cons`equent, si i = 1 lechange de lignes indique nest autre que la transformation A T
1,i
.A,
b T
1,i
.b, o` u T
1,i
est la matrice de lapplication lineaire associee `a la transposition des vecteurs de
base dindices 1 et i (voir aussi lexercice 2) :
T
1,i
=
i

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

Par convention T
1,1
= I. Cest le cas i = 1 o` u le pivot est demblee `a la bonne place. Et la
multiplication `a gauche par T
1,1
consiste comme souhaite `a ne rien changer.
Sous-etape 1.2.-
On eectue sur la matrice A

= T
i,1
.A =

i,j

1
.
.
.
L

, quon vient dobtenir, des combinaisons


lineaires de lignes du type
A
2
=

1
L

2

2
.L

1
.
.
.
L

n

n
.L

,
de facon que la premi`ere colonne devienne :

1,1
0
.
.
.
0

.
On change simultanement le second membre en b
(2)
=

b
(2)
1
b
(2)
2
.
.
.
b
(2)
n

1
b

2

2
.b

1
.
.
.
b

n

n
.b

.
Precisement, le choix necessaire et susant des
k
pour que la matrice A
2
soit de la forme voulue
(1) A
2
=

a
1,1

2
, ,
n
0
.
.
.

A
2
0

,
avec

A
2
, une matrice (n 1) (n 1), est
k
=
a

k,1
a

1,1
.
Pour bien voir la valeur de
k
, on peut ecrire sous forme developpee la combinaison de ligne
L

k

k
.L

1
a

1,1
, a

1,2
, , a

1,n
[ (
k
)
a

k,1
, a

k,2
, , a

k,n
[ 1
7
dont il sagit dannuler le premier coecient ce qui donne lequation a

1,1
(
k
) + a

k,1
= 0, et donc
lunique valeur de
k
annoncee.
Pour lharmonie des notations on pose A = A
1
, b = b
(1)
.
La transformation de la sous-etape 1.2.
A

1
.
.
.
L

1
L

2

2
.L

1
.
.
.
L

n

n
.L

, b

b
(2)
,
nest autre que la multiplication A

E.A

E.b

par la matrice
E =

1 0 0 0

2
1 0 0

3
0 1 0
.
.
.
.
.
.
.
.
.

n
0 0 1

comme on peut le voir facilement par la technique de multiplication des matrices vue dans le chapitre
1, remarque 5 de la premi`ere section. Ainsi :
E.T
i,1
.A = A
2
, E.T
i,1
.b = b
(2)
et Au = b A
2
u = b
(2)
.
Etapes 2 `a n 1.
La poursuite de lalgorithme du pivot consiste alors `a repeter le meme processus `a partir des lignes
2, , n 1, en placant par un echange eventuel de lignes un pivot non nul aux positions successives
(2, 2), , (n 1, n 1), de facon `a rendre la matrice transformee triangulaire jusqu`a la colonne k
incluse `a lissue de la k i`eme etape.
Cela revient par recurrence `a appliquer, sur la matrice

A
2
de (1), lalgorithme de Gauss pour les
matrices de taille (n 1) (n 1) immediatement inferieure `a celle de A.
Pour etre totalement explicite nous decrivons le passage de A
k
, resultat de la (k 1)i`eme etape `a
A
k+1
, resultat de la ki`eme etape, et la tranformation du second membre b
(k)
de la (k 1)i`eme etape
en b
(k+1)
. La matrice A
k
, triangulaire jusqu`a la (k 1)i`eme colonne secrit donc :
A
k
=

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

A
k
0 . . . 0

,
Les coecients de

A
k
seront notes a
(k1)
i,j
, pour k i, j n.
Si k n 1 on passe alors de A
k
`a A
k+1
par une transformation du type : A
k+1
= E
k
T
k
A
k
. La
matrice T
k
, est soit la matrice unite soit une matrice de transposition T
k
= T
k,i
k
, avec i
k
> k, sil y
a lieu dechanger les lignes dindices k et i
k
, pour placer un coecient non nul a
(k1)
k,i
k
en position de
pivot `a la place (k, k). La matrice E
k
est triangulaire inferieure de la forme :
8
E
k
=

1 . . . 0 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 1 0 0 0
0 . . . 0 1 0 0
0 . . . 0
k+1,k
1 0
.
.
. . . .
.
.
.
.
.
.
.
.
.
0 . . . 0
n,k
0 1

.
On appelle transvection toute matrice de ce type, avec une diagonale unite. Le second membre suit
le mouvement et est change en b
(k+1)
= E
k
T
k
b
(k)
.
Remarquons que chacune de ces transformations elementaires conserve le determinant au signe
pr`es puisque det(E
k
) = 1 et det(T
k
) = 1, sauf si T
k
= I, donc det(A
k+1
) = det(T
k
.A
k
) = det(A
k
).
Par recurrence, A
k
est inversible, donc

A
k
lest aussi, ce qui permet de justier, de la meme fa con que
dans la sous etape 1.1., le fait que lalgorithme peut se poursuivre :
Pour etre encore plus detaille : la ki`eme operation consiste `a traiter

A
k
exactement comme A = A
1
dans la premi`ere etape, en ne modiant dans A
k
que les nk derni`eres lignes et colonnes : cela revient
`a choisir un pivot non nul a
(k1)
k,i
k
dans la premi`ere colonne de

A
k
, `a echanger les lignes k et i
k
de

A
k
,
(et de A
k
) puis `a transformer

A
k
`a laide du pivot.
Le processus complet se resume donc par legalite suivante o` u A
n
est une matrice triangulaire.
A
n
= E
n1
.T
n1
. . . E
1
.T
1
.A , b
(n)
= E
n1
.T
n1
. . . E
1
.T
1
.b .
3.2 Strategie de choix du pivot
Que se passe il si on adopte la strategie bete consistant `a choisir le premier coecient rencontre
dans la colonne consideree, par exemple a
1,1
si a
1,1
= 0 ? Cela peut donner lieu `a de grandes erreurs
darrondi, comme le montre lexemple suivant :
(o)

0, 0001x + y = 1
x + y = 2
On suppose que la machine fonctionne avec 3 chires signicatifs en virgules ottantes (les vraies
machines travaillent au moins `a 16 decimales). Par exemple 0.0001 , = 3.14159. . . , 1/3 = 0.33333. . .
sont convertis respectivement en :
1.00 10
4
, 3.14 10
0
, 3.33 10
1
valeurs approchees sauf la premi`ere qui se trouve etre exacte.
Remarques.- Une autre convention souvent utilisee est lecriture commencant par 0. comme dans
0.31410
+1
. Dans 1.00 il faut remarquer que les deux 0 sont signicatifs et que 1.00 est lecriture
approchee de tout nombre strictement compris entre 0.995 et 1.005. Rappelons que les calculateurs
utilisent le signe . plutot que la virgule de la tradition fran caise pour separer les entiers des decimales.
Dans lexemple (o) et selon la strategie bete on prend pour pivot a
1,1
= 1.00 10
4
. On
transforme donc la deuxi`eme ligne par : L
2
10
+4
L
1
. Le calcul exact est
(o
1
)

0.0001x + y = 1
9999y = 9998
mais la machine prend la version arrondie :
(o

1
)

10
4
x + y = 1
1.00 10
4
y = 1.00 10
4
9
et la resolution du syst`eme triangulaire obtenu est alors :
y = 1 puis 0.0001x = 1 y = 0
donc la solution trouvee est
x = 0 , y = 1
ce qui est tr`es eloigne de la solution exacte tiree de (o
1
) :
x = 1/0.9999 = 1.00010001... 1.00.
Explication : Lorsquon calcule x dans la premi`ere equation 0.0001x = 1 y = 0, on divise par
un petit pivot 0.0001, et lerreur sur y dans le calcul approche de la deuxi`eme equation se trouve
multipliee par 10000 : lerreur darrondi qui peut aller initialement jusqu`a 0.5 103 devient du
meme ordre de grandeur que les solutions.
Si au contraire, on echange les lignes et on choisit pour pivot a
2,1
= 1, la resolution donne le
syst`eme triangulaire :

x + y = 2
0.9999y = 0.9998 0.999
Do` u y = 1 et cette fois x = 2 y = 1, ce qui est correct `a 10
3
pr`es.
Conclusion : Pivot total, pivot partiel. Meme si `a lissue de la (k1)i`eme etape on trouve a
(k1)
k,k
= 0,
on vient de voir quil est preferable de choisir un autre pivot.
La strategie du pivot partiel consiste `a choisir a
(k1)
i,k
, avec i k de module maximum dans la ki`eme
colonne de

A
k
.
La methode du pivot total, consiste ` a utiliser le plus grand des coecients a
(k1)
i,j
, parmi toutes
les paires dindices (i, j), ce qui m`ene `a des echanges de lignes et de colonnes. La methode est plus
precise mais plus co uteuse en temps. De plus, il faut prendre garde au fait que la solution du syst`eme
transforme nest pas u, mais un vecteur obtenu en permutant les coordonnees de u, de la meme facon
quon a permute les colonnes.
Notre exemple de mauvais choix de pivot a
1,1
decrit un cas particuli`erement defavorable o` u le
rapport a
2,1
/a
1,1
est le plus eleve possible. Pour une matrice assez generale, le choix bete de pivot
`a chaque etape est souvent numeriquement acceptable et donne alors lieu `a une factorisation de la
matrice A en produit de matrices triangulaires qui est lobjet de la section 4 suivante.
3.3 Calcul du nombre doperations.
Proposition 3.1 .-
La mise en oeuvre de la methode du pivot necessite
n
3
n
3
additions-soustractions, autant de mul-
tiplications et
n(n1)
2
divisions, soit un total doperations de lordre de
2n
3
3
La verication fera lobjet de lexercice 3). On comparera le resultat obtenu `a la methode de
Cramer consistant `a calculer des determinants.
4 La factorisation LU dune matrice carree.
4.1
Supposons quon puisse trouver deux matrices L triangulaire inferieure (L pour lower), et U tri-
angulaire superieure (U pour upper) telles que
A = LU.
Alors resoudre le syst`eme Ax = b, revient `a resoudre successivement les deux syst`emes Ly = b
puis Ux = y, le vecteur intermediaire y sobtenant par une methode de descente, analogue `a celle de
10
remontee mais o` u cette fois on calcule successivement x
1
, x
2
, . . ., x
n
dans lordre croissant des indices,
puisque la matrice L est triangulaire inferieure.
Le nombre doperations de lordre de 2n
2
. En ajoutant la mise sous forme LU, dont on va voir quelle
revient `a un pivot de Gauss, avec un nombre doperations de lordre de
2n
3
3
cela donne pour resoudre
simultanement p syst`emes Ax = b
j
, avec des seconds membres b
1
, , b
p
, un nombre doperations de
lordre de 2n
2
.p +
2n
3
3
.
Il nexiste pas toujours une decomposition LU comme le montre lexemple suivant :
Exemple : La matrice suivante :

0 1
1 1

nadmet pas de decomposition LU.


En eet une decomposition LU secrirait (
0 1
1 1
) = (
a 0
b c
)(
d e
0 f
). Ceci impliquerait ad = 0, ae =
1, bd = 1 qui est impossible.
Nous nous pla cons maintenant dans le cas particulier o` u ce que nous avons appele la strategie bete
fonctionne jusquau bout : si `a chaque etape de lalgorithme, on constate que a
(k1)
k,k
= 0 on choisit
comme pivot, ce premier coecient en haut `a gauche a
(k1)
k,k
de

A
k
. Cest la strategie qui consiste `a
eviter toute permutation de lignes.
Dans les notations de lalgorithme de Gauss que nous avons utilisees dans la section 3, on a alors
T
k
= I, et les matrices intermediaires A
k
sont donc telles que A
k+1
= E
k
T
k
A
k
= E
k
A
k
, ce qui donne :
A
k+1
= E
k
T
k
A
k
= E
k
E
1
A
1
.
On aboutit `a la formule MA = A
n
= U, triangulaire superieure avec M = E
n1
. E
1
, triangulaire
inferieure .
Le fait que chaque E
i
est triangulaire inferieure avec une diagonale unite, entrane quil en est de
meme de chaque E
1
i
, puis de L = M
1
= E
1
1
E
1
n1
. Cest lobjet de lexercice 4).
On a donc obtenu une decomposition A = LU avec :
L = M
1
= E
1
1
E
1
n1
matrice triangulaire `a diagonale unite. Une telle matrice est aussi appelee matrice unipotente. Ceci
demontre la premi`ere partie (existence) de la proposition 4.1 ci dessous.
La justication du fait que la prise de linverse et le produit preservent la structure triangulaire
inferieure, que ce soit avec ou sans la condition de diagonale unite fait lobjet dun exercice, comme
dej`a indique. Le deuxi`eme question de ce meme exercice 4) contient aussi la demonstration de la
remarque suivante.
Remarque : Lobjet de cette remarque est de montrer que le calcul de L = M
1
ne co ute RIEN
en temps de calcul, sinon de recopier des donnees. On verie en eet les faits suivants :
E
k
=

1 . . . 0 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 1 0 0 0
0 . . . 0 1 0 0
0 . . . 0
k+1,k
1 0
.
.
. . . .
.
.
.
.
.
.
.
.
.
0 . . . 0
n,k
0 1

, a pour inverse E
1
k
=

1 . . . 0 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 1 0 0 0
0 . . . 0 1 0 0
0 . . . 0 +
k+1,k
1 0
.
.
. . . .
.
.
.
.
.
.
.
.
.
0 . . . 0 +
n,k
0 1

.
11
puis
L = E
1
1
E
1
n1
=

1 0 0 0
+
2,1
.
.
. 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1 0 0
+
k+1,1
+
k+1,k
1 0
.
.
.
.
.
.
.
.
.
.
.
.
+
n,1
+
n,k
+
n,n1
1

.
On remarquera limportance de lordre des multiplications de matrices : le calcul de L seectue
par simple recopiage, alors que celui de E
1
n1
E
1
1
serait bien plus complique.
Faire lessai sur des matrices 3 3 en comparant :

1 0 0
a 1 0
b 0 1

1 0 0
0 1 0
0 c 1

et

1 0 0
0 1 0
0 c 1

1 0 0
a 1 0
b 0 1

Proposition 4.1 .- Si le choix de pivot bete, sans permutation de lignes, est possible `a chaque etape,
la matrice A admet une decomposition LU, avec L unipotente (i.e.`a diagonale unitaire). De plus cette
decomposition est unique.
Demonstration.- Lexistence vient detre etablie. Voyons lunicite :
Supposons que A = LU = L

, avec L, L

(resp U, U

) triangulaire inferieure unipotente (resp


superieure.) Alors :
L
1
L

= UU
1
est une matrice `a la fois triangulaire inferieure et superieure donc diagonale, et cest la matrice unite
I, puisque selon lecriture L
1
L

, elle est `a diagonale unite.


Ainsi L
1
L

= I, donc L = L

et de meme U = U

.
Voici une condition necessaire et susante pour lexistence dune factorisation LU :
Theor`eme 4.2 .- Soit A = (a
i,j
) une matrice carree. On consid`ere les determinants
k
= det(M
k
)
des sous-matrices dites principales :
M
k
=

a
1,1
a
1,k
.
.
.
.
.
.
a
k,1
a
k,k

(Ce sont les coins superieurs gauche de toutes les tailles possibles). Alors A admet une factorisation
LU, si et seulement si pour tout k 1, , n, on a
k
= 0, et cette condition equivaut aussi au fait
que lalgorithme de Gauss fonctionne sans permutation de lignes (lalgorithme bete fonctionne).
Demonstration.- On se place `a lissue de letape k 1 de lalgorithme de la section 3 en supposant
que le pivot bete a pu etre choisi, `a chaque etape. Ainsi A
k
= E.A avec E = E
k1
E
1
. Appliquons
la mutiplication par blocs de tailles k et n k. Comme E et A sont de la forme :
E =

T
k
0
E
II,I
I

et A =

M
k
A
I,II
A
II,I
A
II,II

12
avec T
k
triangulaire de taille k, `a diagonale unite, cela donne, pour le premier bloc en haut `a gauche
de A
k
:
T
k
.M
k
+ 0 A
II,I
= T
k
.M
k
=

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

On en deduit, puisque det(T


k
) = 1, que
k
= det(M
k
) = a
(1)
1,1
a
(k1)
k1,k1
a
(k1)
k,k
.
On a aussi pour la meme raison
k1
= det(M
k1
) = a
(1)
1,1
a
(k1)
k1,k1
. Donc sachant que
k1
= 0,
on trouve que
k
= 0 implique la non nullite du pivot a
(k1)
k,k
rencontre dans la k i`eme etape.
Par recurrence sur k on a donc obtenu lequivalence annoncee entre lensemble des conditions

k
= 0, et des conditions a
(k1)
k,k
= 0 de non nulite des pivots betes.
On a deja vu que ces derni`eres conditions impliquent lexistence dune factorisation LU.
Reciproquement le meme argument de multiplication par blocs montre que legalite A = LU,
implique la non nullite de
k
, si L et U sont triangulaires inversibles.

N.B. Observer que a


(k1)
k,k
= a
(k)
k,k
sous les conditions de ce theor`eme.
4.2 Deux exemples importants
1) Les matrices tridiagonales.
Ce sont les matrices carrees telles a
i,j
= 0, si [i j[ 2, cest `a dire de la forme
A =

a
1
b
1
0 . . . 0
c
2
a
2
b
2
. . .
.
.
.
0
.
.
.
.
.
.
.
.
. 0
.
.
. b
n1
0 . . . 0 c
n
a
n

On montre que si la matrice A admet une decomposition LU, les matrices L et U sont bidiagonales et
que les pivots
d
1
= a
1
, d
2
, . . ., d
n
qui constituent la diagonale du U, sont donnes par la relation de recurrence :
d
p+1
= a
p+1

b
p+1
c
p
d
p
2) Les matrices `a diagonale dominante. Cet exemple important fait lobjet de lexercice 6).
Denition 4.3 On dit que la matrice carree A = (a
i,j
) est `a diagonale dominante si
i 1, , n [a
i,i
[ >

1jj=i
[a
i,j
[
Dans cette denition [a
i,i
[ domine sa ligne. On pourrait adapter sur les colonnes avec des resultats
analogues.
Lemme 4.4 Si A est `a diagonale dominante alors cest une matrice inversible.
13
Corollaire 4.5 Si A est `a diagonale dominante alors elle admet une factorisation LU.
En eet les sous-matrices principales M
k
sont aussi clairement `a diagonale dominante donc inver-
sibles et le theor`eme precedent sapplique.
Corollaire 4.6 Soit A une matrice carree et C une valeur propre de A. Alors :
[ a
i,i
[

1jj=i
[a
i,j
[
En dautres termes le spectre de A est contenu dans une reunion de disques de centres respectifs a
i,i
et rayons
i
=

1jj=i
[a
i,j
[. Les cercles correspondants sont appeles cercles de Gerschgorin. Un
exemple concret est donne `a la n de lexercice 6).
5 Factorisation de Cholesky
La decomposition de Cholesky nest quune variante de la decomposition LU pour des matrices
particuli`eres : Dans toute cette section A
n
(R) est une matrice carree reelle symetrique denie
positive. cest `a dire telle que :
A =
t
A et x R
n
` 0,
t
xAx > 0
Une telle matrice est forcement inversible puisque Ax = 0
t
xAx = 0.
Theor`eme 5.1 Il existe une matrice B triangulaire inferieure telle que :
A = B(
t
B)
On peut exiger en plus b
i,i
> 0 pour tout i. Et sous cette condition sur ses coecients diagonaux, la
matrice B est unique.
Demonstration.- Pour tout k la sous-matrice M
k
= (a
i,j
)
1i,jk
introduite dans le theor`eme 4.2
est inversible, car cest la matrice de la restriction `a R
k
0, de la forme quadratique x
t
xAx, et le
fait detre denie positive passe aux sous-espaces. Il existe donc dapr`es la section 4 une decomposition
A = LU =

1 0
.
.
.
.
.
. 0
.
.
.
.
.
. l
i,j
.
.
.
.
.
.
l
n,1
1

u
1,1
u
1,n
.
.
.
.
.
. u
i,j
.
.
.
.
.
. 0
.
.
.
.
.
.
0 u
n,n

La matrice L ayant une diagonale de 1 et on note u


1,1
, . . . , u
n,n
, les termes diagonaux de U.
On a dapr`es un calcul dej`a fait dans la demonstration du theor`eme 4.2 :
k
= det(M
k
) =
u
1,1
. . . u
k,k
. Le fait que pour tout k,
k
> 0 implique par une recurrence immediate que k, u
k,k
> 0.
Notons alors la matrice diagonale de diagonale (

u
1,1
, . . . ,

u
n,n
). On obtient alors une nouvelle
decomposition en matrices triangulaires ayant la meme diagonale :
A = BC = (L)(
1
U)
B = L =

u
1,1
0
.
.
.
.
.
. 0
.
.
.
.
.
. b
i,j
.
.
.
.
.
.
b
n,1


u
n,n

et C =
1
U =

u
1,1
c
1,n
.
.
.
.
.
. c
i,j
.
.
.
.
.
. 0
.
.
.
.
.
.
0

u
n,n

14
La relation
t
A = A implique BC =
t
C.
t
B, donc
() C(
t
B)
1
= B
1
.
t
C
On constate, en appliquant les resultats de lexercice 4) sur les produits et inverses des matrices
triangulaires que cette matrice est triangulaire superieure dapr`es le membre de gauche de legalite et
triangulaire inferieure dapr`es le membre de droite : cest donc une matrice diagonale. Dautre part
les termes diagonaux des matrices triangulaires superieures C et
t
B etant egaux ceux de C(
t
B)
1
qui
sont leurs quotients respectifs valent 1, et la matrice commune aux deux membres de () est donc
C(
t
B)
1
= I. Ceci donne C =
t
B, ce quil fallait demontrer.

Observons que la partie existence de la demonstration a donne directement la solution `a diagonale


de coecients positifs. Sans cette condition de positivite il y a dautres solutions : on peut changer B
en B avec diagonale `a coecients dans 1, +1. En eet on a alors
2
= I, matrice unite, donc
B
t
(B) = B()
2t
B = B
t
B = A.
Calcul de B : on peut naturellement appliquer lalgorithme de factorisation LU, puis en tirer
B = L, en utilisant les coecients diagonaux de U.
Toutefois on peut aussi calculer B directement et on constate que le nombre doperations est alors
divise par deux de lordre de
n
3
3
. Cest lobjet de lexercice 8) precede dun exemple dans lexercice 7).
Rappel et remarque.- La forme quadratique associee `a une matrice symetrique A est q(x) =
t
xAx =

i,j
a
i,j
x
i
x
j
.
Selon la decomposotion de Cholesky, on trouve :
q(x) =
t
xB
t
Bx =
t
(
t
Bx)(
t
Bx) = |
t
Bx|
2
ce qui souligne le caract`ere positif de la matrice A et de la forme quadratique.
Remarque Il existe une decomposition de Cholesky, que nous ne developpons pas ici par souci de
simplicite, pour les matrices `a coecients dans C, hermitiennes denies positives.
15