0.8.1 suite

Bugs

Modérateur : xcasadmin

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

Message par parisse » sam. oct. 04, 2008 5:47 pm

frederic han a écrit :OK, pour le tableau, si mon mode par defaut (sauvegarde puis xcas relance) est xcas alors le tableau est bon.
salut!
j'ai réussi à corriger ce pb (mais il faut sauvegarder la session avec une version a jour de xcas pour qu'elle ouvre automatiquement les tableaux correctement en mode xcas)
Pour F9, je remarque que le via le menu deroulant ca marche, c'est juste F9, et si je supprime le tableau, alors F9 marche, j'ai l'impression que F9 n'evalue que le tableau.
bien vu, c'était le tableur qui prenait la touche F9 au lieu de la session. J'ai changé en F8 pour le tableur et ça a l'air de marcher.

bon courage

Fred[/quote]

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

Message par frederic han » mer. oct. 08, 2008 9:10 am

OK,
NB: un copain m'a fait remarquer que si la langue etait anglais alors il ne trouvait pas les exemples. (le chemin Example n'existe pas)

Fred

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

Message par parisse » mer. oct. 08, 2008 12:15 pm

En effet, je remets Exemples en attendant que les commentaires des exemples soient traduits.
Voila, sinon je viens de programmer une petite acceleration du calcul du polynome caracteristique d'une matrice a coeffs entiers, en utilisant une methode modulaire et le polynome minimal relatif a un vecteur aleatoire ou a defaut la forme de Hessenberg pour le polynome caracteristique dans Z/pZ. C'est dans xcas_root.tgz, et ca va plus vite que pari par exemple pour une matrice 100x100 ranm(100,100).

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

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

Je n'ai fait que quelques petits tests, je n'ai pas eu de Pb, et ca marche bien.

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

Message par frederic han » mer. oct. 08, 2008 10:12 pm

Rien a voir, mais j'ai un resultat bizarre:

b:=(factor(x^2+(-1+(I)*sqrt(3))/2,exp(2*I*Pi/9)));

me donne une constante.

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

Message par parisse » jeu. oct. 09, 2008 11:52 am

Il m'a fait transpirer ce bug-la! Ca y est, je l'ai corrige, l'output n'est pas parfait mais au moins correct. C'est aussi assez lent.
Du coup j'ai fait des modifs dans la gestion des extensions algebriques, j'espere que ca n'aura pas de repercussions ailleurs...

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

Message par frederic han » ven. oct. 10, 2008 10:28 am

OK, ca a l'air de marcher.

En revanche j'avais note ca aussi: sur la version que j'ai compilee pour FreeBSD:

P:=expand((1+x+x^2+x^3)*(x+1)^2);
cFactor(approx(P))
(eventuellement plusieurs fois fini par me donner:
proot error [1.0,3.0,3.0,1.0] Error: Bad argument value

(Je n'arrive pas a le reproduire avec ta version linux, j'ai peut etre une mauvaise librairie?)
mais sous linux et freeBSD:
P:=expand((1+x+x^2)*(x+1)^2)
cFactor(approx(P))
fini par donner:
(x+0.5+0.8660254038*I)*(x+0.5-0.8660254038*I)*(x+undef)

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

Message par parisse » ven. oct. 10, 2008 10:48 am

il va falloir que je retravaille un peu la gestion des poly approches ayant des racines multiples. Pas evident a faire, car le pgcd ne va pas m'aider a detecter ces multiplicites et si elles ne sont pas detectees la methode de Newton peut planter. As-tu une suggestion?

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

Message par frederic han » lun. oct. 13, 2008 10:03 am

Ha oui, mais pour gcd je n'arrive pas a travailler avec un digits precis, ie >=15.

1) Digits:=50;
P:=x+1;
approx(P); n'a pas change.
Mais
1/3.0;
puis approx(P) fait basculer la precision.

2)
P:=x^2+1.0*x;
Q:=diff(P,x)
gcd(P,Q) donne
has_denominator Error: Bad Argument Type

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

Message par parisse » mer. oct. 15, 2008 9:09 am

je viens de corriger, par contre chez moi gcd(P,Q) renvoie 1 sans faire d'erreurs ...
Je vais mettre les binaires a jour en commencant par xcas_root

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

Message par frederic han » mer. oct. 15, 2008 10:22 am

oui, pour avoir l'erreur il faut que le 2x de Q soit en flottant, et pas juste son terme constant.

donc plutot Q:=approx(diff(P,x));
gcd(P,Q)
has_denominator Error: Bad Argument Type

J'edit ce post, en fait avec la nouvelle version (15/10) ca n'a plus l'air de le faire.

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

Message par frederic han » jeu. oct. 16, 2008 1:50 pm

mini Pb:
convert(0,base,2)

me donne une liste vide alors qu'on attend plutot 0?

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

Message par parisse » jeu. oct. 16, 2008 4:31 pm

perso, je prefere une liste vide, car comme ca si l'ecriture est non vide, elle contient un bit significatif a droite qui vaut 1. L'essentiel c'est que la conversion inverse redonne bien 0.

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

Message par frederic han » jeu. oct. 16, 2008 6:43 pm

A ok, c'etait parce que je multiplais ca par une matrice, et que du coup ca ne donnait pas la matrice nulle, mais c'est pas grave, je completerai par des 0
merci

Fred

Répondre