Le 26/02/2012 16:46, dominique.drux@orange.fr a écrit :
Bonjour,
Maxima ne simplifie pas spontanément les expressions contenant des constantes, sauf si on lui demande, encore faut-il qu'il y ait un programme spécifique comme "simplification de radicaux".
Le calcul ci-joint peut vous éclairer.
Dominique

-----Message d'origine----- From: JihemD
Sent: Sunday, February 26, 2012 2:06 PM
To: maxima-lang-fr@lists.sourceforge.net
Subject: [Maxima-lang-fr] nombre d'or

Bonjour à tous

pourquoi, concernant les expressions suivantes contenant le nombre d'or
( %phi ), Maxima répond-t-il par 'false' ? :

is ((%phi * %phi) = (%phi + 1));

is (%phi = rhs(solve([x * x - x - 1 = 0],[x])[2]));

pourtant :

float(%phi), numer;

renvoie bien l'approximation 1.618033988749895 !

ai-je oublié de charger un module ?

merci de vos éclaircissements

JMarc D.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Maxima-lang-fr mailing list
Maxima-lang-fr@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr

après quelques explorations, concernant les exemples dans le PDF :
1) si on suit le fichier help de wxMaxima concernant la simplification de la constante %phi

"Constant: %phi 

%phi represents the so-called golden mean, (1 + sqrt(5))/2. The numeric value of %phi is the double-precision floating-point value 1.618033988749895d0.

fibtophi expresses Fibonacci numbers fib(n) in terms of %phi.

By default, Maxima does not know the algebraic properties of %phi. After evaluating tellrat(%phi^2 - %phi - 1) and algebraic: true, ratsimp can simplify some expressions containing %phi."


donc avec

tellrat(%phi^2 - %phi - 1);
algebraic: true;

ratsimp(%phi^2-%phi-1);
renvoie bien 0

pour l'exemple avec les log de constantes :

is(3*log(2)-log(8)=0);
renvoie false

mais en insérant 'logcontract' :

is(logcontract(3*log(2)-log(8))=0);
renvoie true !

Mais ça n'est pas vraiment intuitif ....

cordialement

Jean-Marc Detourmignies