cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 2006
-
21 août 2002 à 20:15
olilive
Messages postés1Date d'inscriptionsamedi 23 mai 2009StatutMembreDernière intervention19 avril 2010
-
19 avril 2010 à 18:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
olilive
Messages postés1Date d'inscriptionsamedi 23 mai 2009StatutMembreDernière intervention19 avril 2010 19 avril 2010 à 18:30
J'ai noté une erreur: les puissances pow(-1,...) sont de trop dans la fonction reverse (car ils sont déjà présents dans les cofactors), de même pour la fonction TC (transposé de la comatrice).
A part ça, merci beaucoup pour ce gros bout de code!
Menuki
Messages postés13Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention11 août 2008 24 févr. 2009 à 11:51
Bonjour,
Le problème dans le destructeur provient du fait que, quand tu copies un objet sur un autre, tu copies les pointeurs vers les valeurs et non les tableaux en eux-mêmes.
Ce qui fait que les tableaux que tu alloues sont partagés par deux ou plusieurs objets.
Donc, si tu désalloues le tableau du premier (dans le destructeur), tu désalloues du même coup, le tableau du second...
Tu me suis?
Enfin bref, si j'ai le temps de faire un correctif, je le poste...
SimonBx
Messages postés1Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention28 juillet 2006 28 juil. 2006 à 18:18
Eh non ! C'est bien le souci ! Après je pense qu'il y a des solutions pour partitionner la mémoire ou mieux, utiliser des threads ; mais là c'est plus chaud. Si tu t'y colle je suis intéressé par tes solutions mais moi je me lance pas la dedans. Bon courage !
je suis un etudiant en informatique, j ai utilisé la classe TMatrix pour les calculs matriciel.mais pour les matrices de grande taille ( 1000*1000)la mémoire explose.
est ce qu'il ya une façon pour mieux gérer la mémoire??
J arrive a améliorer un peu la perfermence en faissant quelque changement comme la suppression de sizeof dans la definition de la classe mais malgré ça le calul reste lent.est ce qu'il ya une posiibilité pour ameliorer l'allocation de mémoire car il est tres gourmand dans ce cens?
ADPro22
Messages postés126Date d'inscriptionmercredi 18 juillet 2001StatutMembreDernière intervention27 octobre 2004 26 août 2002 à 22:15
Salut,
il éxiste de meilleures méthodes de calcul du déterminant, et surtout pour le calcul de l'inverse. En effet, si l'on peut éviter de calculer la comatrice, on gagne beaucoup de temps. Pratiquement, cette méthode est surtout utilisée pour les matrices 2*2 (voire 3*3).
Par exemple, tu peux trouver d'autres algorithmes dont l'algorithme de FADDEEV qui permet le calcul du polynome caractéristique en ne calculant "que" des produits de matrices et des traces. A partir de là, tu obtiens facilement le déterminant et l'inverse.
Cordialement
cs_Xs
Messages postés368Date d'inscriptionmercredi 14 novembre 2001StatutMembreDernière intervention 1 septembre 2008 24 août 2002 à 13:02
il est de toi ?
En tout cas, trés instructif et encore plus performant.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 21 août 2002 à 20:15
Pourquoi tu as dans ton code des ' // C ONLY VERSION' alors que ca ne marchera jamais en C ?
19 avril 2010 à 18:30
A part ça, merci beaucoup pour ce gros bout de code!
24 févr. 2009 à 11:51
Le problème dans le destructeur provient du fait que, quand tu copies un objet sur un autre, tu copies les pointeurs vers les valeurs et non les tableaux en eux-mêmes.
Ce qui fait que les tableaux que tu alloues sont partagés par deux ou plusieurs objets.
Donc, si tu désalloues le tableau du premier (dans le destructeur), tu désalloues du même coup, le tableau du second...
Tu me suis?
Enfin bref, si j'ai le temps de faire un correctif, je le poste...
28 juil. 2006 à 18:18
28 juil. 2006 à 14:57
est ce qu'il ya une façon pour mieux gérer la mémoire??
J arrive a améliorer un peu la perfermence en faissant quelque changement comme la suppression de sizeof dans la definition de la classe mais malgré ça le calul reste lent.est ce qu'il ya une posiibilité pour ameliorer l'allocation de mémoire car il est tres gourmand dans ce cens?
26 août 2002 à 22:15
il éxiste de meilleures méthodes de calcul du déterminant, et surtout pour le calcul de l'inverse. En effet, si l'on peut éviter de calculer la comatrice, on gagne beaucoup de temps. Pratiquement, cette méthode est surtout utilisée pour les matrices 2*2 (voire 3*3).
Par exemple, tu peux trouver d'autres algorithmes dont l'algorithme de FADDEEV qui permet le calcul du polynome caractéristique en ne calculant "que" des produits de matrices et des traces. A partir de là, tu obtiens facilement le déterminant et l'inverse.
Cordialement
24 août 2002 à 13:02
En tout cas, trés instructif et encore plus performant.
21 août 2002 à 20:15