Calcul du déterminant d'une matrice
# Calcul du déterminant d'une matrice

Le calcul du déterminant d'une matrice carrée est un outil nécessaire, tant en algèbre linéaire pour vérifier une inversibilité ou calculer l'inverse d'une matrice, qu'en analyse vectorielle avec, par exemple, le calcul d'un jacobien.

S'il existe une formule générale de calcul du déterminant, sa complexité en fait une technique difficile à mettre en œuvre pour des matrices de grande taille. On lui préfère alors des méthodes de calcul plus simples comme la technique du pivot de Gauss.

Certaines matrices de forme particulière ont des déterminants déjà étudiés.

## Présentation

Le déterminant de la matrice carrée $A={\begin{pmatrix}a_{1;1}&\cdots &a_{1;n}\\\vdots &\ddots &\vdots \\a_{n;1}&\cdots &a_{n;n}\end{pmatrix}}$ est donné par la formule de Leibniz

    $\det(A)={\begin{vmatrix}a_{1;1}&\cdots &a_{1;n}\\\vdots &\ddots &\vdots \\a_{n;1}&\cdots &a_{n;n}\end{vmatrix}}=\sum _{\sigma \in {\mathfrak {S}}_{n}}\varepsilon (\sigma )\prod _{i=1}^{n}a_{\sigma (i),i}$

où ${\mathfrak {S}}_{n}$ désigne l'ensemble des permutations de $\{1,\cdots ,n\}$ et $\varepsilon (\sigma )$ la signature de la permutation $\sigma$.

Il s'agit donc d'effectuer tous les produits possibles en prenant un élément par ligne et par colonne dans la matrice, de les multiplier tantôt par +1 tantôt par –1, et de faire la somme des n! termes ainsi obtenus. Cette affectation (+1 ou –1) fait intervenir le nombre d'inversions de la permutation, c'est-à-dire le nombre de paires parmi les termes du produit où l’élément de gauche dans la matrice est situé plus bas que l'élément de droite. Si ce nombre est impair, le produit est multiplié par –1, sinon il est multiplié par +1.

Soit à calculer, par exemple, le déterminant de

    $A={\begin{pmatrix}-2&2&-3\\-1&1&3\\4&0&-1\end{pmatrix}}$.

Il y a six produits à calculer en prenant un terme par ligne et par colonne :

* Le produit (–2)(1)(–1) est précédé de + car dans toutes les paires, le terme de gauche est au-dessus de celui de droite ;
* le produit (–2)(0)(3) est précédé du signe – car il existe une seule paire, la paire {0;3}, où le terme de gauche est sous le terme de droite ;
* le produit (–1)(2)(–1) précédé de – car il existe une seule paire, {–1;2}, où le terme de gauche est sous celui de droite ;
* le produit (–1)(0)(–3) précédé de + à cause des paires {–1;–3} et {0;–3} ;
* le produit (4)(2)(3) précédé de + à cause des paires {4;2} et {4;3} ;
* et le produit (4)(1)(–3) précédé de – à cause des trois paires {4;1}, {4;–3} et {1;–3}.

    $\det(A)=+((-2)\cdot (1)\cdot (-1))-((-2)\cdot (0)\cdot (3))-((-1)\cdot (2)\cdot (-1))+((-1)\cdot (0)\cdot (-3))+((4)\cdot (2)\cdot (3))-((4)\cdot (1)\cdot (-3))$
             $=2-0-2+0+24-(-12)=36$.

On peut aussi calculer le déterminant d'une matrice de taille n à l'aide de n déterminants de matrices de taille n - 1 obtenues en enlevant à la matrice de départ une ligne et une colonne. Si A est la matrice, pour tout i et j, on note $A_{i,j}$ la matrice obtenue en enlevant à A sa i-ème ligne et sa j-ème colonne.

    $A_{i,j}={\begin{pmatrix}a_{1,1}&\dots &a_{1,j-1}&a_{1,j+1}&\dots &a_{1,n}\\\vdots &&\vdots &\vdots &&\vdots \\a_{i-1,1}&\dots &a_{i-1,j-1}&a_{i-1,j+1}&\dots &a_{i-1,n}\\a_{i+1,1}&\dots &a_{i+1,j-1}&a_{i+1,j+1}&\dots &a_{i+1,n}\\\vdots &&\vdots &\vdots &&\vdots \\a_{n,1}&\dots &a_{n,j-1}&a_{n,j+1}&\dots &a_{n,n}\end{pmatrix}}$

