From: SourceForge.net <noreply@so...>  20080121 06:09:21

Bugs item #1814656, was opened at 20071016 13:09 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&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: Share Libraries Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) >Summary: imaginary integrand in romberg Initial Comment: This is the error discription: (%i3) romberg(sqrt(1sqrt(x)/3*x), x, 0, 3);Maxima encountered a Lisp error: Error in TRAMP1$M [or a callee]: ((MPLUS SIMP) 5.2388640049375714E17 ((MTIMES SIMP) 0.85559967716735219 $%I)) is not of type (OR RATIONAL LISP:FLOAT).Automatically continuing.To reenable the Lisp debugger set *debuggerhook* to nil.  >Comment By: Robert Dodier (robert_dodier) Date: 20080120 23:09 Message: Logged In: YES user_id=501686 Originator: NO The error cited in the original report ("Error in TRAMP1$M") doesn't happen anymore because romberg is now an ordinary DEFUN. (The TRAMPFOO stuff was an idiosyncratic evaluation scheme.) As noted by Ray, now romberg(sqrt(1sqrt(x)/3*x), x, 0, 3); => 1.53754250... even though the integrand is imaginary for x > 3^(2/3). romberg calls COERCEFLOATFUN to construct the integrand function and the constructed function calls MAYBEREALPART which observes the special variable *PLOTREALPART*; when *PLOTREALPART* is T, MAYBEREALPART returns 0, otherwise NIL. So the constructed integrand treats this integrand as 0 in the range (3^(2/3), 3). If I set *PLOTREALPART* to NIL I get an unevaluated romberg expression (romberg doesn't attempt to compute a numeric result if the constructed integrand function returns a nonnumber). Probably romberg should bind *PLOTREALPART* to NIL before calling the integrand function. Probably *PLOTREALPART* should also be renamed since it is significant outside of the plotting code (for which it was originally devised).  Comment By: Raymond Toy (rtoy) Date: 20071217 10:54 Message: Logged In: YES user_id=28849 Originator: NO This error doesn't seem to occur anymore with 5.13.99rc1. It returns the result 1.537542508725151, which is approximately the value of integrate(sqrt(1sqrt(x)/3*x),x,0,3^(2/3)) > 2*3^(2/3)*beta(2/3,3/2)/3 > 1.537544212176236. Since the integrand is complex over some parts of the integration range, romberg should say something about that.  Comment By: Raymond Toy (rtoy) Date: 20071017 06:52 Message: Logged In: YES user_id=28849 Originator: NO Evaluate the integrand at x = 3. I get sqrt(1sqrt(3)), which is definitely not real. Maxima shouldn't give an error for this, but I'm not sure what exactly it should do.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&group_id=4933 
From: SourceForge.net <noreply@so...>  20080203 02:13:12

Bugs item #1814656, was opened at 20071016 13:09 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&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: Share Libraries Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: imaginary integrand in romberg Initial Comment: This is the error discription: (%i3) romberg(sqrt(1sqrt(x)/3*x), x, 0, 3);Maxima encountered a Lisp error: Error in TRAMP1$M [or a callee]: ((MPLUS SIMP) 5.2388640049375714E17 ((MTIMES SIMP) 0.85559967716735219 $%I)) is not of type (OR RATIONAL LISP:FLOAT).Automatically continuing.To reenable the Lisp debugger set *debuggerhook* to nil.  >Comment By: Robert Dodier (robert_dodier) Date: 20080202 19:13 Message: Logged In: YES user_id=501686 Originator: NO r1.8 share/numeric/romberg.lisp binds *PLOTREALPART* to NIL so that the constructed integrand function returns a complex result (instead of silently returning only the real part). Now romberg(sqrt(1sqrt(x)/3*x), x, 0, 3); => romberg expression, since the integrand returns a nonnumeric value within the limits of integration. Closing this report as fixed.  Comment By: Robert Dodier (robert_dodier) Date: 20080120 23:09 Message: Logged In: YES user_id=501686 Originator: NO The error cited in the original report ("Error in TRAMP1$M") doesn't happen anymore because romberg is now an ordinary DEFUN. (The TRAMPFOO stuff was an idiosyncratic evaluation scheme.) As noted by Ray, now romberg(sqrt(1sqrt(x)/3*x), x, 0, 3); => 1.53754250... even though the integrand is imaginary for x > 3^(2/3). romberg calls COERCEFLOATFUN to construct the integrand function and the constructed function calls MAYBEREALPART which observes the special variable *PLOTREALPART*; when *PLOTREALPART* is T, MAYBEREALPART returns 0, otherwise NIL. So the constructed integrand treats this integrand as 0 in the range (3^(2/3), 3). If I set *PLOTREALPART* to NIL I get an unevaluated romberg expression (romberg doesn't attempt to compute a numeric result if the constructed integrand function returns a nonnumber). Probably romberg should bind *PLOTREALPART* to NIL before calling the integrand function. Probably *PLOTREALPART* should also be renamed since it is significant outside of the plotting code (for which it was originally devised).  Comment By: Raymond Toy (rtoy) Date: 20071217 10:54 Message: Logged In: YES user_id=28849 Originator: NO This error doesn't seem to occur anymore with 5.13.99rc1. It returns the result 1.537542508725151, which is approximately the value of integrate(sqrt(1sqrt(x)/3*x),x,0,3^(2/3)) > 2*3^(2/3)*beta(2/3,3/2)/3 > 1.537544212176236. Since the integrand is complex over some parts of the integration range, romberg should say something about that.  Comment By: Raymond Toy (rtoy) Date: 20071017 06:52 Message: Logged In: YES user_id=28849 Originator: NO Evaluate the integrand at x = 3. I get sqrt(1sqrt(3)), which is definitely not real. Maxima shouldn't give an error for this, but I'm not sure what exactly it should do.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&group_id=4933 
From: SourceForge.net <noreply@so...>  20080225 05:16:07

