DIFFERENTES OPERATIONS SUR LES MATRICES (PUISSANCE,DETERMINANT...)

Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005 - 9 janv. 2003 à 00:50
hassansaib Messages postés 2 Date d'inscription jeudi 7 avril 2011 Statut Membre Dernière intervention 28 avril 2011 - 15 mai 2011 à 17:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10272-differentes-operations-sur-les-matrices-puissance-determinant

hassansaib Messages postés 2 Date d'inscription jeudi 7 avril 2011 Statut Membre Dernière intervention 28 avril 2011
15 mai 2011 à 17:14
salut tt le monde, je veu de l'aide pour calculer le déterminant d'une matrice a (100*100) par un pgm en C.
merci
tauop Messages postés 2 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 12 septembre 2004
12 sept. 2004 à 06:03
Salut,

Bon dsl, mais je vais plutot faire des critiques sur ce code :
- pas portable (conio.h sux et ca fait chier sous linux par exemple)
- le code n est pas tres claire (mal indente, out cole etc...). Tu devrais te fixer une norme ou alors lire des codes de projet plus grand (comme les projet GNU et autre). Tu verras que c plus claire.
- la fonction de puissance ne marche pas apparament. I^3 = [[1, 1, 1] [1, 1, 1] [1, 1, 1]] pour ton programme.
- la fonction de cacul de determinant n est pas du out optimisee. tu cree n-1 matrice (n -1, n - 1) a chaque reccursion, ce qui est _enorme_. Il ne faut pas utiliser la formule theorique ici je pense. (j ai trouve un moyen plus rapide de le faire et je le posterais prochainenement sur cppfrance)
- enfin, dommage que tu n ais pas utilise malloc et autre fonction d allocation de memoire pour faire en sorte que l on puisse faire des matrices plus grandes que 10*10....

Sinon merci, ton code a pu me faire rappeler comment calculer le determinant :)

Amicalement,

Tauop

P.S.: Je vais bientot poster mon code sur les matrices mais ce sera en C++ (plus lent mais pratique pour certaines choses)
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
10 janv. 2003 à 14:04
Le calcul de l'inverse d'une matrice est très coûteux avec ta méthode. Je vais chercher dans mon bazar une solution meilleure
Pour le reste, c'est bien.
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
9 janv. 2003 à 23:55
je c que normalement ça n'existe pas, mais c une méthode de calcul surtt pour trouver l'inverse, et on m'a dit que c'était bien plus rapide, je vais demander renseignement :o)
mais sinon à part faire ça en récursif, tu peux aussi poser un système d'équation, et résoudre par pivot de Gauss, mais des probs de précisions apparaissent avec cette méthode...
2PACesgi Messages postés 3 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juin 2005
9 janv. 2003 à 20:06
Je sais pas si je me trompe mais la division de 2 matrices n'est pas possible ou alors si il esxiste une methode j'ai du l'oublier !!! ;-). La maniere dont mon programme calcul l'inverse de la matrice n'est pas des plus simple mais c'est la seule methode que j'ai trouvé. Si tu as plus de renseignements sur le calcul de l'inverse d'une matrice fait moi signe. :-)
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
9 janv. 2003 à 00:50
c'est pas mal tout ça, mais je pense que tu peux améliorer certaines fonctions, genre l'inversion de matrice, à ce que m'a dit un étudiant de licence de maths, la meilleure méthode consiste à créer une fonction qui divise une matrice par une autre(je vois pas trop comment faire) et t'a plus qu'à diviser par la mat identité...
si ça peut t'aider :-)
Rejoignez-nous