CALCULER LA DÉTERMINANTE D'UNE MATRICE ALÉATOIRE DE GRANDEUR DÉFINIE
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 2009
-
18 avril 2006 à 18:42
munstef676
Messages postés4Date d'inscriptiondimanche 1 juin 2014StatutMembreDernière intervention31 mai 2019
-
1 juin 2014 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
munstef676
Messages postés4Date d'inscriptiondimanche 1 juin 2014StatutMembreDernière intervention31 mai 2019 1 juin 2014 à 17:31
A mon avis tu utilises une version longue pour calculer le déterminant d'une matrice. La complexité de cette algo est de l'ordre O(n!)
fener3475
Messages postés1Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention28 mars 2008 28 mars 2008 à 12:19
jai un devoir a faire c dire ke D n+1 > 0 avec le calcul des mineurs c une demonstration pleaseeee aider moi
dPompei2
Messages postés55Date d'inscriptionsamedi 27 mars 2004StatutMembreDernière intervention 1 septembre 2006 5 mai 2006 à 21:11
wai mais moi je venais d'apprendre celui que j'ai fait le jours meme :p l'autre, je connais tjrs pas, mais c'est pas grave, jai pas envie de l'apprendre mnt :)
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 5 mai 2006 à 20:07
Le faire en un jour ... j'ai fait les DEUX algorithmes en un meme jour, c'est pas la fin du monde non plus !!
dPompei2
Messages postés55Date d'inscriptionsamedi 27 mars 2004StatutMembreDernière intervention 1 septembre 2006 3 mai 2006 à 14:16
comme tu dis: c'est plus chiant à programmer ... et moi je voulais le faire en un jour :p
Chewbi666
Messages postés12Date d'inscriptionlundi 1 mai 2006StatutMembreDernière intervention22 mai 2006 3 mai 2006 à 08:42
très clair, mais ton algo reste en n!, car tu lances dans le pire cas (ie: très peu de zéros) n calculs qui chacun lance n-1 calcul, qui chacun... ;-)
Le pivot de Gauss revient simplement à faire des opérations sur les lignes et colonnes, car le déterminant ne change pas si tu remplace une ligne par une combinaison linéaire de lignes de la matrice, de même pour les colonnes. Tu choisis donc une ligne avec un truc non nul à gauche (si c pas possible det(A)=0, plié), tu l'échange avec la première ligne de ta matrice puis tu effectue pour toutes les lignes ayant un truc non nul à gauche: Li <-- Li-L1*(ai1/a11) ou ai1 est le coeff de gauche de Li.
Tu recommences avec une ligne qui aurait un truc non nul en 2eme position ...etc
Bien sûr c'est plus chiant à programmer ;-)
dPompei2
Messages postés55Date d'inscriptionsamedi 27 mars 2004StatutMembreDernière intervention 1 septembre 2006 18 avril 2006 à 19:27
bon a vrai dire, je ne vois pas ce qu'est un "algo. en n^3 avec le pivot de Gauss."
bon avec les 0, faut que je me rapelle bien ....
Je crois qu'il fallait choisir une rangée et y faire la somme de chaque élément*son mineur. son mineur est la déterminante de la matrice en enlevant la ligne et colonne de cet élément à la matrice de base.
Donc pour une matrice 12x12 il faudrait calculer encore 12 déterminants de matrices 11x11 et pour ces 12 encore 11 déterminants de matrices 10x10 etc. je ne sais pas si je suis clair ?
donc si on a un 0 dans une rangée, plus besoin de calculer tellement (n! ou n est le "niveau") mais c'est deja 0 (puisque 0*n'importe combien est 0). donc si on a une rangée avec 5 zéros dedans, on doit calculer beaucoup moins non ?
Je ne sais vraiment pas si j'étais clair assez ? sa fait quand même il y a un an je crois :)
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 18 avril 2006 à 18:42
Matrice 15x15 avec algo. en n! [bof bof ... :)] => il faut passer avec un algo. en n^3 avec le pivot de Gauss.
Pour ce qui est du "demerden Sie sich", cela s'appelle une developpement suivant une ligne (ou une colonne).
Je n'ai pas tres bien compris l'histoire de rangee qui a le plus de zeros, tu ne perts pas plus de temps a les chercher que d'effectuer betement le calcul ?
1 juin 2014 à 17:31
28 mars 2008 à 12:19
5 mai 2006 à 21:11
5 mai 2006 à 20:07
3 mai 2006 à 14:16
3 mai 2006 à 08:42
Le pivot de Gauss revient simplement à faire des opérations sur les lignes et colonnes, car le déterminant ne change pas si tu remplace une ligne par une combinaison linéaire de lignes de la matrice, de même pour les colonnes. Tu choisis donc une ligne avec un truc non nul à gauche (si c pas possible det(A)=0, plié), tu l'échange avec la première ligne de ta matrice puis tu effectue pour toutes les lignes ayant un truc non nul à gauche: Li <-- Li-L1*(ai1/a11) ou ai1 est le coeff de gauche de Li.
Tu recommences avec une ligne qui aurait un truc non nul en 2eme position ...etc
Bien sûr c'est plus chiant à programmer ;-)
18 avril 2006 à 19:27
bon avec les 0, faut que je me rapelle bien ....
Je crois qu'il fallait choisir une rangée et y faire la somme de chaque élément*son mineur. son mineur est la déterminante de la matrice en enlevant la ligne et colonne de cet élément à la matrice de base.
Donc pour une matrice 12x12 il faudrait calculer encore 12 déterminants de matrices 11x11 et pour ces 12 encore 11 déterminants de matrices 10x10 etc. je ne sais pas si je suis clair ?
donc si on a un 0 dans une rangée, plus besoin de calculer tellement (n! ou n est le "niveau") mais c'est deja 0 (puisque 0*n'importe combien est 0). donc si on a une rangée avec 5 zéros dedans, on doit calculer beaucoup moins non ?
Je ne sais vraiment pas si j'étais clair assez ? sa fait quand même il y a un an je crois :)
18 avril 2006 à 18:42
Pour ce qui est du "demerden Sie sich", cela s'appelle une developpement suivant une ligne (ou une colonne).
Je n'ai pas tres bien compris l'histoire de rangee qui a le plus de zeros, tu ne perts pas plus de temps a les chercher que d'effectuer betement le calcul ?