Bugs item #1814656, was opened at 20071016 13:09 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&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: Share Libraries Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: imaginary integrand in romberg Initial Comment: This is the error discription: (%i3) romberg(sqrt(1sqrt(x)/3*x), x, 0, 3);Maxima encountered a Lisp error: Error in TRAMP1$M [or a callee]: ((MPLUS SIMP) 5.2388640049375714E17 ((MTIMES SIMP) 0.85559967716735219 $%I)) is not of type (OR RATIONAL LISP:FLOAT).Automatically continuing.To reenable the Lisp debugger set *debuggerhook* to nil.  >Comment By: Robert Dodier (robert_dodier) Date: 20080224 22:16 Message: Logged In: YES user_id=501686 Originator: NO Forgot to actually close this report. Hope I got it right this time.  Comment By: Robert Dodier (robert_dodier) Date: 20080202 19:13 Message: Logged In: YES user_id=501686 Originator: NO r1.8 share/numeric/romberg.lisp binds *PLOTREALPART* to NIL so that the constructed integrand function returns a complex result (instead of silently returning only the real part). Now romberg(sqrt(1sqrt(x)/3*x), x, 0, 3); => romberg expression, since the integrand returns a nonnumeric value within the limits of integration. Closing this report as fixed.  Comment By: Robert Dodier (robert_dodier) Date: 20080120 23:09 Message: Logged In: YES user_id=501686 Originator: NO The error cited in the original report ("Error in TRAMP1$M") doesn't happen anymore because romberg is now an ordinary DEFUN. (The TRAMPFOO stuff was an idiosyncratic evaluation scheme.) As noted by Ray, now romberg(sqrt(1sqrt(x)/3*x), x, 0, 3); => 1.53754250... even though the integrand is imaginary for x > 3^(2/3). romberg calls COERCEFLOATFUN to construct the integrand function and the constructed function calls MAYBEREALPART which observes the special variable *PLOTREALPART*; when *PLOTREALPART* is T, MAYBEREALPART returns 0, otherwise NIL. So the constructed integrand treats this integrand as 0 in the range (3^(2/3), 3). If I set *PLOTREALPART* to NIL I get an unevaluated romberg expression (romberg doesn't attempt to compute a numeric result if the constructed integrand function returns a nonnumber). Probably romberg should bind *PLOTREALPART* to NIL before calling the integrand function. Probably *PLOTREALPART* should also be renamed since it is significant outside of the plotting code (for which it was originally devised).  Comment By: Raymond Toy (rtoy) Date: 20071217 10:54 Message: Logged In: YES user_id=28849 Originator: NO This error doesn't seem to occur anymore with 5.13.99rc1. It returns the result 1.537542508725151, which is approximately the value of integrate(sqrt(1sqrt(x)/3*x),x,0,3^(2/3)) > 2*3^(2/3)*beta(2/3,3/2)/3 > 1.537544212176236. Since the integrand is complex over some parts of the integration range, romberg should say something about that.  Comment By: Raymond Toy (rtoy) Date: 20071017 06:52 Message: Logged In: YES user_id=28849 Originator: NO Evaluate the integrand at x = 3. I get sqrt(1sqrt(3)), which is definitely not real. Maxima shouldn't give an error for this, but I'm not sure what exactly it should do.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1814656&group_id=4933 