chk_fhan16

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

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

chk_fhan16

Message par frederic han » mer. sept. 27, 2017 10:03 am

Dans beaucoup de situations (sage, fedora ...) il y a une difference d'ordre lors de la réponse de cSolve dans chk_fhan16:

Code : Tout sélectionner

seq(cSolve(soly[i],y),i=1..3);
pourtant, sort(seq(cSolve(soly,y),i=1..3)) ne change pas l'ordre alors que:

Code : Tout sélectionner

L2:=seq(cSolve(soly[i],y),i=1..3):
sort(L2);
change l'ordre et me donne:

Code : Tout sélectionner

"Done",
0,sqrt(6)*sqrt(sqrt(13)-3),sqrt(6)*I*sqrt(sqrt(13)+3),-sqrt(6)*sqrt(sqrt(13)-3),-sqrt(6)*I*sqrt(sqrt(13)+3),
Est ce que ca ne serait pas un moyen d'avoir une réponse commune et d'eviter ces patches?

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

Re: chk_fhan16

Message par parisse » mer. sept. 27, 2017 1:04 pm

J'ai fait le changement, mais je crains que ca ne resolve pas le probleme, chez moi ca renvoie
sqrt(6)*sqrt(sqrt(13)-3),-sqrt(6)*I*sqrt(sqrt(13)+3),sqrt(6)*sqrt(sqrt(13)-3),sqrt(6)*I*sqrt(sqrt(13)+3),0,
Ou alors il faut que je change sort.

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

Re: chk_fhan16

Message par frederic han » mer. sept. 27, 2017 5:22 pm

bon alors comme cela on a 5 reels distincts ca devrait suffire non?:

Code : Tout sélectionner

--- TP16-sol.cas.orig	2016-11-02 12:18:46.000000000 +0100
+++ TP16-sol.cas	2017-09-27 18:13:27.149510137 +0200
@@ -58,7 +58,8 @@
  solx:=[solve(eqred,x)];
  soly:=seq(gcd(subs(x=solx[i],C1),subs(x=solx[i],C2)),i=1..3);
 /*  les ordonn\'ees des points d'abscisse solx[i] sont:*/
- seq(cSolve(soly[i],y),i=1..3);
+L2:=seq(cSolve(soly[i],y),i=1..3):
+sort([L2],(u,v)-> real(u+I*u*0.3)<real(v+I*v*0.3));
 /*  On constate que pour solx[3] les ordonn\'ees des points de C1 inter�  C2 ayant cette abscisse sont complexes conjuguees bien que solx[3]� soit reel ce qui explique pourquoi le dessin ne nous donnait que 4 points.*/
 /* ----------------------------------------Exercice---Intersections de quadriques--------------------------------------*/
 purge(u);
--- TP16-sol.cas.out1.orig	2017-08-03 11:26:48.000000000 +0200
+++ TP16-sol.cas.out1	2017-09-27 18:08:09.062349774 +0200
@@ -48,7 +48,8 @@
 "Done",
 [-sqrt(13)-1,sqrt(13)-1,4],
 y^2+6*sqrt(13)+18,y^2-6*sqrt(13)+18,y^2,
--sqrt(6)*I*sqrt(sqrt(13)+3),sqrt(6)*I*sqrt(sqrt(13)+3),-sqrt(6)*sqrt(sqrt(13)-3),sqrt(6)*sqrt(sqrt(13)-3),0,
+"Done",
+[-sqrt(6)*sqrt(sqrt(13)-3),sqrt(6)*I*sqrt(sqrt(13)+3),0,-sqrt(6)*I*sqrt(sqrt(13)+3),sqrt(6)*sqrt(sqrt(13)-3)],
 "No such variable u",
 x^2+1/4*y^2+1/9*z^2-1,
 x^2+y^2+z^2-u,

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

Re: chk_fhan16

Message par parisse » mer. sept. 27, 2017 6:06 pm

Tres bonne idee, je le fais.

Répondre