rootof

Utilisation de Xcas

Modérateur : xcasadmin

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

rootof

Message par frederic han » jeu. janv. 21, 2016 8:51 pm

Salut j'ai quelques questions sur rootof.

1) Y a t'il un endroit dans la doc où il est expliqué comment donner un nom à la racine choisie dans un rootof pour alleger les notations?
Sous xcas j'arrive a faire cela:

Code : Tout sélectionner

C:=t*y^2+x^2-4*y^2-t*x+4*x*y-2*y+1;
factor(C);//irreductible
P:=-x^3+4*x^2+12*x-36;
rootof(P)='a'; // sous xcas ca marche
pmin(a,x);
Ca:=subst(C,t=a);
factor(Ca);// bravo xcas arrive a le factoriser et c'est joli
2) Ca ne semble pas marcher si P est remplace par P/4. (le coup avec a)
3) Ca ne semble pas marcher sous giac
4) mathml(a) ne donne pas a.

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

Re: rootof

Message par parisse » ven. janv. 22, 2016 7:31 am

Si si, ca marche avec giac en ligne de commande, mais il faut mettre rootof(P):=a (dans Xcas, le = est automatiquement converti en := avec un warning mais pas dans giac). L'argument de rootof doit etre un polynome irreductible, sans denominateur, il faut sans doute que je fasse un peu plus de checking de l'argument. Et en effet je ne crois pas qu'il y ait beaucoup de doc la-dessus, il va falloir completer ca, je vais aussi regarder mathml.

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

Re: rootof

Message par frederic han » ven. janv. 22, 2016 9:35 am

En fait j'avais cru que := ne marchait pas car on ne peut pas le faire de fois de suite sans utiliser de ' ' sauf si on a purgee la lettre utilisee.

Code : Tout sélectionner

>> P:=x^3+x+1
x^3+x+1
1>> rootof(P):='x0'
x0
2>> rootof(P):='x1'
rootof(P)
3>> rootof(P):='x1'
rootof(P)
4>> rootof(P):=x1
"sto rootof(P) non autorisé! Erreur: Type Argument Incorrect"
5>> rootof(P):='x1'
rootof(P)

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

Re: rootof

Message par parisse » ven. janv. 22, 2016 10:08 am

C'est parce que le membre de droite de := est evalue. Il faudra qu'on pense a mettre des quotes dans la doc pour eviter que ca fasse une erreur en cas de reevaluation.
J'ai mis le source tar.bz2 a jour avec l'export mathml correct et la gestion de rootof(P) lorsque P a des coefficients fractionnaires. Je ferai sans doute une mise a jour des packages la semaine prochaine.

Répondre