6.5.1 : Algorithme classique

Enfin la méthode des cofacteurs que l'on apprend à l'école, complexité beaucoup trop grande. Il faut lui reconnaitre qu'il fonctionne sur les matrices 3x3, mais c'est tout. $$\begin{eqnarray*} \det \left(A\right) & = & \sum^N_{i=1} A_{i, j} \left(-1\right)^{i+j} \times \det \left(A_{i, j}\right) \end{eqnarray*}$$

Où $\det \left(A_{i, j}\right)$ est le déterminant de la matrice $A$ où l'on exclut la ligne $i$ et la colonne $j$ .

On définit le déterminant d'une matrice $2\times 2$ afin de finir l'algorithme :



$$\begin{eqnarray*} \det \left(\begin{matrix}a & b\\c & d\end{matrix}\right) & = & ad - cd \end{eqnarray*}$$

La complexité de cet algorithme varie en $O\left(N!\right)$ ce qui pose problème dès que la taille de la matrice est supérieure à $N = 20$ car $20! > 10^{18}$ .

Rustine de la méthode : il est possible de réduire localement/partiellement le temps de calcul de cet algorithme en choisissant d'utiliser une colonne ou une ligne qui contient beaucoup de $0$ , cela est particulièrement efficace sur des petites matrices creuses mais ne résout pas le problème des matrices denses et des grandes matrices moyennement creuses.