[Algo] Inversion Matrice 44

[quote]alors 1èrement pas la peine de mal me répondre.

2èment, j’ai vu ça en DEUG 1ère année donc c’est loin.[/quote]Ton post donnait l’impression que tu venais de l’apprendre (license donc) et que tu ne le maîtrisais pas encore, d’où ma stupéfaction, simplement :wink:

[quote]Et non on ne fait pas de tarot mais de la belotte coinchée et du 8-pool.[/quote]hehe :-p

[quote]3èment, dans le cofacteur, tu remplace la jème colonne de A par une colonne avec des 0 partout, sauf en i.[/quote]Si tu « remplaces » bêtement, ton déterminant va changer. Il faut faire des combinaisons linéaires avec les autres colonnes, et c’est ça qui est chiant à coder.

[quote]4èment, pour le CAPES, je commence à peine à réviser l’algèbre linéaire. Et ouais ya l’analyse, la géom et l’algèbre aussi, et les leçons à préparer…[/quote]ok, j’avais pas compris que tu révisais ça pour ton capes, et non pas pour le contrôle sur le chapitre qu’on vient de terminer :wink:

non le cofacteur est le déterminant de la totomatrice. :stuck_out_tongue:

et pour Jim Gauss-Jordan=méthode des permutations, je veux bien te croire car je l’ai pas utilisé souvent.

[Edité le 19/12/2002 par drannor]

Merci urdle , et pour drannor, je vais pitet dire une connerie mais la methode des permutations c’est pas Gauss-Jordan (oula que mon DEUG est loin … :wink: )

euh la totomatrice c’est pas tout simplement le co-facteur ? :wink:

AHAH… j’viens de me rentre compte que mon zip est tout pourri, resultat le code source est au bureau… dommaaaaage…
bon ben demain si j’oublie pas je poste le code source (que j’essayerai de rendre propre avant :wink: )

sinon ya la méthode avec les permutations, mais là il est tard et mon cerveau est parti en vacances

C’est pour finir de programmer mon scan-line, j’ai besoin d’inverser ma matrice de changement de repere, c juste une fonction sur les 15000 deja ecrites, et j’ai cherhcer la methode de Gauss-Jordan, mais j’ai pas trop le temps de la traduire d’un langage en C, vu que le scan-line est deja assez chaint en lui meme…

Mais merci, en fait je connaissais la methode, mais je suis pas sur que la fonction que j’ai ecrite, qui marche d’ailleurs soit vraiment la + optimale.

Cété pour ca. :wink:

[quote] 1) d’abord, j’introduirai le concept de “totomatrice”, parceque j’ai oublié le terme…
alors voilà… si A est une matrice nm, je designe par “totomatrice de A en i,j”, la matrice (n-1)(m-1) correspondant à la matrice A avec la ligne i et la colonne j en moins.
exemple :
soit A=
( 1 2 3 )
( 4 5 6 )
( 7 8 9 )
alors la totomatrice de A en (1,3) est
( 4 5 )
( 7 8 )

  1. comment on calcule le determinant d’une matrice nxn : eh bien c’est simple,
    det(A)=somme(pour j=1;j celle qui a le plus de thermes nuls histoire d’avoir moins de calculs à faire)… On peut aussi le faire par rapport à une colone.

Par ailleurs, il me semble que des gens sympas ont déjà fait ce truc sous forme d’algorithme… Pas en C, certes, mais faut quand même que tu bosses un peu… Jettes un oeil (sur google par exemple) à l’algorithme de Gauss-Jordan. Je crois que c’est celui-là, mais j’en suis pas sûr… Ou alors si tu as Maple, c’est le bonheur => il y est.

[quote][quote]bon alors je n’ai qu’une licence de maths donc pour les matrices, je calculs les inverse comme ça (vu qu’on veut rarement un résultat concret).[/quote]cad ? que tu viens juste de voir ça ??
Vous faîtes quoi en deug alors ?? du tarot ?
J’ai même pas bac plus 2 (bac + 1.5 à peine) et ça fait 1mois et demi qu’on a fait tout ça !! (tout ça = méthode de urdle + comatrices et tout le reste)

[quote]et sinon l’écriture des cofacteurs comme je l’ai donné doit aboutir au même résultat que toi (en fait tu développe selon les lignes tout simplement), grâce à la colone(0…0 1 0…0) (bon là c’est une ligne mais l’esprit y est).[/quote]Dans à peu près 99.999999999999% des matrices que tu auras à faire, tu n’as pas de ligne/colonne de ce type. Faut faire des réarrangement pour arriver à ça. Et pour ce qui est de la programmation, c’est inutile de se taper un algo qui le fait : le calcul brute est plus efficace.

alors 1èrement pas la peine de mal me répondre.

2èment, j’ai vu ça en DEUG 1ère année donc c’est loin. Et non on ne fait pas de tarot mais de la belotte coinchée et du 8-pool.

3èment, dans le cofacteur, tu remplace la jème colonne de A par une colonne avec des 0 partout, sauf en i.

4èment, pour le CAPES, je commence à peine à réviser l’algèbre linéaire. Et ouais ya l’analyse, la géom et l’algèbre aussi, et les leçons à préparer…

voilà maintenant je me calme… :wink:

euh urdle, ta méthode c’est le développement selon la ligne (ou la colone ça marche aussi), mais je ne crois pas que tes « totomatrices » aient un autre nom que totomatrice :stuck_out_tongue:

je vais regarder dans mes bouquins tiens…

[Edité le 19/12/2002 par drannor]

[Edité le 19/12/2002 par drannor]

[quote]ton code peut m’interesser quand meme Urdle, merci si tu peux me le faire parvenir.[/quote]c’est pour un TP ?

En tout cas merci messieurs pour vos reponses.

