Méthodes de calcul

Nous commençons par extraire des sections précédentes les résultats les plus utiles pour le calcul pratique.
(R1)
Le déterminant d'une matrice triangulaire est le produit des coefficients de la diagonale.
(R2)
On ne modifie pas un déterminant si on ajoute à une ligne (ou une colonne) une combinaison linéaire des autres lignes (ou des autres colonnes).
(R3)
Si on multiplie une ligne ou une colonne par une constante, le déterminant est multiplié par cette même constante.
(R4)
On peut développer un déterminant selon ou une ligne ou une colonne, grâce aux formules

$\displaystyle \vert A\vert = \sum_{k=1}^n a_{i,k} A_{i,k} = \sum_{h=1}^n a_{h,j} A_{h,j}\;,
$

où les $ A_{i,j}$ sont les cofacteurs.
Attention, il faut appliquer ces résultats un par un et pas simultanément ; en particulier, il convient d'éviter d'ajouter en même temps des combinaisons linéaires à plusieurs lignes ou colonnes, ce qui engendre souvent des erreurs. On ne se lance jamais dans le développement selon ou une ligne ou une colonne, avant d'avoir utilisé les résultats précédents, pour «faire apparaître des zéros».

La méthode algorithmique, sans astuce donc conseillée, est la méthode du pivot de Gauss, qui procède par transformations successives pour faire apparaître des zéros sous la diagonale. Une petite piqure de rappel sur un exemple n'est peut-être pas superflue. Considérons la matrice suivante.

$\displaystyle A=\left(\begin{array}{rrrr}
1&\hspace{3mm}1&0&\hspace{3mm}1\\
2&1&1&0\\
1&2&-1&1\\
-1&0&-1&-3
\end{array}\right)
$

Le coefficient d'indices $ (1,1)$ est non nul, il n'y a donc pas de permutations à effectuer. Le premier pivot est $ p_1=1$. Voici les transformations qui annulent la première colonne au-dessous du pivot.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
L_2\leftarrow L_2-2L...
...-1&1&-2\\
0&1&-1&0\\
0&1&-1&-2
\end{array}\right)
\end{array}\end{displaymath}

Le second pivot est $ -1$. Les transformations qui annulent le bas de la seconde colonne sont les suivantes.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
 \\
L_3 \leftarrow ...
...&-1&1&-2\\
0&0&0&-2\\
0&0&0&-4
\end{array}\right)
\end{array}\end{displaymath}

Pour obtenir un troisième pivot non nul, il faut échanger les deux dernières colonnes.

$\displaystyle \hspace*{34mm}
\left(\begin{array}{rrrr}
1&1&1&\hspace{3mm}0\\
0&-1&-2&1\\
0&0&-2&0\\
0&0&-4&0
\end{array}\right)
$

Le troisième pivot est $ -2$. Il ne reste qu'une ligne à transformer.

\begin{displaymath}
\begin{array}{cc}
\begin{array}{l}
 \\
 \\
 \\
L_4 \lefta...
...0&-1&-2&1\\
0&0&-2&0\\
0&0&0&0
\end{array}\right)
\end{array}\end{displaymath}

Constatez qu'à chaque étape de la méthode, les transformations consistent à :
  1. ajouter à une ligne un multiple d'une autre, ce qui ne change pas le déterminant ;
  2. permuter deux lignes ou deux colonnes, ce qui change le déterminant en son opposé.
La matrice obtenue au bout du compte est triangulaire ; son déterminant est le produit des coefficients diagonaux. Pour en déduire le déterminant initial, il suffit de compter le nombre de permutations de lignes ou de colonnes, et de changer le signe si ce nombre est impair. Au bilan, le nombre d'opérations nécessaire au calcul d'un déterminant d'ordre $ n$ par la méthode du pivot de Gauss est équivalent à $ \frac{2}{3}n^3$, ce qui est incomparablement plus rapide que les $ n(n!)$ opérations de la formule explicite. Nous illustrons maintenant les méthodes de calcul sur quelques exemples classiques.

Proposition 12   Le déterminant

$\displaystyle D(a_1,\ldots,a_n) = \left\vert \begin{array}{ccccc} 0&a_1&a_2&\ld...
...ots&a_n \vdots&&&\ddots&\vdots a_1&a_2&\ldots&a_n&0 \end{array} \right\vert$    

est :

