Rang d'une matrice

Nous avons déjà défini la notion de rang pour une famille de vecteurs et pour une application linéaire :
  1. le rang d'une famille de vecteurs est la dimension du sous espace vectoriel qu'elle engendre,
  2. le rang d'une application linéaire est la dimension de son image.
Soient $ E$ et $ F$ deux espaces vectoriels, et $ f$ une application linéaire de $ E$ dans $ F$. Si $ (b_1,\ldots,b_n)$ est une base de $ E$, l'image de $ f$ est le sous-espace vectoriel de $ F$ engendré par $ (f(b_1),\ldots,f(b_n))$. Donc le rang de $ f$ est aussi le rang de la famille $ (f(b_1),\ldots,f(b_n))$ et ce, quelle que soit la base $ (b_1,\ldots,b_n)$. Ce rang ne dépend pas non plus de la base dans laquelle on écrit la famille $ (f(b_1),\ldots,f(b_n))$ à l'arrivée : c'est le rang des vecteurs colonnes de la matrice de $ f$, quelles que soient les bases par rapport auxquelles on écrit cette matrice.

Définition 7   Soit $ A\in{\cal M}_{m,n}(\mathbb{R})$ une matrice. On appelle rang de la matrice $ A$ la dimension du sous-espace vectoriel (de $ \mathbb{R}^m$) engendré par ses vecteurs colonnes.

Observons que la connaissance du rang fournit un critère d'inversibilité.

Proposition 7   Une matrice de $ {\cal M}_n(\mathbb{R})$ est inversible si et seulement si son rang est $ n$.

Démonstration : D'après la proposition 5, une matrice est inversible, si et seulement si elle représente une application linéaire bijective de $ \mathbb{R}^n$ dans lui-même. Or une application linéaire est bijective si et seulement si l'image qu'elle donne d'une base est une base, c'est-à-dire si son rang est $ n$. $ \square$

Le rang d'une matrice est celui des applications linéaires qu'elle représente, qui ne dépend pas des bases. Si deux matrices représentent la même application dans des bases différentes, elles auront nécessairement même rang. Rappelons (définition 6 et théorème 3) que deux matrices sont équivalentes si elles représentent la même application linéaire dans deux bases différentes, ou encore si on déduit l'une de l'autre en multipliant à gauche ou à droite par une matrice inversible. Deux matrices équivalentes ont même rang. Nous allons démontrer la réciproque.

Théorème 4   Deux matrices de $ {\cal M}_{m,n}(\mathbb{R})$ sont équivalentes si et seulement si elles ont même rang.

Démonstration : Nous devons démontrer que deux matrices ayant le même rang sont équivalentes. Soit $ A$ une matrice à $ m$ lignes, $ n$ colonnes, et de rang $ r$. Notons $ a_1,\ldots,a_n$ les $ n$ vecteurs colonnes de $ A$, qui sont des vecteurs de $ \mathbb{R}^m$. Le rang de $ A$ est la dimension de l'espace engendré par $ (a_1,\ldots,a_n)$, qui est inférieure ou égale à $ n$ et à $ m$. Nous allons montrer que la matrice $ A$ est équivalente à la matrice $ J_r$ obtenue en complétant la matrice identité $ I_r$ par des zéros, à droite et en dessous.

\begin{displaymath}
J_r =
\begin{array}{c\vert c}
\left.
\begin{array}{cccccccc}...
...15ex]
r+1\ [0.15ex]
\vdots\ [0.15ex]
m
\end{array}\end{array}\end{displaymath}

Considérons l'application $ f$, de $ \mathbb{R}^n$ dans $ \mathbb{R}^m$ dont la matrice relative aux bases canoniques est $ A$. Nous voulons trouver une base de l'espace de départ et une base de l'espace d'arrivée, telles que la matrice de $ f$ relative à ces bases soit $ J_r$.

