question mode_maple

Utilisation de Xcas

Modérateur : xcasadmin

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » jeu. janv. 31, 2008 12:46 pm

en effet j'avais oublie de mettre Gcdex dans les formes inertes, en attendant tu peux quoter gcdex avant mod:
'gcdex((x-1)^2,x^3+1)' mod 3

je m'occupe aussi du powmod pour que ca marche si a est un polynorme constant. Tout ca sera dispo dans une 1/2 heure environ pour xcas_root.

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » sam. févr. 02, 2008 8:46 am

Super, merci, ca marche.
(Je n'avais pas realise que c'etait si simple d'avoir la forme inerte avec des ' ')

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » mar. févr. 12, 2008 9:30 am

Salut,
Est ce que les formes inertes sont sensees marcher avec d'autres variables que x, parce qu'il ne proteste pas, mais travaille toujours en x:
maple_mode(0)
gcdex((y^2+4*y+7),(y+2)%3,y)
donne bien:
[0,1 % 3,(1 % 3)*y-1 % 3]
mais
maple_mode(1)
'gcdex(x^2+4*x+7,x+2)' mod 3
est correct:
[0,1,1*x-1]
mais si je donne un troisieme argument, il ne proteste pas mais n'en tient pas compte.
'gcdex(y^2+4*y+7,y+2,y)' mod 3
qui donne [1,-1,1*y^2-1]
el la c'est pas correct
'gcdex(x^2+4*x+7,x+2,x)' mod 3
[1,-1,1*x^2-1]
idem avec Gcd et Gcdex, ca ne marche qu'avec 2 arguments mais ca ne proteste pas avec 3.

et sinon, y a t'il une possibilte d'utiliser mods a la place de mod pour des polynomes?
(pour avoir les coeffs de valeur absolue minimale)

Merci
Fred

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » mar. févr. 12, 2008 11:46 am

en effet, c'est parce que le systeme general convertissait aussi la variable en un polynome a coeff dans Z/pZ. Il y a le meme pb avec Quo et Rem d'ailleurs.

sinon pour les coeff, en principe c'est la representation symetrique qui est utilisee, et il n'y a pas pour le moment de moyen d'utiliser la representation dans [0,p-1] (sauf a ecrire un petit prog soi-meme).

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » mar. févr. 12, 2008 12:39 pm

OK, merci,
NB: justement ca n'a pas l'air toujours symetrique en mode maple:
(5*x^2-1*x+5) mod 3
donne
2*x^2-1*x+2

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » mar. févr. 12, 2008 3:45 pm

en effet. Le mod ici est effectué directement, alors qu'avec Quo/Rem/etc. il est traduit en % qui utilise les restes symétriques. Il va falloir que j'arrange ca...

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » mer. févr. 13, 2008 9:40 am

Bon, je viens de modifier smod (=mods) et irem pour que smod renvoie le reste symetrique et irem le reste non symetrique lorsque son 1er argument est polynomial. Plus precisement, si le 1er argument de irem est non rationnel (par exemple une expression ayant comme operateur sommet une fonction arithmetique telle que gcd, quo, rem, gcdex), le comportement est le meme qu'avant et le resultat est exprime en restes symetriques, si le 1er argument de irem est rationnel alors les restes sont non symetriques. En mode maple, mod est une notation infixee pour irem.
Je pourrais aussi rajouter une option de configuration pour que le resultat de irem avec argument non rationnel soit renvoye en symetrique ou non selon la valeur de l'option.
Dis-moi ce que tu en penses.

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » ven. févr. 15, 2008 7:28 am

Tres bien, merci.
Ce qui me genait surtout c'etait de ne pas etre sur (ou de ne pas comprendre) le type de reponse obtenu. (par exemple pour un test dans un programme).
Ca reste un peu delicat d'avoir 2 reponses differentes selon le type d'utilisation (mod d'un Rem ou d'un poly), mais si c'est bien precise dans la doc ca devrait aller. Comme ca on a les 2.

a+
Frederic

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » ven. févr. 15, 2008 8:06 am

frederic han a écrit :Tres bien, merci.
Ce qui me genait surtout c'etait de ne pas etre sur (ou de ne pas comprendre) le type de reponse obtenu. (par exemple pour un test dans un programme).
Ca reste un peu delicat d'avoir 2 reponses differentes selon le type d'utilisation (mod d'un Rem ou d'un poly), mais si c'est bien precise dans la doc ca devrait aller. Comme ca on a les 2.

a+
Frederic
oui, c'est vrai que ce n'est pas super coherent d'avoir 2 types de reponse, mais c'est aussi parce que ce n'est pas vraiment une instruction native, le mod imitant partiellement la facon dont maple traite les polynomes a coeff dans Z/nZ. En mode xcas, c'est un peu plus coherent, % avec un polynome renvoie toujours le reste symetrique.

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » mer. oct. 08, 2008 9:14 pm

J'ai encore une question sur le mode maple.

si je fais
maple_mode(0);
a:=1%2;
maple_mode(1);
Je peux (enfin j'ai l'impression ) ensuite utiliser mon nombre modulaire a dans pas mal de trucs, matrices, factorisations... comme en mode xcas, et de m'affranchir des majuscules maple. (Bon c'est vrai que dans ce cas le mode maple ne sert plus beaucoup mais c'est pratique tout de meme.)

Y a t'il une facon d'obtenir cet objet a plus facilement?

Fred

parisse
Messages : 5891
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » jeu. oct. 09, 2008 6:49 am

Pas pour le moment. Mais je peux rajouter une fonction, par exemple makemod(1,3) qui marcherait dans tous les modes, qu'en penses-tu?

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Message par frederic han » jeu. oct. 09, 2008 10:58 am

Ca serait parfait.

Répondre