• Aucun résultat trouvé

Matrices : transformations élémentaires

N/A
N/A
Protected

Academic year: 2022

Partager "Matrices : transformations élémentaires"

Copied!
8
0
0

Texte intégral

(1)

Matrices : transformations élémentaires

Rédaction incomplète. Version 0.4

le 28 mars 2020

Plan

I. Algorithmes. . . 1

1. Algorithme de Gauss. . . 1

1.Opérations élémentaires . . . 1

2.Principe général . . . 2

2. Algorithme I : pivot partiel . . . 2

3. Algorithme I' : pivot partiel étendu . . . 3

4. Algorithme II : pivot total. . . 3

II. Matrices et opérations élémentaires . . . 4

III. Applications. . . 5

1. Pivot partiel. . . 5

2. Pivot partiel étendu . . . 6

3. Pivot total . . . 6

IV. Systèmes d'équations . . . 7

1. Présentation. . . 7

2. Espace des solutions. Rang . . . 7

3. Systèmes de Cramer . . . 8

4. Traitement pratique des systèmes . . . 8

Index

éliminer,8

algorithme de Gauss,1 algorithme du pivot partiel,2 algorithme du pivot partiel étendu,3 algorithme du pivot total,3

invariant par transformation élémentaire,5 matrices d'opérations élémentaires,4

opérations élémentaires,1 phase de remontée,8 pivot,2

résoudre,8

rang d'un système, 7 système de Cramer,6

I. Algorithmes

1. Algorithme de Gauss

1. Opérations élémentaires

On appelle opérations élémentaires les transformations suivantes d'une matrice àplignes etqcolonnes en une matrice àplignes etq colonnes.

Permuter deux lignes.

Permuter deux colonnes.

Pouriet i0 entre1 etpetλscalaire quelconque : ajouter à la ligneila lignei0 multipliée parλ. Bien noter que seule la ligneiest modiée.

Pourj etj0 entre1etqetλscalaire quelconque : ajouter à la colonnej la colonnej0 multipliée parλ. Bien noter que seule la colonnej est modiée.

Multiplier une ligne par un scalaireλnon nul.

Multiplier une colonne par un scalaireλnon nul.

Les opérations élémentaires sont réversibles ; c'est à dire que si A est la matrice de départ et A0 une matrice obtenue à partir de A par une opération élémentaire, on peut, par opération élémentaire, transformer A0 en A. Par exemple, pour le troisième type, il sut d'ajouter−λfois la lignei0 à la lignei.

(2)

2. Principe général

L'algorithme de Gauss transforme une matrice en utilisant exclusivement des opérations élémentaires.

Le diagramme de la gure1présente un algorithme de Gauss très général utilisant des procédures Pivot, Nettoie et Permute. Les diverses variantes s'obtiennent en modiant ces procédures. Un tableau à deux dimensions représente

i <−− 1

i <= min(p,q) cle <−− Pivot(i) cle <> 0 Permute(i,cle) Nettoie(i)

i<−− i+1

retour

retour fin

V

F

V

F

Fig. 1: Algorithme de Gauss

une matrice àplignes et qcolonnes. Il est commode d'utiliser des variables globales (par exemple A, p, q) pour désigner le tableau et ses dimensions. Les variables i et cle sont locales.

