Calcul du déterminant d'une matrice

Un article de Wikipédia, l'encyclopédie libre.

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[modifier | modifier le code]

Le déterminant de la matrice carrée est donné par la formule de Leibniz

désigne l'ensemble des permutations de et la signature de la permutation .

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 :

  1. 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 ;
  2. 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 ;
  3. 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 ;
  4. le produit (–1)(0)(–3) précédé de + à cause des paires {–1;–3} et {0;–3} ;
  5. le produit (4)(2)(3) précédé de + à cause des paires {4;2} et {4;3} ;
  6. et le produit (4)(1)(–3) précédé de – à cause des trois paires {4;1}, {4;–3} et {1;–3}.
.

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 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 : .

Et le développement suivant la colonne j : .

Le terme est appelé le cofacteur du terme et le terme est appelé le mineur du terme . 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 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.

.

Déterminant d'une matrice de dimension 2[modifier | modifier le code]

.

Déterminant d'une matrice de dimension 3[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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 :

.

Matrice triangulaire ou triangulaire par blocs[modifier | modifier le code]

  • Le déterminant d'une matrice triangulaire est le produit des coefficients diagonaux :
    .
    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 :
    .

Méthode du pivot de Gauss-Jordan[modifier | modifier le code]

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 , en général le premier terme en haut à gauche, que l'on appelle le pivot ;
  • si le terme choisi n'est pas , 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  ;
  • on élimine tous les termes situés sous le pivot, en ajoutant à la ligne k la ligne 1 multipliée par . 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 , 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.

.

Cas particuliers de déterminant[modifier | modifier le code]

Déterminant de Vandermonde[modifier | modifier le code]

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.

Déterminant circulant[modifier | modifier le code]

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 de complexes :

.

Soit le polynôme dont les coefficients sont donnés par la famille  :

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

.

Le déterminant circulant s'exprime à l'aide de et de la manière suivante :

.

Déterminant d'une matrice tridiagonale[modifier | modifier le code]

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 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 :

.

Déterminant d'une matrice de Hessenberg[modifier | modifier le code]

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 les sous-matrices de Hessenberg obtenues en ne conservant que les k premières lignes et les k premières colonnes, on a[7] :

.

Déterminant de Sylvester[modifier | modifier le code]

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 :

.

Déterminant de Cauchy et de Hilbert[modifier | modifier le code]

Soient et deux familles de complexes tels que, pour tout i et j, , le déterminant de Cauchy associé à ces deux familles est le déterminant de la matrice de terme général .

Il a pour expression

.

En particulier, si et , le déterminant obtenu est le déterminant de Hilbert dont il existe la formule explicite suivante[8] :

avec la notation :

.

Calcul de déterminant et complexité[modifier | modifier le code]

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 à . 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].

Notes et références[modifier | modifier le code]

  1. Stéphane Balac et Frédéric Sturm, Algèbre et Analyse : Cours de mathématiques de première année avec exercices (lire en ligne), p. 481.
  2. Arthur Adam et Francis Lousberg, Espace Math 56, p. 484.
  3. Lara Thomas, « Algèbre linéaire », sur EPFL, p. 44.
  4. M. Fouquet, « Calcul du déterminant d'une matrice par la méthode des mineurs », sur math.jussieu.fr.
  5. Pour une preuve plus simple, voir le premier point de cet exercice corrigé sur Wikiversité.
  6. Daniel Guinin et Bernard Joppin, Algèbre et géométrie MPSI (lire en ligne), p. 454.
  7. Jounaïdi Abdeljaoued et Henri Lombardi, Méthodes matricielles — Introduction à la complexité algébrique, Springer, (lire en ligne), p. 75.
  8. (en) Robert Fossum, « The Hilbert Matrix and its Determinant », sur s3.amazonaws.com, .
  9. Alfio Quarteroni, Fausto Saleri et Paola Gervasio, Calcul scientifique : Cours, exercices corrigés et illustrations en matlab (lire en ligne), p. 30.
  10. Abdeljaoued et Lombardi 2004, p. 60.
  11. Abdeljaoued et Lombardi 2004, p. 66.
  12. Abdeljaoued et Lombardi 2004, p. 71.

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

(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,‎ , p. 232–241 (lire en ligne [PDF])

Liens externes[modifier | modifier le code]