On peut alors développer le calcul du déterminant de A suivant une ligne ou une colonne.

Développement suivant la ligne i : $\det(A)=\sum _{j=1}^{n}a_{i;j}(-1)^{i+j}\det(A_{i,j})$.

Et le développement suivant la colonne j : $\det(A)=\sum _{i=1}^{n}a_{i;j}(-1)^{i+j}\det(A_{i,j})$.

Le terme $(-1)^{i+j}\det(A_{i,j})$ est appelé le cofacteur du terme $a_{i,j}$ et le terme $\det(A_{i,j})$ est appelé le mineur du terme $a_{i,j}$. Cette méthode porte le nom de développement suivant une ligne (ou une colonne), méthode de Laplace ou méthode des cofacteurs ou des mineurs.

Ainsi, puisque les deux développements (selon une ligne i ou une colonne j) ci-dessus sont, finalement, identiques, il est encore possible de simplifier la calcul du déterminant. En regardant par exemple la localisation d'un coefficient nul de la matrice, il est plus judicieux de choisir la bonne valeur de i ou j afin d'avoir le coefficient nul $a_{i;j}$ dans l'un des cofacteurs pour annuler un terme et ainsi simplifier la somme, comme c'est le cas dans l'exemple ci-dessous.

Exemple : le déterminant de la matrice précédente se développe aisément suivant la deuxième colonne, la plus avantageuse pour la disposition des zéros.

    $\det {\begin{pmatrix}-2&2&-3\\-1&1&3\\4&0&-1\end{pmatrix}}=2\cdot (-1)^{1+2}\cdot \det {\begin{pmatrix}-1&3\\4&-1\end{pmatrix}}+1\cdot (-1)^{2+2}\cdot \det {\begin{pmatrix}-2&-3\\4&-1\end{pmatrix}}$
       $=(-2)\cdot ((-1)\cdot (-1)-4\cdot 3)+1\cdot ((-2)\cdot (-1)-4\cdot (-3))=(-2)(-11)+14=36$.

## Déterminant d'une matrice de dimension 2

${\begin{vmatrix}a&b\\c&d\end{vmatrix}}=ad-bc$.

## Déterminant d'une matrice de dimension 3

${\begin{aligned}|A|={\begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}}=a\,{\begin{vmatrix}\Box &\Box &\Box \\\Box &e&f\\\Box &h&i\end{vmatrix}}-b\,{\begin{vmatrix}\Box &\Box &\Box \\d&\Box &f\\g&\Box &i\end{vmatrix}}+c\,{\begin{vmatrix}\Box &\Box &\Box \\d&e&\Box \\g&h&\Box \end{vmatrix}}&=a\,{\begin{vmatrix}e&f\\h&i\end{vmatrix}}-b\,{\begin{vmatrix}d&f\\g&i\end{vmatrix}}+c\,{\begin{vmatrix}d&e\\g&h\end{vmatrix}}\\&=aei+bfg+cdh-ceg-bdi-afh.\end{aligned}}$

Il y a en effet 6 façons de choisir trois termes un par ligne et par colonne, il y a donc 6 produits dans un déterminant d'ordre 3 ; 3 sont précédés du signe + et 3 sont précédés du signe –.