Comme la dimension de l'image de $ f$ est $ r$, la dimension du noyau est $ n-r$, d'après le théorème du rang. Soit $ (c_1,\ldots,c_r)$ une base de Im$ (f)$ et $ (b_1,\ldots,b_{n-r})$ une base de Ker$ (f)$. Pour tout $ i=1,\ldots,r$, choisissons un vecteur $ v_i$ tel que $ f(v_i)=c_i$. La famille

$\displaystyle (v_1,\ldots,v_r,b_1,\ldots,b_{n-r})
$

est une base de $ E$ : ceci a été établi dans la démonstration du théorème du rang.

Dans l'espace d'arrivée $ F$, la famille $ (c_1,\ldots,c_r)$ est une famille libre car c'est une base de Im$ (f)$. On peut la compléter par $ m-1$ vecteurs $ c_{r+1},\ldots,c_m$ de sorte que

$\displaystyle (c_1,\ldots,c_r,c_{r+1},\ldots,c_m)
$

soit une base de $ F$.

Pour $ i=1,\ldots,r$, l'image de $ v_i$ est $ c_i$. Les images de $ b_1,\ldots,b_{n-r}$ sont nulles : la matrice de $ f$ relative aux bases $ (v_1,\ldots,v_r,b_1,\ldots,b_{n-r})$ (au départ) et $ (c_1,\ldots,c_m)$ (à l'arrivée) est la matrice $ J_r$.

Puisque $ A$ et $ J_r$ sont équivalentes, il existe deux matrices inversibles $ P$ et $ Q$ telles que $ J_r = Q^{-1}AP$, et donc $ A=QJ_rP^{-1}$. Soit $ B$ une autre matrice de $ {\cal M}_{m,n}(\mathbb{R})$, également de rang $ r$. Il existe deux autres matrices inversibles $ R$ et $ S$ telles que $ J_r=S^{-1}BR$. En multipliant à gauche par $ Q$ et à droite par $ P^{-1}$, on obtient :

$\displaystyle A=(QS^{-1})B(RP^{-1})\;.
$

Donc deux matrices de même taille et de même rang sont équivalentes.$ \square$

On déduit de la démonstration qui précède que $ A$ et $ {^t\!A}$ ont le même rang.

Proposition 8   Une matrice et sa transposée ont même rang.

Démonstration : Nous avons démontré qu'une matrice $ A$ de rang $ r$ est équivalente à la matrice $ J_r$ obtenue en complétant $ I_r$ par des zéros. Or $ {^t\!J_r}$ est du même type que $ J_r$ : elle contient la matrice identité $ I_r$, complétée par des zéros. Elle est aussi de rang $ r$. Par la proposition 2, si $ A=QJ_rP^{-1}$, la transposée de $ A$ s'écrit :

$\displaystyle {^t\!A} = {^t(P^{-1})}{^t\!J_r}{^t\!Q}\;.
$

Par la proposition 2, la transposée d'une matrice inversible est inversible. Nous avons donc montré que $ {^t\!A}$ est équivalente à $ {^t\!J_r}$, qui est de rang $ r$.$ \square$

Déterminer le rang d'une matrice consiste à déterminer le rang de ses vecteurs colonnes, ou encore de ses vecteurs lignes, puisque ce sont les colonnes de la transposée. Pour ce faire, nous avons vu une méthode consistant à écrire un système homogène, puis à lui appliquer la méthode de Gauss. Soit $ A=(a_{i,j})$ une matrice à $ m$ lignes et $ n$ colonnes.

