Inversion de matrice & Algorithme de Gauss-Jordan

Inversion de matrice & Algorithme de Gauss-Jordan - Algo - Programmation

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!

Reply

Marsh Posté le 15-11-2006 à 01:55:03   

Reply

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.


---------------
TriScale innov
Reply

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.

Reply

Marsh Posté le 20-11-2006 à 12:48:30    

jmtafam a écrit :

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.


 
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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed