From: SourceForge.net <no...@so...> - 2006-10-21 20:26:12
|
Bugs item #1575120, was opened at 2006-10-11 02:54 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1575120&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: Pending >Resolution: Rejected Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Some laws are still missing Initial Comment: is(equal((x/y)^z,(x^z/y^z))); is(equal((x*y)^z,(x^z*y^z))); is(equal((x^y)^z,(x^(y*z)))); of course they are equal! Those are laws! --Mario/Mexico ---------------------------------------------------------------------- >Comment By: Robert Dodier (robert_dodier) Date: 2006-10-21 14:26 Message: Logged In: YES user_id=501686 As mentioned by Barton, Maxima's default behavior is correct (since there are examples for which those equations fail to hold). I find that assuming x > 0 and y > 0, Maxima does evaluate those to true; I believe that is correct. assume(x>0,y>0); is(equal((x/y)^z,(x^z/y^z))); => true is(equal((x*y)^z,(x^z*y^z))); => true is(equal((x^y)^z,(x^(y*z)))); => true A possible enhancement (very far away at this point) would be for is(equal(...)) to return a result with one or more guard clauses specifying the applicability of various particular results. I won't try to spec that here. Marking this report "rejected" and "pending" (so that it will be closed automatically in 2 weeks, in case the original poster comes back). ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2006-10-11 04:09 Message: Logged In: YES user_id=895922 For real x,y,z, the equation (x*y)^z = x^z*y^z isn't an identity. To see this, let x --> -1, y --> -1, and z --> 1/2. If Maxima did is(equal((x*y)^z,(x^z*y^z))) --> true that would be a bug. Similarly, all your other laws are not valid for all real numbers. (1) We're working on improving the function equal; it has many known problems. (2) The function 'radcan' does (%i16) radcan((x*y)^z); (%o16) x^z*y^z Maybe you would like to use it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1575120&group_id=4933 |