• [^] # Re: méthode récursive

    Posté par (site web personnel) . En réponse au message Programme Déterminant matrice carrée. Évalué à 3.

    En gros, le déterminant d'une matrice nxn est la somme des déterminants des sous-matrice (n-1)x(n-1) — obtenues par élimination d'une ligne et d'une colonne — multipliées par (-1) à la puissance (décalage de colonne + décalage de ligne).

    Ces déterminants sont (au signe près) les fameux cofacteurs. Donc la méthode quetu décris est bel et bien celle que veut utiliser l'OP.

    Ce calcul est inefficace au possible.

    Effectivement, c'est difficile de faire pire, et même quand on calcule à la main ce n'est jamais la méthode qu'on utilise! (Sauf pour les matrices 2x2 ou quand le calcul semble particulièrement facile.) En pratique on fait un pivot de Gauss pour se ramener à une matrice diagonale de même déterminant. Cela se fait en espace constant (si la représentation des nombres est en espace constant) et en temps O(n^3) où n est la taille de la matrice. Des variantes permettent de passer de 3 à un nombre un peu plus petit, dans les 2,73.

    Ceci dit, pour le type de projet, je pense que la méthode des cofacteurs est un bon choix, simple à mettre proprement en œuvre. Bon courage!