simplifier

Utilisation de Xcas

Modérateur : xcasadmin

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

simplifier

Message par frederic han » lun. janv. 27, 2014 2:18 pm

Salut,
je ne sais pas si c'est ameliorable, mais voici un exemple ou simplify s'en sort en 3 coups assez rapidement alors qu'en regardant la premiere etape on est plutot tente de ne pas insister:

Code : Tout sélectionner

p(x):=x^3-2*x^2-32*x+28;
t:=((-18*i)*((((6*i)*sqrt(27591)-82)/27)^(1/3))^2+6*(((6*i)*sqrt(27591)-82)/27)^(1/3)*sqrt(3)+(6*i)*(((6*i)*sqrt(27591)-82)/27)^(1/3)+150*i-100*sqrt(3)-50*i)/(9*(((6*i)*sqrt(27591)-82)/27)^(1/3)*sqrt(3)+(9*i)*(((6*i)*sqrt(27591)-82)/27)^(1/3));
simplify(simplify(simplify(p(t))))
Fred

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

Re: simplifier

Message par parisse » lun. janv. 27, 2014 5:58 pm

Apparament, c'est un problème avec les i à l'intérieur des racines cubiques, ça m'a l'air coton, pas sur que j'arrive à mettre ça au point.

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

Re: simplifier

Message par parisse » lun. janv. 27, 2014 6:48 pm

En fait c'est ratnormal qui fait le travail quand on appelle simplify, alors que normal abandonne (ça vient en partie du fait que les extensions algébriques utilisées n'ont pas de racines réelles).
Ca peut permettre de mettre en évidence l'intérêt des rootof par rapport aux formules de Cardan:
x1,x2,x3:=solve(p(x)); normal(p(x2)); evalf(x2) tout ça marche très bien (et je renvoie x1,x2,x3 dans une même extension normale de degré 6, d'ailleurs toi qui connait PARI il y a une instruction qui permet de trouver un polynome minimal pour splitter complètement un polynôme de degré 4?).
La question après c'est faut-il réécrire (a+i*b)^(1/3) systématiquement comme c'est le cas pour sqrt(a+i*b)?

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

Re: simplifier

Message par parisse » mar. janv. 28, 2014 8:35 am

Je pense avoir un patch qui marche dans le cas ci-dessus (coefficients numeriques), mais c'est assez couteux en calcul (beaucoup plus que de faire 3 fois ratnormal), il faut dire que l'extension algebrique utilisee a un polynome minimal de degre 24:

Code : Tout sélectionner

[1,0,-331116,478224,50249336538,-67588237728,-4619311326598028,1040497224394896,287425015074695813751,418072927334281057152,-12761881915858808870346264,-41527279854611048608279776,412793416531027735182070542348,2028868756401709261365635163456,-9717109324000882803908996667163704,-60202322652944058092225285390807904,164073832872058527540541719982256980863,1109580650156795065496164717783152181632,-1916096806803828440208185198891797863094268,-12380670922064027348084120870257530055295280,15455594672623181747678778547693689629512135866,81020109028257455900740055245261843396918005600,-77510457448873006080370648857429293079587215793340,-264144698437987270187471330886964949999758646539056,214776515425125277859507524175864508407238188109643369]

Répondre