La procédure Pivot(i) renvoie une clé (pas une valeur mais un indice ou un couple d'indices) du tableau dont la valeur (appelée pivot) est non nulle. Cette clé est cherchée dans une partie de la matrice. Plusieurs stratégies sont possibles pour le choix de cette clé.

La procédure Permute(i,cle) échange des lignes (et éventuellement des colonnes) pour placer la valeur pivot en position(i, i).

La procédure Nettoie fait apparaitre des0dans une partie de la colonnei. Pour cela elle utilise exclusivement des transformations élémentaires du typeLj←−Lj+λLi.

Les procédures, la forme de la matrice nale et ce que renvoie l'algorithme sont précisés dans les variantes.

Il est important de noter que l'algorithme s'arrête soit parce quei dépasse min(p, q)soit parce que la recherche d'un pivot non nul échoue.

2. Algorithme I : pivot partiel

La procédure Pivot(i) cherche une valeur pivot non nulle dans la bas de la colonne courante c'est dire parmi les termesai,i, ai+1,i,· · ·ap,i. Si elle n'en trouve pas elle renvoie une valeur conventionnelle.

Diérentes stratégies doivent être adoptées suivant le contexte.

Pour un calcul dansQ à la main , on préfèrera une valeur pivot comme1ou−1.

Pour un calcul numérique, il vaut mieux choisir le pivot le plus grand possible an de minimiser les erreurs d'arrondi.

Pour un calcul formel avec un paramètreλ, il faut choisir une valeur oùλne gure pas an de ne pas avoir à imposer de condition sur le paramètre.

La procédure Nettoie (gure2) fait apparaitre des0dans le bas de la colonne courante. Pour cela elle eectue Li0 ←Li0−ai0,i

ai,i

Li pour i0 dei+ 1 àp.

Trois formes sont possibles pour la matrice nale suivant que l'algorithme termine aveci > p,i > qou par l`échec de la recherche d'un pivot non nul.

6= 0 . . .

0 6= 0 . .

... ... . .

0 · · · 0 6= 0 . .

 6= 0

0 6= 0 0 ...

... ... 6= 0

0 0

 6= 0

0 ...

... ... 6= 0

0 0

... ... . .

0 0 0 . .

 .

(3)

· · ·

· · ·

· · ·

· · · a

1p

a

i+1p

· · ·

a

i+2p

a

i−1p

...

...

Ligne i

a

p p

· · · 0 · · · a

i p

a

i+1p−1

a

i+1i+1

0

a

i+2p−1

a

i+2i+1

0 a

i+2i

a

p p−1

a

p i+1

0 a

p i

a

i+1i

a

i−1i+1

0 a

i−1i

a

1i+1

a

1 1

a

1i

a

1p−1

a

i−1i−1

a

i−1p−1

0 0

0

a

i p−1

a

i i+1

0 a

i i

a

1i−1

Fig. 2: Procédure Nettoie pour l'algorithme I

3. Algorithme I' : pivot partiel étendu

La diérence avec la version I porte uniquement sur Nettoie. L'appel Nettoie(i) eectue Pour tous lesi0 de1à psaufi, Li0 ←Li0−ai0,i

ai,i

Li

Pour la lignei, Li ← 1 ai,i

Li

Ainsi la colonneine contient que des0sauf un1en positioni, i. La forme de la matrice nale est, pour les trois cas possibles,

1 0 0 . .

0 1 ... . .

... ... 0 . . 0 · · · 0 1 . .

 1 0 1

0 ...

... ... 1

0 0

1 0

0 ...

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

0 0 0 . .

 .

4. Algorithme II : pivot total

L'algorithme du pivot total se diérencie des algorithmes précédents par la zone de recherche du pivot non nul et par la procédure de permutation qui peut agir sur les colonnes.

(4)

L'appel Pivot(i) cherche une valeur pivot non nulle dans tout le bas de la matrice et pas seulement dans la colonnei. La procédure renvoie donc un couple (i0, j0) tel quei ≤i0 ≤p, i≤j0 ≤q et ai0,j0 6= 0 ou bien une valeur conventionnelle si elle n'en trouve pas.

La procédure de permutation échange les lignesiet i0 et les colonnes i etj0 de manière à placer la valeur pivot non nulle en positioni, i.

La procédure de nettoyage est la même que pour le pivot partiel.

La matrice à la n de l'algorithme est de l'une des formes suivantes

6= 0 . . .

0 6= 0 . .

... ... . .

0 · · · 0 6= 0 . .

 6= 0

0 6= 0 0 ...

... ... 6= 0

0 0

 6= 0

0 ...

... ... 6= 0 . . . 0 0 · · · 0 ... ... ...

0 0 0 · · · 0

 .

II. Matrices et opérations élémentaires

Dénition (matrices d'opérations élémentaires). Soitn ∈N et (i, j) ∈J1, nK

2. Toutes les matrices dénies ici appartiennent àMn(K). Elles sont obtenues par des transformations élémentaires de la matrice identitéIn.

Pi,j(n)est obtenue à partir deIn en échangeant les lignesiet j.

Ai,j,λ(n)est obtenue à partir deIn en ajoutant à la ligneila lignej multipliée parλ(scalaire quelconque).

Di,λ(n)est obtenue à partir de In en multipliant parλ(scalaire non nul) la ligneideIn.

Remarque. La matrice Ai,j,λ(n) ne diére de In que par le terme i, j qui est égal à λ au lieu de 0. Elle est triangulaire supérieure sii < j et triangulaire inférieure sij < i.

La proposition suivante traduit les opérations élémentaires en termes de multiplications matricielles. Une opé- ration élémentaire portant sur les lignes est obtenue par multiplication à gauche par une matrice d'opérations élémentaires. Les opérations portant sur les colonnes sont obtenues par multiplication à droite.

Proposition. SoitM ∈ Mp,q(K). Les entiers iet j sont entre 1et pquand ils gurent dans une matrice placée à gauche et entre1 etqquand ils gurent dans une matrice placée à droite.

Pi,j(p)M est obtenue à partir deM en permutant les lignesi etj. M Pi,j(q)est obtenue à partir deM en permutant les colonnesi etj.

Ai,j,λ(p)M est obtenue à partir deM en remplaçantLi(M)parLi(M) +λLj(M)oùλ∈K . M Ai,j,λ(p)est obtenue à partir deM en remplaçantCj(M)parCj(M) +λCi(M)oùλ∈K. Di,λ(p)M est obtenue à partir deM en multipliant la ligne iparλ(scalaire non nul).

M Di,λ(q)est obtenue à partir deM en multipliant la colonne iparλ(scalaire non nul).

Preuve. On vérie à partir de la dénition du produit matriciel. Il est utile de remarquer que les lignes deAi,j,λ(p) sont celles deIp sauf lai-eme et que les colonnes deAi,j,λ(q)sont celles deIq sauf laj-eme.

Proposition. Toutes les matrices de transformations élémentaires sont inversibles avec Pi,j(p)−1=Pi,j(p), Ai,j,λ(n)−1=Ai,j,−λ(n), Di,λ(n)−1=Di,1

λ(n).

Preuve. C'est facile en utilisant l'eet d'une multiplication par une matrice élémentaire.

Remarques. 1. La dénition des matrices élémentaires à l'aide d'opérations élémentaires correspond aux rela- tions triviales

Pi,j(p) =Pi,j(p)Ip =IpPi,j(p), Ai,j,λ(p) =Ai,j,λ(p)Ip, Di,λ(p) =Di,λ(p)Ip.

2. Si une matriceB est obtenue à partir deA par une opération élémentaire, alorsA et B sont équivalentes.

Par transitivité, siB est obtenue par une succession de transformations élémentaires alorsB est équivalente àA.

(5)

Un invariant par transformation élémentaire est un nombre (ou plus généralement un objet mathématique) attaché à une matrice et qui est conservé par une transformation élémentaire.

Proposition. Le noyau d'une matrice est un invariant par opérations élémentaires sur les lignes.

L'image d'une matrice est un invariant par opérations élémentaires sur les colonnes.

Le rang est un invariant par opérations élémentaires.

Preuve. SoitAetB dansMp,q(K).

Si B est obtenue par transformations élémentaires sur les lignes à partir de A, il existeP qui est un produit de matrices élémentaires telle queB =P A. Un produit de matrices inversibles est inversible doncP est inversible.

Alors :

∀X ∈ Mp,1(K), X∈kerB⇔BX = 0Mp,1(K)⇔P AX= 0Mp,1(K)⇔AX= 0Mp,1(K)

carP est inversible.

SiBest obtenue par transformations élémentaires sur les colonnes à partir de A, il existeQqui est un produit de matrices élémentaires telle queB =AQ. Un produit de matrices inversibles est inversible doncQest inversible.

Alors :

ImB={BX avecX ∈ Mp,1(K)}={A(QX)avecX ∈ Mp,1(K)}={AY avecY ∈ Mp,1(K)}

carQétant inversible,{QX avecX∈ Mp,1(K)}=Mp,1(K).

Le rang d'une matrice est la dimension de son image. Il est invariant par équivalence. Le rang est donc invariant par les opérations sur les colonnes carBest équivalent àAsi elle est obtenue par des transformations élémentaires deA.

Comme le sous-espace vectoriel noyau est invariant par opérations sur les lignes, sa dimension est aussi invariante.

Avec le théorème du rang, on en déduit que le rang est aussi invariant par opérations sur les lignes. C'est donc un invariant pour toutes les opérations élémentaires. C'est aussi une conséquence de la remarque 2 au dessus.

Proposition. Pour des matrices carrées, l'inversibilité (c'est à dire le caractère inversible ou non) est un invariant par opérations élémentaires.

Preuve. SoitA∈ Mp(K). La matriceAest inversible si et seulement si rg(A) =p. L'invariance du rang entraine donc l'invariance de l'inversibilité.

III. Applications

1. Pivot partiel

Proposition (Inversibilité d'une matrice carrée). Une matrice carréeA∈ Mp(K) est inversible si et seulement si la matrice obtenue à partir deA par l'algorithme I est de la forme

T =

 6= 0

0 6= 0

... ...

0 · · · 0 6= 0

Preuve. L'algorithme I conduit à une matriceP AavecP inversible car égal à un produit de matrices élémentaires.

SiP Aest de la formeT, commeTest inversible (triangulaire supérieure avec des termes non nuls sur la diagonale), Aest également inversible.

SiP An'est pas de la formeT, elle est de la forme

T0=

 6= 0

0 ...

... ... 6= 0 0 0

... ... . .

0 0 0 . .

qui n'est pas inversible car triangulaire supérieure avec des termes nuls sur la diagonale. On en déduit queAn'est pas inversible.

(6)

2. Pivot partiel étendu

Proposition (Résolution d'une équation linéaire). SoitA∈GLp(K)etY ∈ Mp,1(K). Il existe un unique vecteur colonneX tel queAX=Y (système de Cramer). Pour l'obtenir, on forme une matrice par blocs à p+ 1colonnes et on utilise l'algorithme du pivot partiel étendu.

[A Y]−Algorithme I'−−−−−−−−→[IpX] Preuve. CommeAest inversible, l'unique solutionX deAX=Y estA−1Y.

Les opérations élémentaires intervenant dans l'algorithme du pivot partiel étendu (I') sont les mêmes que l'on parte de A ou de [A X]. Notons P1, P2,· · ·Ps les matrices élémentaires correspondant à ces opérations. L'algorithme n'opère que sur les lignes et ces opérations sont associées à des multiplications par des matrices élémentaires placées à gauche :

Ip=PsPs−1· · ·P2P1A⇒A−1=PsPs−1· · ·P2P1⇒X =A−1Y =PsPs−1· · ·P2P1Y.

Autrement dit, la solutionX s'obtient à partir deY en lui faisant subir les mêmes opérations élémentaires que celles permettant de passer deAàIp. En écrivantY à droite deA, cela se réalise automatiquement sans qu'il soit nécessaire de mémoriser ces transformations élémentaires.

Remarque. On a vu dans le cours sur les matrices pour elles mêmes que calculerA−1c'est exprimer les colonnes canoniquesX1,· · ·, Xp en fonction des colonnes deA. Cela revient à résoudre lespsystèmes de Cramer analogues au précédent en remplaçant le second membreY parX1,· · · , Xq. On peut donc modier la proposition précédente pour calculer la matrice inverse.

Proposition (Inversion d'une matrice carrée inversible). SoitA∈ Mp(K)inversible. On forme une matrice par blocs dansMp,2p(K)en plaçant à droite deAun bloc constitué de la matrice identité. L'algorithme du pivot partiel étendu (I') conduit à une matrice dont le bloc de droite estA−1.

[A Ip] Algorithme I'

−−−−−−−−−→

IpA−1

Preuve. Avec les mêmes notations que dans la démonstration de la proposition précédente, A−1=PsPs−1· · ·P2P1=PsPs−1· · ·P2P1Ip.

Autrement dit, A−1 s'obtient à partir de Ip en lui faisant subir les mêmes transformations élémentaires que celles permettant de passer de A à Ip. En écrivant Ip à droite de A dans une matrice par blocs, cela se réalise automatiquement sans qu'il soit nécessaire de mémoriser les transformations élémentaires.

Remarque. Attention, cette méthode pour inverser une matrice est très séduisante mais il ne faut pas chercher à l'appliquer systématiquement. Lorsqu'on fait des calculs à la main, les éventuelles erreurs de calcul sont diciles à trouver.

Les autres méthodes à considérer reviennent à résoudre des systèmes d'équations.

Résoudre un système depéquations àpinconnuesAX=Y avec une colonneX inconnue et une colonneY formelle. La matrice inverse se lira sur l'expression des solutions en fonction des paramètres formels.

Exprimer les colonnes canoniques X1,· · ·, Xp en fonction des colonnes C1(A),· · ·, Cp(A). Cela revient à résoudre un système depéquations matricielles.

Selon les cas, l'une ou l'autre de ces méthodes est plus facile à mettre en ÷uvre.

Remarques (mauvaises idées). Pour résoudre un système de Cramer AX = Y, on peut être tenté de calculer d'abord la matrice inverseA−1 puis d'eectuer la multiplicationY =A−1X. C'est absurde du point de vue de la complexité car inverser une matricep×pc'est résoudrep systèmes de Cramer au lieu d'un (sans compter la multiplication matricielle ensuite).

Une autre mauvaise idée est d'utiliser des coecients indéterminés (p2) pour inverser une matrice en cherchant à résoudre le système dep2équations linéaires àp2inconnues obtenues en identiant les coecients du produit avec ceux deIp.

3. Pivot total

Proposition (Calcul d'un rang). Le rang d'une matriceA est le nombre de termes non nuls sur la diagonale de la matrice obtenue à partir deA par l'algorithme du pivot total.

(7)

Preuve. Le rang est invariant par opération élémentaire. Le rang de la matrice obtenue par les opérations élemen- taires de l'algorithme du pivot total est le nombre de termes non nuls sur la diagonale.

Remarque. Soitr le rang d'une matriceA ∈ Mp,q(K). On peut obtenirJr(p, q)par des opérations élémentaires à partir deA en complétant l'algorithme du pivot total. D'abord on fait comme dans le pivot partiel étendu en nettoyant au dessous. On obtient une matrice par blocs

Ir U 0 O

Il est facile ensuite, en opérant sur les colonnes de nettoyerU avec les colonnes de Ip.

IV. Systèmes d'équations

1. Présentation

Tout système d'équations linéaire peut se présenter sous une forme matricielle ou sous une forme vectorielle.

Précisons les relations entre ces trois formes.

Système d'équations Système depéquations à qinconnuesx1,· · · , xq dans un corpsK :









a11x1+a12x2+· · ·+a1qxq =b1 a21x1+a22x2+· · ·+a2qxq =b2

...

ap1x1+ap2x2+· · ·+apqxq =bp lesaij et lesbk sont des paramètres dansK.

Équation matricielle Équation à une inconnue matricielleX ∈ Mq,1(K)

AX=Y avecA=

a11 a12 · · · a1q

a21 a22 · · · a2q

... ... ...

ap1 ap2 · · · apq

, X =

 x1

x2

...

xq

, Y =

 b1

b2

...

bq

 .

Équation vectorielle Équation à une inconnue vectoriellexdans unKespace vectorielE f(x) =y

oùEest unK-espace vectoriel de dimensionqmuni d'une baseU,F est unK-espace vectoriel de dimension pmuni d'une baseV,f ∈ L(E, F)ety∈F sont dénis par :

MatU V (f) =A Mat

V (y) =Y

2. Espace des solutions. Rang

La forme vectorielle est la plus commode pour discuter de l'existence de solutions et pour décrire l'ensemble des solutions.

Proposition. SoitE etF deux K-espaces vectoriels,f ∈ L(E, F) ety∈F.

L'équationf(x) =y d'inconnuex∈E admet des solutions si et seulement siy∈ImF. Lorsque l'équation admet une solutiony0, l'ensemble des solutions est :

y0+ kerf ={y0+xavecx∈kerf}. Remarque. On dit quey0+ kerf est le sous-espace ane de direction kerf.

Par dénition, le rang d'un système est le rang de la matrice Aou de l'application linéaire f ou de la famille de formes linéaires(ϕ1,· · · , ϕp).

Lorsque le système admet des solutions, la dimension de l'espace ane des solutions est égal au nombre d'inconnues moins le rang du système (d'après le théorème du rang).

Remarque. On peut aussi interpréter un système comme une intersection dep hyperplans anes. Chaque ligne représentantϕi(x) =bi pour pformes linéairesϕ1,· · · , ϕp.

(8)

3. Systèmes de Cramer

Un système est dit de Cramer si et seulement si le nombre d'inconnues est égal au nombre d'équations et qu'il existe une unique solution. Lorsqu'un système est de Cramer pour un second membre particulier, il l'est pour n'importe quel second membre.

4. Traitement pratique des systèmes d'équations linéaires

De très nombreuses situations mathématiques se traduisent à l'aide d'un système d'équations linéaires. Pour un tel système : deux problématiques se présentent : résoudre, éliminer.

Résoudre : c'est exprimer les solutions en fonction des données et d'un certain nombre de paramètres arbitraires.

Éliminer : c'est éliminer les inconnues pour former des relations entre les données caractérisant le fait que le système admet des solutions.

Pour les deux problématiques, le principe est d'utiliser d'abord l'algorithme du pivot total pour transformer le système en un système équivalent.

Remarque. Les opérations élementaires sur les lignes se traduisent par des opérations sur les équations.

Dans l'algorithme du pivot total, les seules opérations sur les colonnes sont des permutations. Une permutation de colonnes correspond à un échange des places des inconnues. Par exemple, l'opération élémentaire échangeant les colonnes 1 et 2 se traduit simplement par le fait d'écrire les inconnues dans l'ordrex2, x1, x3,· · ·, xq.

À la n de l'algorithme, le rangrdu système se lit sur le système obtenu. C'est le nombre de coecients non nuls sur la diagonale .

Plaçons nous dans le cas le plus général : celui our < p(pnombre de lignes) etr < q(qnombre de colonnes).

La conditionr < psignie que lesp−rdernières équations du système ne contiennent pas d'inconnues.

On peut donc les regarder comme des relations éventuellement vériées par les données du sytème qui gurent encore à droite des égalités. Ces relations sont donc des conditions nécessaires à l'existence de solutions. La suite de la discussion va montrer qu'elles sont susantes.

Supposons les conditions du dessus vériées. Le système est donc équivalent auxrpremières équations.

Faisons passer lesq−rdernières inconnues de l'autre côté (à droite des égalités). Le système devient alors triangulaire supérieur avec des coecients non nuls sur la diagonale.

On peut considérer lesq−rdernières inconnues qui gurent à droite comme des paramètres car pour chaque jeu de valeur, le système admet une unique solution obtenue par substitution (phase de remontée).

Références

Documents relatifs

UNIVERSITE PARIS-DAUPHINE DEMI2E 1ère année, 20 janvier 2010 Examen d’algèbre 1..

Universit´ e du Littoral Cˆ ote d’Opale Juin 2010 L1 Math-Info.. Examen d’alg` ebre (Semestre 2,

Trouve l’inverse des matrices suivantes, par la

Plus généralement, on doit se rappeler qu’une matrice triangulaire est inversible si, et seulement si, ses éléments diagonaux sont non nuls.. Or, il n’est pas difficile

Les opérations élémentaires sur les colonnes (resp. Application au calcul du rang et à l’inversion de lignes) conservent l’image (resp. Les opé- matrices... rations

Donner une base suivant laquelle la matrice de u se décompose en deux blocs

Le soin et la qualité de la rédaction seront pris en compte dans la notation..

Question 11 : En d´eduire que s’il existe un cycle ´el´ementaire de longueur impaire dans le graphe de la relation ≈ alors la matrice A n’est pas totalement