Edit: ton code peut m’interesser quand meme Urdle, merci si tu peux me le faire parvenir.
:wink:

[Edité le 19/12/2002 par Jim]

certes ca marche, mais c’est pas le plus rapide ni le plus facile à calculer…
soit dit en passant, si quelqu’un veux bien me donner le terme exact pour mes totomatrices, je suis preneur…
j’aimerai bien aussi savoir comment toi tu calcules un determinant de matrice4x4, parceque je n’ai pu trouver que la méthode que j’ai décrite, vu qu’apparemment le coup de « somme (produits diagonaux dans un sens) moins somme (produits diagonaux dans l’autre sens) » ca marche que pour 3x3 et pas pour 4x4…

PS: j’ai appris ca en DEUG Math/info 2eme année :wink: alors c’est loin, je me donne le droit à l’erreur; parcontre, je suis sur que ca marche, vu que je l’ai programmé et testé en C# y’a pas 2 semaines :wink:

[quote]bon alors je n’ai qu’une licence de maths donc pour les matrices, je calculs les inverse comme ça (vu qu’on veut rarement un résultat concret).[/quote]cad ? que tu viens juste de voir ça ??
Vous faîtes quoi en deug alors ?? du tarot ?
J’ai même pas bac plus 2 (bac + 1.5 à peine) et ça fait 1mois et demi qu’on a fait tout ça !! (tout ça = méthode de urdle + comatrices et tout le reste)

[quote]et sinon l’écriture des cofacteurs comme je l’ai donné doit aboutir au même résultat que toi (en fait tu développe selon les lignes tout simplement), grâce à la colone(0…0 1 0…0) (bon là c’est une ligne mais l’esprit y est).[/quote]Dans à peu près 99.999999999999% des matrices que tu auras à faire, tu n’as pas de ligne/colonne de ce type. Faut faire des réarrangement pour arriver à ça. Et pour ce qui est de la programmation, c’est inutile de se taper un algo qui le fait : le calcul brute est plus efficace.

[quote]enfin voilà, maintenant faut que je revois ça pour le CAPES, car tu m’inquiètes…[/quote]Eh beh mon coco…

bon alors je n’ai qu’une licence de maths donc pour les matrices, je calculs les inverse comme ça (vu qu’on veut rarement un résultat concret).

et sinon l’écriture des cofacteurs comme je l’ai donné doit aboutir au même résultat que toi (en fait tu développe selon les lignes tout simplement), grâce à la colone(0…0 1 0…0) (bon là c’est une ligne mais l’esprit y est).

enfin voilà, maintenant faut que je revois ça pour le CAPES, car tu m’inquiètes…

c’est pas la meilleure méthode (pour le calcul de la comatrice) à mon avis, drannor, car elle demande le calcul du determinant de 16 matrices 4x4, hors le calcul meme du determinant d’une matrice 4x4 n’est pas trivial.

mais bon… comme Jim a déjà sa solution, je garde la mienne pour moi …

AHAHAHAHAH ! Diabolique…

nan allez… j’suis gentil
d’abord je vais commencer à eclairer le calcul du determinant d’une matrice 4x4, parceque c’est quand meme necessaire :wink:

  1. d’abord, j’introduirai le concept de « totomatrice », parceque j’ai oublié le terme…
    alors voilà… si A est une matrice nm, je designe par « totomatrice de A en i,j », la matrice (n-1)(m-1) correspondant à la matrice A avec la ligne i et la colonne j en moins.
    exemple :
    soit A=
    ( 1 2 3 )
    ( 4 5 6 )
    ( 7 8 9 )
    alors la totomatrice de A en (1,3) est
    ( 4 5 )
    ( 7 8 )

  2. comment on calcule le determinant d’une matrice nxn : eh bien c’est simple,
    det(A)=somme(pour j=1;j

Ca devrait aller je me suis demerdé,
merci pour le reponse
:smiley:

alors l’nverse d’une matrice (carré) s’est : (le déterminant de cette matrice doit être non nul)

(1/dét A)*la transposée de la commatrice de A.

La commatrice de A, c’est la matrice telle que Aij=dét (C1, C2,…,Cj-1,ei,Cj+1,…Cn) où :

Ci est la ième colonne de A
ei est la matrice colonne qui vaut 0 partout sauf à la ième place où c’est 1.

Et pour obtenir la transposée d’une matrice, il suffit de faire une symétrie par rapport à la diagonale.

J’espère avoir été clair. Par contre pour le déterminant je te laisse te débrouiller, c’est trop chiant :smiley: .

[quote]En passant, je viens de retrouver la norme du langage C : ISO/IEC 9899:1999
et pour notre ami le C++ : ISO/IEC 14882:1998
Valà, valà…

PS: Si quelqu’un avait les PDF ou bien les url gratuites, ça m’intéresse BEAUCOUP !!!

[Edité le 26/12/2002 par xentyr][/quote]Oui, ça, c’est un beau UP Mais la question reste toujours sans réponse…

Ce message a été édité par xentyr le 09/06/2003

[quote]En passant, je viens de retrouver la norme du langage C : ISO/IEC 9899:1999
et pour notre ami le C++ : ISO/IEC 14882:1998
Valà, valà…

PS: Si quelqu’un avait les PDF ou bien les url gratuites, ça m’intéresse BEAUCOUP !!!

[Edité le 26/12/2002 par xentyr][/quote]Tu devrais pouvoir trouver des trucs là: http://www.lysator.liu.se/c/

Merci mais je connaissais cette URL.  À moins que cela ait changé, il y a dessus les modifications/addendum des normes, mais PAS la norme Ils me renvoient invariablement sur www.iso.ch mais je n’ai pas envie de mettre 44 € pour chopper la norme humhum…

Ce message a été édité par xentyr le 09/06/2003