Pour un article plus général, voir Déterminant (mathématiques).
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.
Le déterminant de la matrice carrée A = ( a 1 ; 1 ⋯ a 1 ; n ⋮ ⋱ ⋮ a n ; 1 ⋯ a n ; n ) {\displaystyle 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
où S n {\displaystyle {\mathfrak {S}}_{n}} désigne l'ensemble des permutations de { 1 , ⋯ , n } {\displaystyle \{1,\cdots ,n\}} et ε ( σ ) {\displaystyle \varepsilon (\sigma )} la signature de la permutation σ {\displaystyle \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
Il y a six produits à calculer en prenant un terme par ligne et par colonne :
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 {\displaystyle A_{i,j}} la matrice obtenue en enlevant à A sa i-ème ligne et sa j-ème colonne.
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 ) = ∑ j = 1 n a i ; j ( − 1 ) i + j det ( A i , j ) {\displaystyle \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 ) = ∑ i = 1 n a i ; j ( − 1 ) i + j det ( A i , j ) {\displaystyle \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 ) {\displaystyle (-1)^{i+j}\det(A_{i,j})} est appelé le cofacteur du terme a i , j {\displaystyle a_{i,j}} et le terme det ( A i , j ) {\displaystyle \det(A_{i,j})} est appelé le mineur du terme a i , j {\displaystyle a_{i,j}} . Cette méthode porte le nom de développement suivant une ligne (ou une colonne)[1], méthode de Laplace[2] ou méthode des cofacteurs[3] ou des mineurs[4].
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 {\displaystyle 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.
| a b c d | = a d − b c {\displaystyle {\begin{vmatrix}a&b\\c&d\end{vmatrix}}=ad-bc} .
| A | = | a b c d e f g h i | = a | ◻ ◻ ◻ ◻ e f ◻ h i | − b | ◻ ◻ ◻ d ◻ f g ◻ i | + c | ◻ ◻ ◻ d e ◻ g h ◻ | = a | e f h i | − b | d f g i | + c | d e g h | = a e i + b f g + c d h − c e g − b d i − a f h . {\displaystyle {\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.
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.
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.
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 :
Enfin, le déterminant se comporte bien avec le produit des matrices :
On commence par simplifier la situation en utilisant le produit par blocs suivant
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 = ( A B 0 C ) . {\displaystyle M={\begin{pmatrix}A&B\\0&C\end{pmatrix}}.}
Alors det ( M ) = ∑ σ ∈ S n ϵ ( σ ) ∏ j = 1 n m σ ( j ) , j . {\displaystyle \det(M)=\sum _{\sigma \in {\mathfrak {S}}_{n}}\epsilon (\sigma )\prod _{j=1}^{n}m_{\sigma (j),j}.}
Or pour qu'un produit ∏ j = 1 n m σ ( j ) , j {\displaystyle \prod _{j=1}^{n}m_{\sigma (j),j}} soit non nul, il faut que { 1 , … , p } {\displaystyle \{1,\ldots ,p\}} soit stable par σ {\displaystyle \sigma } et comme σ {\displaystyle \sigma } est une bijection de { 1 , … , n } {\displaystyle \{1,\ldots ,n\}} dans lui-même, l'ensemble { p + 1 , … , n } {\displaystyle \{p+1,\ldots ,n\}} est alors aussi stable. Donc
det ( M ) = ∑ α ∈ S p ∑ γ ∈ S n − p ϵ ( α ) ϵ ( γ ) ∏ j = 1 p m α ( j ) , j ∏ j = 1 n − p m p + γ ( j ) , p + j = ( ∑ α ∈ S p ϵ ( α ) ∏ j = 1 p a α ( j ) , j ) ( ∑ γ ∈ S n − p ϵ ( γ ) ∏ j = 1 n − p c γ ( j ) , j ) = det ( A ) det ( C ) . {\displaystyle {\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}}}
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 :
Ainsi, dans la matrice A = ( − 2 2 − 3 − 1 1 3 2 0 − 1 ) {\displaystyle 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 :
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.
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.
Un déterminant circulant droit[6] 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 α = ( a i ) i = 1 ⋯ n {\displaystyle \alpha =(a_{i})_{i=1\cdots n}} de complexes :
Soit P α {\displaystyle P_{\alpha }} le polynôme dont les coefficients sont donnés par la famille α {\displaystyle \alpha } :
et soit u n {\displaystyle u_{n}} la première racine n-ième de l'unité :
Le déterminant circulant s'exprime à l'aide de P α {\displaystyle P_{\alpha }} et u n {\displaystyle u_{n}} de la manière suivante :
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 {\displaystyle 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 :
on peut développer le déterminant par récurrence en :
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 {\displaystyle 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[7] :
Soient P et Q deux polynômes de degrés respectifs n et m tels que :
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 :
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é :
on a :
Soient α = ( a i ) i = 1 ⋯ n {\displaystyle \alpha =(a_{i})_{i=1\cdots n}} et β = ( b j ) j = 1 ⋯ n {\displaystyle \beta =(b_{j})_{j=1\cdots n}} deux familles de complexes tels que, pour tout i et j, a i + b j ≠ 0 {\displaystyle 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 1 a i + b j {\displaystyle {\frac {1}{a_{i}+b_{j}}}} .
Il a pour expression
En particulier, si α = ( 1 , 2 , … , n ) {\displaystyle \alpha =(1,2,\dots ,n)} et β = ( 0 , 1 , … , n − 1 ) {\displaystyle \beta =(0,1,\dots ,n-1)} , le déterminant obtenu est le déterminant de Hilbert dont il existe la formule explicite suivante[8] :
avec la notation :
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!)[9].
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é[10] par un nombre proportionnel à n 3 {\displaystyle 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[11] ou la méthode de Dogson[12].
(en) W. M. Gentleman et S. C. Johnson, « Analysis of Algorithms, A Case Study : Determinants of Matrices With Polynomial Entries », ACM Transactions on Mathematical Software, vol. 2, no 3, septembre 1976, p. 232–241 (lire en ligne [PDF])