From: SourceForge.net <no...@so...> - 2009-06-07 02:55:59
|
Bugs item #2802154, was opened at 2009-06-05 21:33 Message generated for change (Comment added) made by dvitanye You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=2802154&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: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Dave Vitanye (dvitanye) Assigned to: Nobody/Anonymous (nobody) Summary: Problem with radcan simplifying an expression Initial Comment: I'm a new Maxima user, so I'm not sure this qualifies as a defect, but it just doesn't look right to me: For some particular specific functions X and Q: (%i4) radcan(X(Q(A/B),Q(A/B))); A (%o4) - B and then I would expect also: (%i5) radcan(X(Q(1/B),Q(1/B))); 1 (%o5) - B However the next result seems peculiar to me: (%i6) radcan(X(Q(A/1),Q(A/1))); A + 1 (%o6) ------- 3 A - 1 where I would have expected the result to be either A or A/1, right? Here are the two specific functions: (%i2) X(S,T) := (S*T*(2*S*T+S+T)-2*S^(3/2)*T^(3/2)*(S+T+1)^(1/2)) / (S*T*(2*S*T-S-T)+(S-T)^2 + 2*S^(3/2)*T^(3/2)*(S+T+1)^(1/2)); 3/2 3/2 1/2 S T (2 S T + S + T) - 2 S T (S + T + 1) (%o2) X(S, T) := ----------------------------------------------------------- 2 3/2 3/2 1/2 S T (2 S T - S - T) + (S - T) + 2 S T (S + T + 1) (%i3) Q(x) := 4*x*(1+x)/(1-x)^2; 4 x (1 + x) (%o3) Q(x) := ----------- 2 (1 - x) Here is the build information: ------------------------------------------------------------- Maxima version: 5.18.1 Maxima build date: 20:57 4/19/2009 host type: i686-pc-mingw32 lisp-implementation-type: GNU Common Lisp (GCL) lisp-implementation-version: GCL 2.6.8 ------------------------------------------------------------- Any comments or help are appreciated. -Dave ---------------------------------------------------------------------- Comment By: Dave Vitanye (dvitanye) Date: 2009-06-06 19:55 Message: On further examination, I now believe the radcan result to be, in fact, correct. Surprising to me as a new user, but correct. So please consider this artifact to be withdrawn by the original author. Details follow: Since Q(x) blows up at x = 1 because of the term (1-x)^2 in the denominator, there are two distinct regions to examine: x< 1 and x > 1. It Turns Out that the domain of interest to me for the parameter of function Q is x < 1. What I was attempting to confirm was the identity X(Q(x),Q(x)) = x. And, it turns out, this really IS true IF x < 1. The surprise to me is that, without my indicating any explicit assumptions, radcan appears to be making some implicit assumptions about the range of variable x. So, X(Q(1/B),Q(1/B)) simplifies to 1/B, apparently based on the determination that 1/B will be < 1 (ie. B is > 1 and not something like .1). And, X(Q(A),Q(A)) does NOT simplify to A, again based on the determination that A will be > 1 (ie. A is not something like .1). The curious result is that X(Q(A/B),Q(A/B)) simplifies to A/B, which is only true if A<B, but not true if A>B. How did radcan make the choice? If anyone more knowledgeable about how radcan is making these implicit assumtions about the range of variables being used could describe what's going on, I would be interested in understanding the details. Thanks. ---------------------------------------------------------------------- Comment By: Dave Vitanye (dvitanye) Date: 2009-06-05 21:45 Message: Oops - original post format not very readable; I am attempting to re-post the content using the attached file mechanism. -Dave ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=2802154&group_id=4933 |