Matrices inversibles

Plan du chapitre "Calcul matriciel"
Définition (le groupe des matrices carrées inversibles d'ordre n)
On note {\text{GL}_{n}(\mathbb{K})} l’ensemble des matrices de {\mathcal{M}_{n}(\mathbb{K})} qui sont inversibles pour le produit.
L’ensemble {\text{GL}_{n}(\mathbb{K})} est un groupe (non commutatif si {n\ge2}) pour le produit des matrices.
En fait {\text{GL}_{n}(\mathbb{K})} est le “groupe des inversibles” de l’anneau {\mathcal{M}_{n}(\mathbb{K})}.
On l’appelle souvent « le groupe linéaire d’indice {n} ».

Si {A,B} sont inversibles, alors {AB} est inversible et {(AB)^{-1}=B^{-1}A^{-1}} (ordre important!).

Rappelons que dire que {A\mathcal{M}_{n}(\mathbb{K})} est inversible, c’est dire qu’il existe {B} telle que {AB=BA=I_{n}}.

Le produit de {\mathcal{M}_{n}(\mathbb{K})} n’étant pas commutatif, il semble indispensable de vérifier les égalités {AB=I_{n}} et {BA=I_{n}}. En fait, la proposition “Caractérisation des matrices inversibles” (voir ci-après) va nous montrer que l’une de ces deux égalités implique l’autre.

Une formule pour l’inverse d’une matrice carrée d’ordre {2}

Il n’est pas toujours facile de voir au premier coup d’oeil si une matrice carrée {A} est inversible ou non.

En revanche, c’est facile pour les matrices carrées d’ordre {2} :

Proposition (inversibilité d'une matrice carrée d'ordre 2)
Soit {A=\begin{pmatrix}a&b\\ c&d \end{pmatrix}} dans {\mathcal{M}_{2}(\mathbb{K})}. Soit {\Delta=ad-bc} le “déterminant” de {A}.
Alors {A} est inversible si et seulement si {\Delta} est non nul. Dans ce cas, {A^{-1}=\dfrac{1}{\Delta}\begin{pmatrix}d&-b\\-c&a \end{pmatrix}}.

Par exemple, avec {A=\begin{pmatrix}1&4\\2&10\end{pmatrix}}, on a {\Delta=2}, donc {A^{-1}=\dfrac{1}{2}\begin{pmatrix}10&-4\\-2&1\end{pmatrix}}.

On reprend cet exemple avec Python, le temps de mettre en garde contre une erreur facile à commettre!

L’expression Python {1/A} désigne en effet non pas l’inverse {A^{-1}} de {A}, mais la matrice dont les coefficients sont les inverses, terme à terme, de ceux de {A}.

Pour calculer l’inverse de {A} avec Python, il faut utiliser la syntaxe np.linalg.inv(A) :

>>> A = np.array([[1,4],[2,10]])>>> print(A)
[[ 1 4] 
[ 2 10]] 
>>> print(1/A)
[[ 1. 0.25] 
[ 0.5 0.1 ]] 
>>> B = np.linalg.inv(A)
>>> print(B)
[[ 5. -2. ] 
[-1. 0.5]]

Avec la matrice {B} ainsi obtenue, on vérifie qu’on a bien les égalités {AB=BA=I_{2}}.
La matrice {B} et les produits {AB} et {BA} sont obtenus en mode 'float'.

>>> A.dot(B)
array([[ 1., 0.],
[ 0., 1.]])
>>> B.dot(A)
array([[ 1., 0.],
[ 0., 1.]])

Inverser une matrice à coefficients rationnels avec Python

Si une matrice carrée inversible {A} est à coefficients entiers (ou plus généralement rationnels), alors son inverse est à coefficients rationnels.

Avec Python, le calcul de l’inverse de {A} provoque un passage en mode float.
Il est alors délicat de retrouver l’expression exacte (sous forme de rationnels) de {A^{-1}}.

C’est tout de même possible, en utilisant la fonction suivante dont le rôle est de convertir les coefficients flottants d’une matrice en leur équivalent rationnel (avec une précision donnée) :

def tofrac(M, d=1000) :  # ici d est le dénominateur maximum
from fractions import Fraction
return [[Fraction(y).limit_denominator(d) for y in x] for x in M]

Par exemple, on définit une matrice {A} d’ordre {3}, on calcule son inverse, et on convertit le résultat avec notre fonction tofrac :

>>> A = np.array([[1,3,2],[4,1,6],[3,2,5]]); A  # une matrice A d’ordre 3
array([[1, 3, 2],
[4, 1, 6],
[3, 2, 5]])
>>> B = np.linalg.inv(A); B # son inverse, en mode float
array([[ 2.33333333, 3.66666667, -5.33333333],
[ 0.66666667, 0.33333333, -0.66666667],
[-1.66666667, -2.33333333, 3.66666667]])
>>> tofrac(B) # convertit le résultat en rationnels
[[Fraction(7, 3), Fraction(11, 3), Fraction(-16, 3)],
[Fraction(2, 3), Fraction(1, 3), Fraction(-2, 3)],
[Fraction(-5, 3), Fraction(-7, 3), Fraction(11, 3)]]

Le résultat précédent nous dit donc que si {A=\begin{pmatrix} 1&3&2\\4&1&6\\3&2&5\end{pmatrix}}, alors {A^{-1}=\dfrac{1}{3}\begin{pmatrix}7&11&-16\\2&1&-2\\-5&-7&11 \end{pmatrix}}.

On en vient maintenant à plusieurs caractérisations équivalentes de l’inversibilité d’une matrice carrée :

Proposition (caractérisation des matrices inversibles)
Soit {A} une matrice de {\mathcal{M}_{n}(\mathbb{K})}, avec {n\ge1}.
Les conditions suivantes sont équivalentes :

  • la matrice {A} est inversible dans {\mathcal{M}_{n}(\mathbb{K})}
  • il existe une matrice {B} de {\mathcal{M}_{n}(\mathbb{K})} telle que {AB=I_{n}} (on a alors {B=A^{-1}})
  • il existe une matrice {B} de {\mathcal{M}_{n}(\mathbb{K})} telle que {BA=I_{n}}(on a alors {B=A^{-1}})
  • la seule matrice-colonne {X} telle que {AX=0} est la colonne nulle
  • la seule matrice-ligne {X} telle que {XA=0} est la ligne nulle
  • la matrice {A} n’est pas un diviseur de zéro

Proposition (inversibilité des matrices triangulaires)
Soit {A} une matrice triangulaire supérieure (resp. inférieure).
Alors est inversible si et seulement si ses coefficients diagonaux {a_{ii}} sont non nuls.
Son inverse {A^{-1}} est alors triangulaire supérieure (resp. inférieure).
De plus les coefficients diagonaux de {A^{-1}} sont les inverses des {a_{ii}}.
  • Cas particulier : une matrice diagonale {D} est inversible si et seulement si ses coefficients diagonaux {d_{ii}} sont tous non nuls. La matrice {D^{-1}} est alors la matrice diagonale dont les coefficients diagonaux sont les inverses respectifs des {d_{ii}}.
  • Si {A} est triangulaire inversible, alors la propriété disant que {A^{p}} est triangulaire (et du même coté que {A}) avec pour coefficients diagonaux les {a_{ii}^{p}} vaut encore pour les exposants négatifs.

Soit {A} dans {\mathcal{M}_{n}(\mathbb{K})}. Notons {_{1},_{2},\ldots,_{n}} les colonnes de {A}, et {\text{L}_{1},\text{L}_{2},\ldots,\text{L}_{n}} les lignes de {A}.
Avec ces notations, on peut écrire : {A=\left(\begin{array}{cccc}\text{L}_1\\\text{L}_2\\\vdots\\\text{L}_{n}\end{array}\right)=\left(\begin{array}{c|c|c|c}\text{C}_{1}&\text{C}_{2}&\cdots&\text{C}_{n}\end{array}\right)}

On sait que si les {\lambda_{k}} sont des scalaires, on peut écrire : {\begin{array}{l}\left(\begin{array}{c|c|c|c}\text{C}_{1}&\text{C}_{2}&\cdots&\text{C}_{n}\end{array}\right)\begin{pmatrix}\lambda_{1}\\ \lambda_{2}\\ \vdots \\ \lambda_{n} \end{pmatrix}=\displaystyle\sum_{j=1}^{n}\lambda_{j}\text{C}_{j}\\\\\begin{pmatrix}\lambda_{1}&\lambda_{2}&\cdots&\lambda_{n}\end{pmatrix}\left(\begin{array}{c}\text{L}_1\\\text{L}_2\\\vdots\\\text{L}_{n}\end{array}\right)=\displaystyle\sum_{i=1}^{n}\lambda_{i}L_{i}\end{array}}
On peut alors écrire de nouvelles caractérisations de l’inversibilité d’une matrice carrée :

Proposition (caractérisation de l'inversibilité d'une matrice carrée)
Soit {A} une matrice de {\mathcal{M}_{n}(\mathbb{K})}, avec {n\ge1}. Les conditions suivantes sont équivalentes :

  • la matrice {A} est inversible dans {\mathcal{M}_{n}(\mathbb{K})}
  • les lignes de {A} sont linéairement indépendantes
  • les colonnes de {A} sont linéairement indépendantes

La proposition précédente permet donc de caractériser la non inversibilité!

Proposition (caractérisation de la non inversibilité d'une matrice carrée)
Soit {A} une matrice de {\mathcal{M}_{n}(\mathbb{K})}, avec {n\ge1}. Les conditions suivantes sont équivalentes :

  • la matrice {A} n’est pas inversible dans {\mathcal{M}_{n}(\mathbb{K})}
  • les lignes de {A} forment une famille liée
  • les colonnes de {A} forment une famille liée

Voici donc des conditions suffisantes pour dire, au premier coup d’oeil, qu’une matrice est non inversible :

  • si elle contient une ligne nulle, ou une colonne nulle
  • si elle contient deux lignes (ou deux colonnes) proportionnelles

Considérons par exemple {A=\begin{pmatrix} 1&3&4\\2&1&3\\3&2&5\end{pmatrix}}.

On “voit” que ses colonnes sont liées car {\text{C}_{3}=\text{C}_{1}+\text{C}_{2}}.
La matrice {A} n’est donc pas inversible. Plus précisément {AX=0}, avec {X=\begin{pmatrix}1\\ 1\\-1 \end{pmatrix}}.
Puisque {A} n’est pas inversible, ses lignes {\text{L}_{1},\text{L}_{2},\text{L}_{3}} doivent être liées.

Par le calcul, on trouve {5\text{L}_{3}=\text{L}_{1}+7\text{L}_{2}}, ce qui était difficile à voir “au premier coup d’oeil”!

Calcul de l’inverse d’une matrice inversible

{\vartriangleright} Inversion d’une matrice par résolution d’un système

Soit {A} un élément de {\mathcal{M}_n(\mathbb{K})}, et soit {X,B} deux matrices-colonne de hauteur {n}.

Si le système {AX=B}, d’inconnue {X}, possède une solution unique alors {A} est inversible.

La résolution de ce système fournit d’ailleurs {A^{-1}} car {AX=B\Leftrightarrow X=A^{-1}B}.

Considérons par exemple la matrice {A=\begin{pmatrix}0&1&1\\ 1&1&1\\ 1&0&1\end{pmatrix}}. On a les équivalences : {\begin{array}{rl}A\begin{pmatrix}x\cr y\cr z\end{pmatrix}=\begin{pmatrix}a\cr b\cr c\end{pmatrix}&\Leftrightarrow\begin{cases}y+z=a\\ x+y+z=b\\ x+z=c\end{cases}\Leftrightarrow\begin{cases}x=-a+b\\ y=b-c\\ z=a-b+c\end{cases}\\\\&\Leftrightarrow\begin{pmatrix}x\cr y\cr z\end{pmatrix}=\begin{pmatrix}-1&1&0\cr 0&1&-1\cr 1&-1&1\end{pmatrix}\begin{pmatrix}a\cr b\cr c\end{pmatrix}\end{array}}
Ce calcul prouve que {A} est inversible et que {A^{-1}=\begin{pmatrix}-1&1&0\cr 0&1&-1\cr 1&-1&1\end{pmatrix}}.

{\vartriangleright} Utilisation d’un polynôme annulateur

Supposons par exemple qu’une matrice {A} vérifie {A^3-2A^2-A+2I_{n}=0\quad(1)}

Ainsi {P=X^3-2X^2-X+2} est un polynôme annulateur de {A}, et {(1)} s’écrit {P(A)=0}.

Mais (1) s’écrit aussi {A(A^2-2A+2I_{n})=-2I_{n}}.

Cette égalité prouve que {A} est inversible avec {A^{-1}=-\dfrac{1}{2}(A^2-2A+2I_{n})}.

Autre exemple : considérons la matrice {A=\begin{pmatrix}1&1&1&1\\1&1&-1&-1\\1&-1&1&-1\\1&-1&-1&-1\end{pmatrix}}.

On a {A^2=\begin{pmatrix}4&0&0&-2\\ 0&4&0&2\\ 0&0&4&2\\ -2&2&2&4\end{pmatrix}} et {A^3=\begin{pmatrix}2&6&6&6\\6&2&-6&-6\\6&-6&2&-6\\6&-6&-6&-10\end{pmatrix}}.

On remarque que {A^3=6A-4I_{4}}. Ainsi {A(6I_{4}-A^2)=4I_{4}}.

On en déduit que {A} est inversible et que : {A^{-1}=\dfrac14(6I_{4}-A^2)=\dfrac12\begin{pmatrix}1&0&0&1\\0&1&0&-1\\0&0&1&-1\\1&-1&-1&1\end{pmatrix}}

{\vartriangleright} Exposants négatifs

Supposons qu’on ait trouvé une formule donnant {A^p=\varphi(p)} en fonction de l’entier {p\ge0}. On peut chercher à prouver que cette formule est encore valable pour les exposants négatifs, à condition que {A} soit inversible. Il suffit alors de prouver que pour tout {p\in\mathbb{N}}, {\varphi(p)\varphi(-p)=\text{I}_n}.

Considérons par exemple la matrice {A=\begin{pmatrix}1&2\lambda&0\\0&1&2\lambda\\0&0&1& \end{pmatrix}}.

On a {A=I+2\lambda T}, avec {T=\begin{pmatrix}0&1&0\\0&0&1\\0&0&0 \end{pmatrix}}, {T^{2}=\begin{pmatrix}0&0&1\\0&0&0\\0&0&0 \end{pmatrix}} et {T^{3}=0}.

La formule du binôme donne : {\begin{array}{rl}A^{p}&=\varphi(p)=I+2p\lambda T+2p(p-1)\lambda^{2} T^{2}\\\\&=\begin{pmatrix}1&2p\lambda&2p(p-1)\lambda^{2}\\0&1&2p\lambda\\0&0&1& \end{pmatrix}\end{array}}
Mais on a les égalités : {\begin{array}{rl}\varphi(p)\varphi(-p)&=\bigl(I+2p\lambda T+2p(p-1)\lambda^{2} T^{2}\bigr)\bigl(I-2p\lambda T+2p(p+1)\lambda^{2} T^{2}\bigr)\\\\&=I\text{\ (grâce à\ }T^{3}=0)\end{array}}
Ainsi {\varphi(-p)=\bigl(\varphi(p)\bigr)^{-1}}.

La formule {A^{p}=\varphi(p)} est encore valable pour les exposants négatifs.

Page précédente : calculs sur les matrices carrées
Page suivante : transposition