La règle de Sarrus (nommée d'après Pierre-Frédéric Sarrus) est un procédé visuel, qui permet de retenir la formule de calcul des déterminants d’ordre 3. La règle de Sarrus consiste à écrire les trois colonnes de la matrice et à répéter, dans l’ordre, les deux premières lignes en dessous de la matrice. Il suffit alors d’effectuer les produits des coefficients de chaque diagonale et d’en faire la somme si la diagonale est descendante ou la différence si la diagonale est ascendante.

| a b c d e f g h i a b c d e f | et | a b c d e f g h i a b c d e f |
| - | - | - |
| affectés d'un signe positif | | affectés d'un signe négatif |

Ce n'est toutefois pas toujours la méthode la plus simple ou la plus rapide. Une approche fondée sur les propriétés de linéarité du déterminant permet souvent d'effectuer moins d'opérations, ou d'obtenir une forme factorisée plus intéressante.

## Techniques de simplification du calcul d'un déterminant

Le calcul du déterminant d'une matrice carrée de dimension n nécessite le calcul d'autant de produits que de permutations à n éléments c'est-à-dire n! produits à effectuer, soit 2 pour une matrice de dimension 2, 6 pour une matrice de dimension 3 et 24 pour une matrice de dimension 4. De plus, il s'agit de trouver la signature de chacune des permutations. Le développement suivant une ligne ou une colonne permet d'organiser plus clairement les calculs mais ne diminue en rien le nombre de produits à effectuer.

On remarque cependant que la présence d'un zéro dans une des cases de la matrice permet de faire disparaitre (n-1)! calculs. L'idée est donc de trouver des techniques remplaçant le calcul du déterminant d'une matrice par celui d'une matrice contenant de nombreux zéros, dite matrice à trous. On dispose pour cela d'un certain nombre de propriétés opératoires et de quelques techniques.

### Propriétés opératoires élémentaires

Le déterminant est une forme n-linéaire alternée des vecteurs colonnes ou des vecteurs lignes. Cette propriété a les conséquences suivantes :

* si l'on permute deux lignes ou deux colonnes, le déterminant change de signe ;
* si deux lignes ou deux colonnes sont identiques, le déterminant est nul ;
* on peut ajouter à une colonne (ou une ligne) un multiple d'une autre colonne (ou d'une autre ligne) sans changer la valeur du déterminant ;
* si l'on multiplie tous les termes d'une même ligne ou d'une même colonne par un réel k, le déterminant est multiplié par k ;
* en conséquence, si une ligne ou une colonne est nulle, le déterminant est nul.

Enfin, le déterminant se comporte bien avec le produit des matrices :

    $\det(A\times B)=\det(A)\times \det(B)$.

### Matrice triangulaire ou triangulaire par blocs

* Le déterminant d'une matrice triangulaire est le produit des coefficients diagonaux :${\begin{vmatrix}m_{1;1}&m_{1;2}&\cdots &m_{1;n-1}&m_{1;n}\\0&m_{2;2}&\cdots &\cdots &m_{2;n}\\\vdots &0&\ddots &&\vdots \\\vdots &&\ddots &m_{n-1;n-1}&m_{n-1;n}\\0&0&\cdots &0&m_{n;n}\end{vmatrix}}=\prod _{i=1}^{i=n}{m_{i;i}}$.On peut le démontrer par récurrence : il suffit d'appliquer la formule de Laplace à la première colonne pour se ramener d'une matrice de taille n à une matrice de taille n – 1.
* Le déterminant d'une matrice triangulaire par blocs est le produit des déterminants des blocs diagonaux :$\det {\begin{pmatrix}A&B\\0&C\end{pmatrix}}=\det A\det C$où$A\in M_{p},B\in M_{p,n-p},C\in M_{n-p},0\in M_{n-p,p}$.

On commence par simplifier la situation en utilisant le produit par blocs suivant

${\begin{pmatrix}A&B\\0&C\end{pmatrix}}={\begin{pmatrix}I&0\\0&C\end{pmatrix}}.{\begin{pmatrix}A&B\\0&I\end{pmatrix}}.$

Il suffit ensuite de prouver que la première matrice a pour déterminant det C, la seconde det A. Mais pour cela on reprend la méthode de démonstration utilisée pour les matrices triangulaires. Ainsi pour la première matrice, on effectue des développements successifs par rapport aux premières lignes, qui sont les plus simples : il ne reste plus que le déterminant de C. Pour la deuxième matrice, on suit une méthode analogue avec les dernières lignes.

Notons $M={\begin{pmatrix}A&B\\0&C\end{pmatrix}}.$

