simplification incomplète

Bugs

Modérateur : xcasadmin

joaopa
Messages : 44
Inscription : dim. sept. 14, 2014 10:18 pm

simplification incomplète

Message par joaopa » jeu. oct. 15, 2020 3:56 pm

Bonjour,

xcas ne va pas au bout de la simplification:

sous Maple

Code : Tout sélectionner

simplify(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1)
renvoie

Code : Tout sélectionner

(4*2^(2^m))/5 - 6/5 + (2*4^(2^m))/5
Sous Xcas

Code : Tout sélectionner

simplify(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1)
renvoie

Code : Tout sélectionner

(8*exp(exp(m*ln(2))*ln(2)-ln(2))^2+8*exp(exp(m*ln(2))*ln(2)-ln(2))-6)/5
Merci d'avance.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: simplification incomplète

Message par alb » jeu. oct. 15, 2020 4:59 pm

salut, as tu essaye exp2pow ?

joaopa
Messages : 44
Inscription : dim. sept. 14, 2014 10:18 pm

Re: simplification incomplète

Message par joaopa » jeu. oct. 15, 2020 6:50 pm

En effet, ça marche. Fallait la connaître cette commande. Toujours est-il que même avec cette commande on n'a pas la simplification complète:

Code : Tout sélectionner

exp2pow(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1)
Réponse de Xcas:

Code : Tout sélectionner

2^(4*(2^(m-2)+1)+1)/15+2^(4*2^(m-2)+4)/15+2^(2^m+4*2^(m-2)+2)/15+2^(2^m+2)+2^(2^m+4*2^(m-2)+1)/15-2^(2^m+6)/15-2^(2^m+5)/15-1/5-1
Si on fait

Code : Tout sélectionner

exp2pow(simplify(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1))
on obtient

Code : Tout sélectionner

(8*2^(2^(m+1)-2)+8*2^(2^m-1)-6)/5
Bref, la simplification obtenue par Maple n'est pas obtenue avec Xcas

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: simplification incomplète

Message par alb » jeu. oct. 15, 2020 7:36 pm

"Fallait la connaître cette commande" il suffit de faire Expression>Expln^>exp2pow
"la simplification obtenue par Maple n'est pas obtenue avec Xcas"
on pourrait aussi bien dire:
la simplification obtenue par Xcas n'est pas obtenue avec Maple !

joaopa
Messages : 44
Inscription : dim. sept. 14, 2014 10:18 pm

Re: simplification incomplète

Message par joaopa » jeu. oct. 15, 2020 7:47 pm

Sauf que la simplification obtenue par Maple est la plus utile en pratique.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: simplification incomplète

Message par alb » sam. oct. 17, 2020 6:55 pm

pourquoi ?
voici encore une autre forme
E:=simplify(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1);
factor(expand(exp2pow(E)));

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

Re: simplification incomplète

Message par parisse » dim. oct. 18, 2020 3:07 pm

On peut obtenir la meme forme que Maple avec

Code : Tout sélectionner

normal(exp2pow(expexpand(simplify(sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1))))
La bonne methode pour simplifier un resultat dans Xcas c'est utiliser l'editeur d'expressions. Par exemple ici on entre

Code : Tout sélectionner

sum(2^(4*j) + 2^(4*j + 1), j = 0 .. 2^(m - 2)) + 2^(2 + 2^m) + sum(2^(4*j + 1 + 2^m) + 2^(4*j + 2 + 2^m), j = 1 .. 2^(m - 2) - 1) - 1)
puis on selectionne le resultat ou une sous-expression du resultat (on peut utiliser les fleches curseur pour se deplacer dans l'arborescence de l'expression) et on applique a la selection des commandes du menu Expressions, jusqu'a obtenir la forme desiree (on peut revenir en arriere avec Ctrl-Z deux fois).

joaopa
Messages : 44
Inscription : dim. sept. 14, 2014 10:18 pm

Re: simplification incomplète

Message par joaopa » ven. oct. 23, 2020 3:30 am

Merci pour l'astuce ! Très pratique 8)

Répondre