## maxima-bugs

 [Maxima-bugs] [ maxima-Bugs-3002971 ] limit fails where rat+subst works From: SourceForge.net - 2010-05-17 22:19:27 ```Bugs item #3002971, was opened at 2010-05-17 22:19 Message generated for change (Tracker Item Submitted) made by You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&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 - Limit Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: l_butler () Assigned to: Nobody/Anonymous (nobody) Summary: limit fails where rat+subst works Initial Comment: Sorry for the long expression, but... limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1))),(1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\ 2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))), a0,0); Is W60666 positive or negative? p; Is W62703 positive or negative? p; (%o35) 'limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))), a0,0) (%i36) rat(part(%,1)); subst(a0=0,%); (%o36) min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))) (%o37) 0 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-3002971 ] limit fails where rat+subst works From: SourceForge.net - 2010-05-23 22:31:53 ```Bugs item #3002971, was opened at 2010-05-18 00:19 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&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 - Limit Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: l_butler () Assigned to: Nobody/Anonymous (nobody) Summary: limit fails where rat+subst works Initial Comment: Sorry for the long expression, but... limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1))),(1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\ 2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))), a0,0); Is W60666 positive or negative? p; Is W62703 positive or negative? p; (%o35) 'limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))), a0,0) (%i36) rat(part(%,1)); subst(a0=0,%); (%o36) min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))) (%o37) 0 ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2010-05-24 00:31 Message: Maxima can calculate both limits separately. We get: (%i17) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i18) limit(%,a0,0); (%o18) 0 (%i19) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i20) limit(%,a0,0); (%o20) 4 It is a problem that limit has no code to distribute over the arguments of the function min or max. I have not followed the whole way through the code of limit. But we only get a correct result when the simplifying function simp-min is able to simplify the intermediate expressions from limit correctly. This is not true for the case of this bug report. I think the most simple and general solution is to provide a simplim%function for \$min which does the correct handling and distributes the limit over the arguments of min. Dieter Kaiser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-3002971 ] limit fails where rat+subst works From: SourceForge.net - 2010-05-28 15:29:38 ```Bugs item #3002971, was opened at 2010-05-18 00:19 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&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 - Limit Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: l_butler () Assigned to: Nobody/Anonymous (nobody) Summary: limit fails where rat+subst works Initial Comment: Sorry for the long expression, but... limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1))),(1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\ 2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))), a0,0); Is W60666 positive or negative? p; Is W62703 positive or negative? p; (%o35) 'limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))), a0,0) (%i36) rat(part(%,1)); subst(a0=0,%); (%o36) min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))) (%o37) 0 ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2010-05-28 17:29 Message: A more simple example to show the problem is the following: (%i7) limit(min(x,sin(x)/x,x+2),x,0); (%o7) 'limit(min(x,sin(x)/x),x,0) Maxima knows all limits. The result should be 0. We have the same problem with the function max. Now the result should be 2, but we get a noun form again: (%i8) limit(max(x,sin(x)/x,x+2),x,0); (%o8) 'limit(max(x+2,sin(x)/x),x,0) limit does not distribute over the arguments of min and max. Therefore, we get no results, but a noun form. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2010-05-24 00:31 Message: Maxima can calculate both limits separately. We get: (%i17) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i18) limit(%,a0,0); (%o18) 0 (%i19) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i20) limit(%,a0,0); (%o20) 4 It is a problem that limit has no code to distribute over the arguments of the function min or max. I have not followed the whole way through the code of limit. But we only get a correct result when the simplifying function simp-min is able to simplify the intermediate expressions from limit correctly. This is not true for the case of this bug report. I think the most simple and general solution is to provide a simplim%function for \$min which does the correct handling and distributes the limit over the arguments of min. Dieter Kaiser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-3002971 ] limit fails where rat+subst works From: SourceForge.net - 2010-05-28 17:09:31 ```Bugs item #3002971, was opened at 2010-05-18 00:19 Message generated for change (Settings changed) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&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 - Limit Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: l_butler () Assigned to: Nobody/Anonymous (nobody) Summary: limit fails where rat+subst works Initial Comment: Sorry for the long expression, but... limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1))),(1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\ 2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))), a0,0); Is W60666 positive or negative? p; Is W62703 positive or negative? p; (%o35) 'limit(min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))), a0,0) (%i36) rat(part(%,1)); subst(a0=0,%); (%o36) min((1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1)), (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))+1)^2 +a0^2/(2*a0^4/(2*a0^2+1)+3*a0^2/(2*a0^2+1)+1/(2*a0^2+1))) (%o37) 0 ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2010-05-28 19:09 Message: Fixed in maxmin.lisp revision 1.14. A simplim%function has been implemented for the functions \$min and \$max to handle a limit more complete. Closing this bug report as fixed. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2010-05-28 17:29 Message: A more simple example to show the problem is the following: (%i7) limit(min(x,sin(x)/x,x+2),x,0); (%o7) 'limit(min(x,sin(x)/x),x,0) Maxima knows all limits. The result should be 0. We have the same problem with the function max. Now the result should be 2, but we get a noun form again: (%i8) limit(max(x,sin(x)/x,x+2),x,0); (%o8) 'limit(max(x+2,sin(x)/x),x,0) limit does not distribute over the arguments of min and max. Therefore, we get no results, but a noun form. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2010-05-24 00:31 Message: Maxima can calculate both limits separately. We get: (%i17) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))-1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i18) limit(%,a0,0); (%o18) 0 (%i19) (1/(sqrt(2*a0^2+1)*sqrt(a0^2/(2*a0^2+1)+1/(\2*a0^2+1)))+1)^2+a0^2/((2*a0^2+1)*(a0^2/(2*a0^2+1)+1/(2*a0^2+1)))\$ (%i20) limit(%,a0,0); (%o20) 4 It is a problem that limit has no code to distribute over the arguments of the function min or max. I have not followed the whole way through the code of limit. But we only get a correct result when the simplifying function simp-min is able to simplify the intermediate expressions from limit correctly. This is not true for the case of this bug report. I think the most simple and general solution is to provide a simplim%function for \$min which does the correct handling and distributes the limit over the arguments of min. Dieter Kaiser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3002971&group_id=4933 ```