Alors $\det(M)=\sum _{\sigma \in {\mathfrak {S}}_{n}}\epsilon (\sigma )\prod _{j=1}^{n}m_{\sigma (j),j}.$

Or pour qu'un produit $\prod _{j=1}^{n}m_{\sigma (j),j}$ soit non nul, il faut que $\{1,\ldots ,p\}$ soit stable par $\sigma$ et comme $\sigma$ est une bijection de $\{1,\ldots ,n\}$ dans lui-même, l'ensemble $\{p+1,\ldots ,n\}$ est alors aussi stable. Donc

${\begin{aligned}\det(M)&=\sum _{\alpha \in {\mathfrak {S}}_{p}}\sum _{\gamma \in {\mathfrak {S}}_{n-p}}\epsilon (\alpha )\epsilon (\gamma )\prod _{j=1}^{p}m_{\alpha (j),j}\prod _{j=1}^{n-p}m_{p+\gamma (j),p+j}\\\ &={\Biggl\sum _{\alpha \in {\mathfrak {S}}_{p}}\epsilon (\alpha )\prod _{j=1}^{p}a_{\alpha (j),j}{\Biggr )}{\Biggl\sum _{\gamma \in {\mathfrak {S}}_{n-p}}\epsilon (\gamma )\prod _{j=1}^{n-p}c_{\gamma (j),j}{\Biggr )}\\\ &=\det(A)\det(C).\end{aligned}}$

### Méthode du pivot de Gauss-Jordan

Cette méthode consiste à remplacer la matrice par une matrice triangulaire en utilisant seulement des permutations de lignes ou colonnes et des ajouts à une ligne d'un multiple d'une autre ligne de manière à faire apparaitre un maximum de zéros.

Le principe est le suivant :

