version 1.0

Bugs

Modérateur : xcasadmin

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

version 1.0

Message par frederic han » jeu. avr. 25, 2013 7:17 am

J'ai un pb pour executer le fichier:
http://www.math.jussieu.fr/~han/agreg/O ... et-sol.xws

J'ai verifie avec une 095 32bits il passe rapidement.

avec une 1.00 amd64 il bloque vers les lignes 81 ou 84 puis plante.

J'ai aussi note des pb avec le plotode interactif.

Si on ferme le dispG par la fenetre et non le bouton special, ou si l'on presse le bouton stop d'xcas alors ca amene a des plantages.

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

Re: version 1.0

Message par parisse » jeu. avr. 25, 2013 9:56 am

Pour la factorisation, ca marche en mode réel, en mode complexe il y a un dépassement de capacité mémoire et le process est tué par le kernel (ce qui ne m'étonne pas trop, vu l'algorithme utilisé). C'est curieux que ça passe sur des versions plus anciennes de xcas malgré tout (je n'en ai plus), c'est bien exactement la même session?

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

Re: version 1.0

Message par frederic han » jeu. avr. 25, 2013 11:06 am

oui, avec ce binaire tout est assez rapide: (0.5s pour la ligne 83, et rien pour les autres)
http://www.math.jussieu.fr/~han/xcas/xc ... -amd64.tgz

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

Re: version 1.0

Message par frederic han » jeu. avr. 25, 2013 7:17 pm

Salut,

j'ai trouve la difference entre les 2 versions.
Il y a un solve pour resoudre une equation de degre 2 dont les coefficients sont compliques.

avec la 095 je faisais juste:
sol:=solve(...

avec la 100 je dois faire:
sol:= simplify(solve(...
pour avoir la meme chose. Sans le simplify a cet endroit les calculs suivants devenaient trop lourd et ca plantait.

Avec le binaire 095 dans le lien ci dessus, je n'ai pas de probleme avec odeplot interactive lorsque je ferme la fenetre avec la croix puis que je revalide ma ligne d' odeplot interactive.
alors qu'avec la 100 je ne peux plus revalider si j'ai ferme le dispG avec la croix de la fenetre.

a+

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

Re: version 1.0

Message par parisse » ven. avr. 26, 2013 7:04 am

J'ai modifié un réglage dans ezgcd.cc pour que factor appelle le bon algorithme. Il faut alors 30 secondes en mode complexe contre 1 en mode réel pour factoriser. C'est quoi l'équation du second degré qui ne renvoie plus ses solutions comme avant?
Je vais regarder le problème du plantage (j'ai d'ailleurs un autre problème, pas de plantage, mais de focus et affichage de la fenêtre de l'aide, qui peut rendre Xcas inutilisable, mais impossible de le reproduire de manière déterministe pour pouvoir essayer de le débugguer).
Bon, c'est pas un plantage, juste la fenetre DispG qui n'est pas affichée automatiquement, je l'ajoute. Sinon, tu peux utiliser un niveau de géométrie et choisir Slopefield/Champ des tangentes dans le menu Graphe du niveau.

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

Re: version 1.0

Message par frederic han » ven. avr. 26, 2013 9:12 am

le voici, avant sol etait deja simplifiee.

Code : Tout sélectionner

as:= (u)->(s^2-2*s*u^2+4*s-2*u^2+1)/(2*s^3+10*s^2+10*s+2) ;
bs:= (u)->(-2*s^2*u-4*s*u-6*u)/(2*s^3+10*s^2+10*s+2) ;
cs:= (u)->(s^2*u^2+4*s*u^2-6*s+u^2-6)/(2*s^3+10*s^2+10*s+2) ;
Ps:=(s^2*t^2-2*s^2*t*u+s^2*u^2-2*s*t^2*u^2+4*s*t^2-4*s*t*u+4*s*u^2-6*s-2*t^2*u^2+t^2-6*t*u+u^2-6)/(2*s^3+10*s^2+10*s+2) ;
(sol:=solve(Ps,u)),(s0:=2*t),(p0:=t^2) ;
tmp1:=simplify(normal(bs(sol[0])*as(sol[1])+bs(sol[1])*as(sol[0]))) ;
tmp2:=simplify(normal(as(sol[0])*as(sol[1]))) ;
tmp3:=simplify(normal(cs(sol[0])*cs(sol[1]))) ;
s2:=simplify(-s0-tmp1/tmp2) ;
p2:=simplify(tmp3/(tmp2*p0)) ;
s0:=simplify(sol[0]+sol[1]) ;
p0:=simplify(sol[0]*sol[1]) ;
sol:=solve(u^2-s2*u+p2=0,u) ;
simplify(sol)
a oui, c'est bien mieux de faire en geometrie qu'en dispG. c'est trop instable avec le dispG.

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

Re: version 1.0

Message par parisse » ven. avr. 26, 2013 9:47 am

Oui, surement une modif pour corriger un autre bug, je préfère ne pas y toucher...

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

Re: version 1.0

Message par frederic han » ven. avr. 26, 2013 1:37 pm

J'ai aussi remarque un bug d'affichage:

Code : Tout sélectionner

l:=[x*y,y*z,z*x];
L:=[seq(seq(j*m,j=l),m=l)];
alors L s'affiche comme une matrice 3*3 bien que ca soit un vecteur:

dim(L) donne bien 9
et
op(L) n'a aucun crochets.

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

Re: version 1.0

Message par parisse » ven. avr. 26, 2013 1:53 pm

En fait ce n'est pas un bug d'affichage, c'est que le seq extérieur n'évalue pas l'opérateur virgule sur les seq intérieurs (ce que je trouve normal). Ainsi si tu retapes L tu obtiens bien un vecteur, mais L est une séquence de séquences. size(eval(L,1)) renvoie bien 3.

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

Re: version 1.0

Message par frederic han » ven. avr. 26, 2013 4:46 pm

Bof,
sous giac la sortie est claire, on a bien un vecteur.

Ca ne me derangerait pas qu'il affiche un truc du genre [((1,2,3),(1,2,3))] plutot que [1,2,3,1,2,3] car la ca serait juste la meme chose non evaluee. Mais ca ne me semble pas normal que l'on puisse lire quelque chose qui meme apres simplification ne donne pas un vecteur. De plus, si l'on copie et colle la sortie histoire de lever le doute, alors on obtient bien une matrice, c'est a dire que L n'a plus rien a voir avec le copie/colle de son premier affichage.


Fred

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

Re: version 1.0

Message par parisse » ven. avr. 26, 2013 6:13 pm

tu as raison, je vais afficher un vecteur.

Répondre