Calcul du déterminant d'une matrice

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Article général Pour un article plus général, voir Déterminant (mathématiques).

Le calcul du déterminant d'une matrice 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 calculs 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]

Article détaillé : Déterminant (mathématiques).

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}

\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[1], et de faire la somme des n! termes ainsi obtenus

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

A = \begin{pmatrix}-2&2&-3\\
-1& 1& 3\\
2 &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 (2)(2)(3) précédé de + à cause des paires {2;2}et {2;3}, et le produit (2)(1)(-3) précédé de - à cause des trois paires {2;1}{2;-3} et {1;-3}

\det(A)=(-2)\cdot 1 \cdot (-1) + (-3)\cdot 0 \cdot (-1) + 2\cdot 3\cdot 2 - (-3)\cdot 1 \cdot 2 - (-2)\cdot 3 \cdot 0 - 2\cdot (-1) \cdot (-1)
=2+0+12-(-6)-0-2 = 18.\;

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-ième ligne et sa j-iè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})

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)[2], méthode de Laplace[3] ou méthode des cofacteurs[4] ou des mineurs[5].

Ainsi 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\\
2 &0 &-1\end{pmatrix}=2 \cdot (-1)^{1+2}\cdot  \det \begin{pmatrix}-1&3\\
2 &-1\end{pmatrix} + 1 \cdot (-1)^{2+2}\cdot  \det \begin{pmatrix}-2&-3\\
2&-1\end{pmatrix}
=(-2)\cdot((-1)\cdot(-1)-2\cdot3)+1\cdot((-2)\cdot(-1)-2\cdot(-3)) = (-2)(-5)+8 = 18

Exemples en dimension 2 et 3[modifier | modifier le code]

Dimension 2[modifier | modifier le code]

Le déterminant de la matrice \begin{pmatrix}a&b\\c&d\end{pmatrix} possède deux termes : le produit ad précédé de + car le terme le plus à gauche (a) est situé au-dessus du terme le plus à droite (d) et le produit bc précédé du signe - car le terme de gauche (c) est situé sous le terme de droite (b)

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

Dimension 3[modifier | modifier le code]

Il y a 6 façons de choisir trois termes un par ligne et par colonnes, il y a donc 6 produits dans un déterminant d'ordre 3, 3 sont précédé du signe + et trois sont précédés du signe -. La règle de Sarrus est un procédé visuel, qui permet de retenir la formule de calcul des déterminants d’ordre 3. Ce n'est toutefois pas toujours la méthode la plus simple ou la plus rapide. Une approche basé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.

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. Plus clairement : pour calculer \begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}, il suffit d'effectuer

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

et le résultat est (a\cdot e\cdot i + d\cdot h\cdot c + g\cdot b\cdot f) - (g\cdot e\cdot c +a\cdot h\cdot f +d\cdot b\cdot i).

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 case 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 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 ;
  • si 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 ;
  • 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 ;
  • 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 × B)=det(A).det(B).

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

Article détaillé : Déterminant 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
    A\in M_p,B\in M_{p,n-p},C\in M_{n-p},0\in M_{n-p,p}.

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

Article détaillé : Pivot de Gauss.

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

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

Article détaillé : Matrice 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 determinant 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\le i<j\le n} (a_j-a_i)

Déterminant circulant[modifier | modifier le code]

Article détaillé : Matrice circulante.

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 \scriptstyle \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 \scriptstyle P_{\alpha} le polynôme dont les coefficients sont donnés par la famille \scriptstyle \alpha :

P_{\alpha}(X)=\sum_{i=1}^{n}a_iX^{i-1}\,

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

u_n=e^{i\frac{2\pi}n}

Le déterminant circulant s'exprime à l'aide de \scriptstyle P_{\alpha} et \scriptstyle 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[modifier | modifier le code]

Article détaillé : 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 \scriptstyle A_k obtenues en ne conservant que les k premières lignes et les k premières colonnes. Si 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[modifier | modifier le code]

Article détaillé : 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 \scriptstyle 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]:

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

Article détaillé : Résultant.

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

P = \sum_{i=0}^n a_iX^i \quad \text{et}\quad Q = \sum_{j=0}^m b_jX^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 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[modifier | modifier le code]

Article détaillé : Déterminant de Cauchy.

Soient \scriptstyle \alpha=(a_i)_{i=1\cdots n} et \scriptstyle \beta=(b_j)_{j=1\cdots n} deux familles de complexes tels que, pour tout i et j, \scriptstyle a_i+b_j\ne 0., le déterminant de Cauchy associé à ces deux familles est le déterminant de la matrice de terme général \scriptstyle \frac1{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 \scriptstyle \alpha (1,2,\dots,n) et \scriptstyle \beta (0,1,\dots,n-1), le déterminant obtenu est le déterminant de Hilbert dont il existe la formule explicite suivante[8]:

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

avec la notation :

N!!=\prod_{i=1}^Ni!

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

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

  1. Cette affectation est difficile et 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
  2. Stéphane Balac,Frédéric Sturm, Algèbre et analyse: cours de mathématiques de première année avec exercices, p. 481
  3. Arthur Adam,Francis Lousberg, Espace Math 56, p.484
  4. Lara Thomas, Algèbre Linéairep.44 , école polytechnique fédérale de Lausanne
  5. M; Fouquet, Calcul du déterminant d'une matrice par la méthode des mineurs
  6. Daniel Guinin, Bernard Joppin, Algèbre et géométrie MPSI, p.325
  7. Jounaïdi Abdeljaoued, Henri Lombardi, Méthodes matricielles: introduction à la complexité algébrique, p.75
  8. Robert Fossum, The Hilbert Matrix and its Determinant
  9. Alfio Quarteroni,Fausto Saleri,Paola Gervasio, Calcul scientifique. Cours, exercices corrigés et illustrations en matlab p.30
  10. Jounaïdi Abdeljaoued,Henri Lombardi, Méthodes matricielles: introduction à la complexité algébrique, p60
  11. Jounaïdi Abdeljaoued,Henri Lombardi, Méthodes matricielles: introduction à la complexité algébrique, p66
  12. Jounaïdi Abdeljaoued,Henri Lombardi, Méthodes matricielles: introduction à la complexité algébrique, p71

Liens externes[modifier | modifier le code]