$\displaystyle D(a_1,\ldots,a_{n}) =(-1)^n\left(\sum_{i=1}^n a_i\right) \left(\prod_{i=1}^na_i\right)\;.
$

Démonstration : La somme des éléments de chaque ligne vaut $ \sum_{i=1}^na_i$. On commence donc par ajouter toutes les colonnes à la première, puis on met $ \sum_{i=1}^na_i$ en facteur.

$\displaystyle D(a_1,\ldots,a_n) =\left(\sum_{i=1}^n a_i\right)\; \left\vert \be...
...ldots&a_n \vdots&&&\ddots&\vdots 1&a_2&\ldots&a_n&0 \end{array} \right\vert$    

On conserve la première ligne, puis on retranche chaque ligne à la suivante :

$\displaystyle D(a_1,\ldots,a_n) =\left(\sum_{i=1}^n a_i\right)\; \left\vert \be...
...&\ddots&a_{n-1}&-a_{n-1}&0 0&\ldots&\ldots&0&a_n&-a_n \end{array} \right\vert$    

On développe alors suivant la première colonne :

$\displaystyle D(a_1,\ldots,a_n) =\left(\sum_{i=1}^n a_i\right)\; \left\vert \be...
... \vdots&\ddots&a_{n-1}&-a_{n-1}&0 0&\ldots&0&a_n&-a_n \end{array} \right\vert$    

Ce dernier déterminant est celui d'une matrice triangulaire : il est le produit des éléments de la diagonale. $ \square$

Proposition 13   Le déterminant (dit «de Vandermonde»)

$\displaystyle D(a_1,\ldots,a_n) = \left\vert \begin{array}{ccccc} 1&a_1&a_1^2&\...
...{n-1} \vdots&&&&\vdots 1&a_n&a_n^2&\ldots&a_n^{n-1} \end{array} \right\vert$    

est :

$\displaystyle D(a_1,\ldots,a_{n}) =\prod_{1\leqslant i<j\leqslant n}(a_j-a_i)\;.
$

Démonstration : Considérons le polynôme de degré $ n-1$ qui a pour racines
$ a_1,\ldots,a_{n-1}$ :

$\displaystyle P(X)=\prod_{i=1}^{n-1} (X-a_i)=X^{n-1} +\sum_{j=0}^{n-2}c_j X^j\;.
$

Ajoutons à la dernière colonne la première multipliée par $ c_0$, la seconde multipliée par $ c_1$, etc. Par définition de $ P$, ceci va annuler les éléments de la dernière colonne, sauf le dernier :

$\displaystyle D(a_1,\ldots,a_n) = \left\vert \begin{array}{ccccc} 1&a_1&a_1^2&\...
...\ldots&0 \vdots&&&&\vdots 1&a_n&a_n^2&\ldots&P(a_n) \end{array} \right\vert$    

Si on développe suivant la dernière colonne,

$\displaystyle D(a_1,\ldots,a_n) = P(a_n) D(a_1,\ldots,a_{n-1})\;.
$

