Inversion de matrice & Algorithme de Gauss-Jordan - Algo - Programmation
Marsh Posté le 15-11-2006 à 09:31:20
essaie de commencer à écrire ce que tu peux ; on t'aidera si tu as des problèmes spécifiques...
commence par décomposer ton algo complet en petits blocs. Dans le cas de Gauss, ça pourrait être :
1 - détermination du pivot
2 - réduction d'une ligne
3 - ...
écris chacun de ces blocs sous forme d'un algorithme simple. Ton algorithme complet de Gauss se résumera à la fin simplement à un appel de tes briques élémentaires.
Marsh Posté le 15-11-2006 à 15:49:10
Problème résolu merci (pas très propre mais bon...)
principe : annuler tous les élements d'une colonne à l'aide du pivot (dont l'élément de la colonne n'est pas nul), faire de même pour toutes les colonnes en changeant le pivot à chaque fois.
Marsh Posté le 20-11-2006 à 12:48:30
jmtafam a écrit : Problème résolu merci (pas très propre mais bon...) |
Un peu tard, mais bon :
http://www.nrbook.com/a/bookcpdf/c2-1.pdf
C'est en C, l'adaptation en C++ doit se faire sans mal. Tout "Numerical Recipes in C" est librement téléchargeable :
http://www.nrbook.com/a/bookcpdf.html
Marsh Posté le 15-11-2006 à 01:55:03
Bonjour,
Je cherche à faire une inversion de matrice pour un programme (en C++).
Pour celà, j'ai penser à plusieurs méthode (cofacteurs...), mais c'est l'algorithme de Gauss-Jordan qui semble s'imposer comme la plus apte à fonctionner dans un programme.
Il est très simple à mettre en pratique sur papier (pivot de Gauss de manière à amener la matrice A(n*n) à In alors qu'on effectue les mêmes opérations sur une matrice In laquelle donne au final l'inverse de A, si lors des opérations, une des lignes s'annule la matrice n'est pas inversible).
Je me demandais comment mettre celà efficacement sous forme d'algorithme.
Voilà si qqn pouvait m'éclairer, merci beaucoup!