version 1.0
Modérateur : xcasadmin
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
version 1.0
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.
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.
Re: version 1.0
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?
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: version 1.0
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
http://www.math.jussieu.fr/~han/xcas/xc ... -amd64.tgz
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: version 1.0
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+
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+
Re: version 1.0
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.
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.
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: version 1.0
le voici, avant sol etait deja simplifiee.
a oui, c'est bien mieux de faire en geometrie qu'en dispG. c'est trop instable avec le dispG.
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)
Re: version 1.0
Oui, surement une modif pour corriger un autre bug, je préfère ne pas y toucher...
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: version 1.0
J'ai aussi remarque un bug d'affichage:
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.
Code : Tout sélectionner
l:=[x*y,y*z,z*x];
L:=[seq(seq(j*m,j=l),m=l)];
dim(L) donne bien 9
et
op(L) n'a aucun crochets.
Re: version 1.0
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.
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: version 1.0
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
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
Re: version 1.0
tu as raison, je vais afficher un vecteur.