\begin{displaymath}
A=(a_{i,j})
=
\left(
\begin{array}{ccccc}
a_{1,1}&\cdots&a_{...
...
a_{m,1}&\cdots&a_{m,j}&\cdots&a_{m,n}
\end{array}\right)
\;.
\end{displaymath}

Munissons $ \mathbb{R}^n$ et $ \mathbb{R}^m$ de leurs bases canoniques, et notons $ f$ l'application linéaire de $ \mathbb{R}^n$ dans $ \mathbb{R}^m$ qui a pour matrice $ A$ relativement à ces bases. L'application linéaire $ f$ peut être caractérisée de deux façons différentes.
  1. $ f$ est l'application qui à un $ n$-uplet $ x=(x_1,\ldots,x_n)$ associe le $ m$-uplet $ Ax$, dont la $ i$-ième coordonnée vaut

    $\displaystyle a_{i,1} x_1+\cdots+a_{i,n} x_n\;.
$

  2. $ f$ est l'application qui au $ j$-ième vecteur de la base canonique de $ \mathbb{R}^n$ associe le $ m$-uplet $ (a_{j,1},\ldots,a_{j,m})$, à savoir le $ j$-ième vecteur colonne de $ A$.
Le noyau de $ f$ est l'ensemble des $ n$-uplets $ (x_1,\ldots,x_n)$, solutions du système homogène $ (H)$ suivant.

$\displaystyle (H)\qquad
\left\{\begin{array}{ccccccc}
a_{1,1} x_1+&\cdots&+a_{...
..._{m,1} x_1+&\cdots&+a_{m,j} x_j+&\cdots&+a_{m,n} x_n&=&0
\end{array}\right.
$

Le rang de ce système est égal à la fois au rang de $ f$, au rang de $ A$, au rang de la famille des vecteurs colonnes de $ A$ et au rang de la famille des vecteurs lignes. Pour le calculer, il suffit de mettre le système $ (H)$ sous forme échelonnée : le rang est le nombre de pivots non nuls de la forme échelonnée. On peut aussi déduire de la forme échelonnée une base de l'image, c'est-à-dire une base de l'espace engendré par les vecteurs colonnes de $ A$. Il n'est pas indispensable de passer par le système $ (H)$ pour cela. On peut très bien appliquer la méthode du pivot de Gauss en transformant la matrice $ A$, sans écrire le système. Ceci revient à remplacer à chaque étape une matrice par une autre matrice telle que le noyau de l'application linéaire associée soit le même : le rang n'est donc pas modifié. Voici un exemple. Considérons la matrice suivante.

$\displaystyle A=\left(\begin{array}{rrrr}
1&\hspace{3mm}1&0&\hspace{3mm}1\\
2&1&1&0\\
1&2&-1&1\\
-1&0&-1&-3
\end{array}\right)
$

Le coefficient d'ordre $ (1,1)$ est non nul, il n'y a donc pas de permutations à effectuer. Le premier pivot est $ p_1=1$. Voici les transformations qui annulent la première colonne au-dessous du pivot.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
L_2\leftarrow L_2-2L...
...-1&1&-2\\
0&1&-1&0\\
0&1&-1&-2
\end{array}\right)
\end{array}\end{displaymath}

Le second pivot est $ -1$. Les transformations qui annulent le bas de la seconde colonne sont les suivantes.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
 \\
L_3 \leftarrow ...
...&-1&1&-2\\
0&0&0&-2\\
0&0&0&-4
\end{array}\right)
\end{array}\end{displaymath}

Pour obtenir un troisième pivot non nul, il faut échanger les deux dernières colonnes.

$\displaystyle \hspace*{34mm}
\left(\begin{array}{rrrr}
1&1&1&\hspace{3mm}0\\
0&-1&-2&1\\
0&0&-2&0\\
0&0&-4&0
\end{array}\right)
$

Le troisième pivot est $ -2$. Il ne reste qu'une ligne à transformer.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
 \\
 \\
L_4 \lefta...
...0&-1&-2&1\\
0&0&-2&0\\
0&0&0&0
\end{array}\right)
\end{array}\end{displaymath}

Le rang de la matrice est donc $ 3$. En n'oubliant pas que les colonnes $ 3$ et $ 4$ ont été échangées, on obtient aussi que les vecteurs colonnes numéros $ 1$, $ 2$ et $ 4$ de la matrice $ A$ forment une famille libre, donc une base de l'espace engendré. Bien que l'écriture du système soit mathématiquement superflue, elle est techniquement plus sûre, et nous vous conseillons de la conserver.


         © UJF Grenoble, 2011                              Mentions légales