* on choisit dans la matrice un terme non nul $a_{i,j}$, en général le premier terme en haut à gauche, que l'on appelle le pivot ;
* si le terme choisi n'est pas $a_{1,1}$, on peut, en permutant les lignes 1 et i et les colonnes 1 et j, le mettre à la bonne position. On obtient alors une matrice A' telle que $\det(A)=(-1)^{i+j}\det(A')$ ;
* on élimine tous les termes situés sous le pivot, $a_{1,1}$ en ajoutant à la ligne k la ligne 1 multipliée par $-{\frac {a_{k,1}}{a_{1,1}}}$. Cette opération ne change pas la valeur du déterminant ;
* on recommence ensuite le même processus dans la sous-matrice privée de sa première ligne et de sa première colonne ;
* on obtient alors à la dernière étape une matrice triangulaire dont le déterminant est égal, au signe près, au déterminant de la matrice de départ.

Ainsi, dans la matrice $A={\begin{pmatrix}-2&2&-3\\-1&1&3\\2&0&-1\end{pmatrix}}$, on peut choisir –2 comme premier pivot et ajouter ainsi à la seconde ligne, la première multipliée par –1/2 et ajouter à la troisième ligne la première ligne :

    ${\begin{vmatrix}-2&2&-3\\-1&1&3\\2&0&-1\end{vmatrix}}={\begin{vmatrix}-2&2&-3\\0&0&9/2\\0&2&-4\end{vmatrix}}$.

En choisissant 2 comme second pivot et en permutant les lignes 2 et 3, ce qui conduit à multiplier par –1 le déterminant, on obtient directement une matrice triangulaire.

    ${\begin{vmatrix}-2&2&-3\\-1&1&3\\2&0&-1\end{vmatrix}}=(-1)^{1}{\begin{vmatrix}-2&2&-3\\0&2&-4\\0&0&9/2\end{vmatrix}}=18$.

## Cas particuliers de déterminant

### Déterminant de Vandermonde

Le déterminant de Vandermonde est le déterminant d'une matrice dans laquelle chaque ligne est composée des premières puissances d'un même nombre. Si les coefficients sont dans un corps (ou un anneau intègre), ce déterminant s'annule si et seulement si deux lignes sont identiques.

    ${\begin{vmatrix}1&a_{1}&{a_{1}}^{2}&\dots &{a_{1}}^{n-1}\\1&a_{2}&{a_{2}}^{2}&\dots &{a_{2}}^{n-1}\\1&a_{3}&{a_{3}}^{2}&\dots &{a_{3}}^{n-1}\\\vdots &\vdots &\vdots &&\vdots \\1&a_{n}&{a_{n}}^{2}&\dots &{a_{n}}^{n-1}\end{vmatrix}}=\prod _{1\leq i<j\leq n}(a_{j}-a_{i})$

### Déterminant circulant

Un déterminant circulant droit est le déterminant d'une matrice dont les lignes sont obtenues par permutations circulaires des éléments de la première ligne. Supposons donnée la famille $\alpha =(a_{i})_{i=1\cdots n}$ de complexes :

    ${\det }_{\alpha }={\begin{vmatrix}a_{1}&a_{2}&a_{3}&\dots &a_{n}\\a_{n}&a_{1}&a_{2}&\dots &a_{n-1}\\a_{n-1}&a_{n}&a_{1}&\dots &a_{n-2}\\\vdots &\vdots &\vdots &\ddots &\vdots \\a_{2}&a_{3}&a_{4}&\dots &a_{1}\end{vmatrix}}$.

Soit $P_{\alpha }$ le polynôme dont les coefficients sont donnés par la famille $\alpha$ :

    $P_{\alpha }(X)=\sum _{i=1}^{n}a_{i}X^{i-1}$

et soit $u_{n}$ la première racine n-ième de l'unité :

    $u_{n}=\operatorname {e} ^{\mathrm {i} {\frac {2\pi }{n}}}$.

Le déterminant circulant s'exprime à l'aide de $P_{\alpha }$ et $u_{n}$ de la manière suivante :

    ${\det }_{\alpha }=\prod _{k=1}^{n}P_{\alpha }\left({u_{n}}^{k}\right)$.

### Déterminant d'une matrice tridiagonale

Une matrice tridiagonale est une matrice à trous contenant des zéros sauf éventuellement sur la première diagonale ainsi que les deux sous-diagonales limitrophes supérieure et inférieure.

Le déterminant d'une telle matrice se calcule par récurrence à l'aide des sous-matrices tridiagonales $A_{k}$ obtenues en ne conservant que les k premières lignes et les k premières colonnes. Si l'on appelle A la matrice définie par :

    $A={\begin{pmatrix}a_{1,1}&a_{1,2}&0&\dots &&&0\\a_{2,1}&a_{2,2}&a_{2,3}&\ddots &&&\vdots \\0&a_{3,2}&a_{3,3}&\ddots &\ddots &&\\\vdots &\ddots &\ddots &\ddots &\ddots &\ddots &\vdots \\\vdots &&\ddots &\ddots &\ddots &\ddots &0\\\vdots &&&\ddots &\ddots &a_{n-1,n-1}&a_{n-1,n}\\0&\dots &&\dots &0&a_{n,n-1}&a_{n,n}\end{pmatrix}}$,

on peut développer le déterminant par récurrence en :

    $\det(A)=a_{n,n}\det(A_{n-1})-a_{n,n-1}a_{n-1,n}\det(A_{n-2})$.

### Déterminant d'une matrice de Hessenberg

Une matrice de Hessenberg est une matrice quasi-triangulaire. Dans une matrice de Hessenberg supérieure, tous les termes situés sous la diagonale sont nuls sauf éventuellement ceux situés sur la première sous-diagonale. À ce titre, une matrice tridiagonale est une matrice de Hessenberg à la fois supérieure et inférieure. Le déterminant d'une matrice de Hessenberg inférieure se calcule par récurrence selon une technique voisine de celle utilisée pour le calcul du déterminant tridiagonal. En appelant $A_{k}$ les sous-matrices de Hessenberg obtenues en ne conservant que les k premières lignes et les k premières colonnes, on a :

    $\det(A)=a_{n,n}\det(A_{n-1})+\sum _{k=1}^{n-1}(-1)^{n-k}\left(\prod _{i=k+1}^{n}a_{i,i-1}\right)a_{k,n}\det(A_{k-1})$.

### Déterminant de Sylvester

Soient P et Q deux polynômes de degrés respectifs n et m tels que :

$P=\sum _{i=0}^{n}a_{i}X^{i}\quad {\text{et}}\quad Q=\sum _{j=0}^{m}b_{j}X^{j}$

On appelle déterminant de Sylvester ou résultant des polynômes P et Q le déterminant de la matrice de Sylvester de dimension n + m :

$R(P,Q)={\begin{vmatrix}a_{n}&0&\cdots &\cdots &0&b_{m}&0&\cdots &0\\a_{n-1}&a_{n}&\ddots &&\vdots &\vdots &b_{m}&\ddots &\vdots \\\vdots &a_{n-1}&\ddots &\ddots &\vdots &\vdots &&\ddots &0\\\vdots &\vdots &\ddots &\ddots &0&\vdots &&&b_{m}\\a_{0}&\vdots &&\ddots &a_{n}&b_{1}&&&\vdots \\0&a_{0}&&&a_{n-1}&b_{0}&\ddots &&\vdots \\\vdots &\ddots &\ddots &&\vdots &0&\ddots &b_{1}&\vdots \\\vdots &&\ddots &a_{0}&\vdots &\vdots &\ddots &b_{0}&b_{1}\\0&\cdots &\cdots &0&a_{0}&0&\cdots &0&b_{0}\\\end{vmatrix}}$

Si l'on se place dans un corps dans lequel les deux polynômes sont scindés, c'est-à-dire qu'ils se décomposent en produit de polynômes du premier degré :

$P=a_{n}\prod _{i=1}^{n}(X-\alpha _{i})\quad {\text{et}}\quad Q=b_{m}\prod _{j=1}^{m}(X-\beta _{j})$

on a :

$R(P,Q)={a_{n}}^{m}{b_{m}}^{n}\prod _{i,j}(\alpha _{i}-\beta _{j})$

### Déterminant de Cauchy et de Hilbert

Soient $\alpha =(a_{i})_{i=1\cdots n}$ et $\beta =(b_{j})_{j=1\cdots n}$ deux familles de complexes tels que, pour tout i et j, $a_{i}+b_{j}\neq 0$, le déterminant de Cauchy associé à ces deux familles est le déterminant de la matrice de terme général ${\frac {1}{a_{i}+b_{j}}}$.

Il a pour expression

    ${\det }_{\alpha ,\beta }={\frac {\prod \limits _{i<j}(a_{j}-a_{i})\prod \limits _{i<j}(b_{j}-b_{i})}{\prod \limits _{i,j}(a_{i}+b_{j})}}$.

En particulier, si $\alpha =(1,2,\dots ,n)$ et $\beta =(0,1,\dots ,n-1)$, le déterminant obtenu est le déterminant de Hilbert dont il existe la formule explicite suivante :

    $D_{n}={\frac {(n-1)!!^{4}}{(2n-1)!!}}$

avec la notation :

    $N!!=\prod _{i=1}^{N}i!$.

## Calcul de déterminant et complexité

Pour des calculs par ordinateur, il est important de connaitre le coût d'un calcul, c'est-à-dire le nombre d'opérations nécessaires pour le réaliser. La méthode de Laplace nécessite un nombre d'opérations proportionnel à n!, on dit qu'il est de complexité O(n!).

L'utilisation d'une méthode de pivot de Gauss demande la précaution de ne pas diviser par 0. Si la matrice est suffisamment régulière pour que le choix du pivot soit naturellement sur la diagonale, le nombre d'opérations est majoré par un nombre proportionnel à $n^{3}$. Si pour des calculs à la main, le choix se porte sur des pivots simples (proches de 1), en analyse numérique, il est souvent préférable de choisir pour pivot des nombres grands en valeur absolue pour minimiser les erreurs commises dans le calcul des quotients. Enfin, si l'on tient à donner le résultat sous forme exacte fractionnaire, il faut aussi tenir compte de la taille des nombres manipulés. Dans ce cas, d'autres méthodes se révèlent intéressantes comme la méthode de Jordan-Bareiss ou la méthode de Dogson.

