From: SourceForge.net <no...@so...> - 2009-11-28 22:40:59
|
Bugs item #1977146, was opened at 2008-05-28 23:37 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1977146&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Robert Marik (robertmarik) Assigned to: Nobody/Anonymous (nobody) Summary: radexpand does not work as explained in documentation Initial Comment: >From maxima discussion list: Maxima manual states the following --------------------- When radexpand is false, certain transformations are inhibited. radcan (sqrt (1-x)) remains sqrt (1-x) and is not simplified to %i sqrt (x-1). radcan (sqrt (x^2 - 2*x + 11)) remains sqrt (x^2 - 2*x + 1) and is not simplified to x - 1. --------------------- Neglecting the typo in radcan (sqrt (x^2 - 2*x + 11)) which should be probably radcan (sqrt (x^2 - 2*x + 1)), I get the answer x-1 also with radexpand:false. Moreover, sqrt(1-x) remains sqrt(1-x) even with radexpand:true. Is the documentation of radcan obsolete? Robert Marik reponse of Richard Fateman radexpand was inserted by someone else, after the code was written in 1970. I do not know if the documentation or the program is buggy, since I'm not sure what was intended. RJF ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2009-11-28 23:40 Message: I think the option variable radexpand controls the simplification of the power function, but does not control the function radcan. This is wrongly documented. radexpand works for expressions like (x*y)^a and (x^a)^b. Some examples are: (%i2) radexpand:false$ (%i3) (x*y)^a; (%o3) (x*y)^a (%i4) (x*y)^a,radexpand:true; (%o4) (x*y)^a The expression simplifies, if radexpand is set to ALL: (%i5) (x*y)^a,radexpand:all; (%o5) x^a*y^a (%i6) (x^a)^b; (%o6) (x^a)^b (%i7) (x^a)^b,radexpand:true; (%o7) (x^a)^b The expression simplifies, if radexpand is set to ALL: (%i8) (x^a)^b,radexpand:all; (%o8) x^(a*b) Both expressions simplify only, if radexpand is set to ALL. Therefore, the value ALL has the effect, that all variables are assumed to be positive and real. With a value of TRUE, radexpand controls the simplifcation of the power function for even and odd rational numbers. For an even rational power we do not get a simplification: (%i12) (x*y)^(1/2); (%o12) sqrt(x*y) (%i13) (x*y)^(1/2),radexpand:true; (%o13) sqrt(x*y) But we get a simplification for an odd power, if radexpand is set to TRUE: (%i14) (x*y)^(1/3); (%o14) (x*y)^(1/3) (%i15) (x*y)^(1/3),radexpand:true; (%o15) x^(1/3)*y^(1/3) The function radcan simplifies the above expressions with power functions too, but does not depend on the flag radexpand: The flag is set to FALSE: (%i34) radexpand; (%o34) false radcan simplifies the expressions. The flag radexpand does not matter: (%i35) radcan((x*y)^a); (%o35) x^a*y^a (%i36) radcan((x^a)^b); (%o36) x^(a*b) Therefore, radcan always assumes the variables to be positive and real. In a first step, all of these should be documented more clearly. Dieter Kaiser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1977146&group_id=4933 |