Or $ P(a_n) = \prod_{i=1}^{n-1} (a_n-a_i)$ : d'où le résultat, par récurrence. Voici une autre démonstration. Le déterminant $ D(a_1,\ldots,a_n)$ est un polynôme en $ a_1,\ldots,a_n$. Le développement selon une ligne quelconque, montre que c'est un polynôme de degré $ n-1$ en chacune des variables. Or il s'annule dès que deux d'entre elles sont égales (puisqu'alors deux lignes coïncident). Donc $ D(a_1,\ldots,a_n)$ est un multiple du produit de toutes les différences $ (a_j-a_i)$ pour $ 1\leqslant i<j\leqslant
n$. Or ces deux polynômes sont de même degré en chacune des variables. Il ne reste donc qu'à déterminer la constante de proportionnalité. Pour cela, examinons le terme en $ a_n^{n-1}$ : il est égal au mineur d'indices $ (n,n)$, qui est $ D(a_1,\ldots,a_{n-1})$, affecté du signe $ +$ comme tous les mineurs diagonaux. Par récurrence, le coefficient de proportionnalité cherché est donc $ 1$.$ \square$

Proposition 14   Le déterminant (dit «circulant»)

$\displaystyle D(a_1,\ldots,a_n) = \left\vert \begin{array}{ccccc} a_1&a_2&\ldot...
...ots&a_{n-2} \vdots&&&&\vdots a_2&a_3&\ldots&a_n&a_1 \end{array} \right\vert$    

est :

$\displaystyle D(a_1,\ldots,a_{n}) =\prod_{k=0}^{n-1}P(\theta_k)\;,
$

$ P$ est le polynôme

$\displaystyle P(X) = a_1+a_2X+\cdots+a_nX^{n-1}\;,
$

et les $ \theta_k$ sont les racines $ n$-ièmes de l'unité :

$\displaystyle \forall k=0,\ldots,n-1\;,\quad \theta_k = \mathrm{e}^{\mathrm{i}(2\pi k/n)}\;.
$

Démonstration : Notons $ A$ la matrice proposée. Soit $ \theta$ une racine $ n$-ième de l'unité (quelconque). Considérons le vecteur (colonne) $ v(\theta)=(\theta^k)_{k=0,\ldots,{n-1}}$, et multiplions à droite la matrice $ A$ par $ v(\theta)$. La première coordonnée du produit est 

$\displaystyle a_1+a_2\theta+\cdots+a_n\theta^{n-1} = P(\theta)\;.
$

La seconde coordonnée est :

$\displaystyle a_n+a_1\theta_1+\cdots+a_{n-1}\theta_{k-1} = \theta P(\theta)\;.
$

On vérifie de même, que pour $ i=1,\ldots,n$, la $ i$-ième coordonnée est $ \theta^{i-1}P(\theta)$. Donc $ Av(\theta)=P(\theta) v(\theta)$.

Considérons maintenant la famille de vecteurs $ (v(\theta_0),\ldots,v(\theta_{n-1}))$. Son déterminant est le déterminant de Vandermonde de la proposition précédente : les $ \theta_i$ étant tous différents, il est non nul. Donc la famille de vecteurs est une base. Notons-la $ {\cal B}$. Soit $ f$ l'endomorphisme qui a pour matrice $ A$ dans la base canonique. Sa matrice dans la base $ {\cal B}$ est la matrice diagonale dont les coefficients diagonaux sont $ P(\theta_0),\ldots,P(\theta_{n-1})$ : son déterminant est le produit $ \prod_{k=0}^{n-1}P(\theta_k)$. Or le déterminant de $ f$ est le même quelle que soit la base dans laquelle on écrit sa matrice. D'où le résultat. $ \square$

Proposition 15   Le déterminant

$\displaystyle D(a_0,\ldots,a_{n-1},x) = \left\vert \begin{array}{cccccc} -x&0&\...
...ddots&\ddots&-x&a_{n-2} 0&\ldots&\ldots&0&1&a_{n-1}-x \end{array} \right\vert$    

est :

$\displaystyle D(a_0,\ldots,a_{n-1},x) = (-1)^{n}(x^n-a_{n-1}x^{n-1}-\cdots-a_1x-a_0)\;.
$

La matrice pour $ x=0$ est la matrice compagnon du polynôme ci-dessus : vous comprendrez pourquoi quand vous étudierez la réduction des endomorphismes. Démonstration : Pour $ n=1$, la formule donne $ D(a_{n-1},x)=-(x-a_{n-1})$, elle est donc correcte. Développons suivant la première ligne :
$\displaystyle D(a_0,\ldots,a_{n-1},x)$ $\displaystyle =$ \begin{displaymath}(-x)
\left\vert
\begin{array}{cccccc}
-x&0&\ldots&\ldots&0&a_...
...a_{n-2}\\
0&\ldots&\ldots&0&1&a_{n-1}-x
\end{array}\right\vert\end{displaymath}  
    \begin{displaymath}+(-1)^{n+1}a_0
\left\vert
\begin{array}{ccccc}
1&-x&\ldots&\l...
...&\ddots&\ddots&-x\\
0&\ldots&\ldots&0&1
\end{array}\right\vert\end{displaymath}  
  $\displaystyle =$ $\displaystyle (-x) D(a_1,\ldots,a_{n-1},x)+(-1)^{n+1}a_0\;.$  

Si $ D(a_1,\ldots,a_{n-1},x)=(-1)^{n-1}(x^{n-1}-a_{n-2}x^{n-2}-\cdots-a_1x-a_0)$, alors l'expression ci-dessus donne bien

$\displaystyle D(a_0,\ldots,a_{n-1},x) = (-1)^{n}(x^n-a_{n-1}x^{n-1}-\cdots-a_1x-a_0)\;,
$

d'où le résultat, par récurrence.$ \square$

         © UJF Grenoble, 2011                              Mentions légales