From: SourceForge.net <no...@so...> - 2007-01-09 02:54:10
|
Bugs item #1624975, was opened at 2006-12-30 09:55 Message generated for change (Settings changed) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1624975&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: Andrej Vodopivec (andrejv) Summary: Bug in AntiDifference (Maxima 5.11.0) Initial Comment: (%i1) display2d:false; (%o1) false (%i2) load(zeilberger); (%o2) ?\/usr\/share\/maxima\/5\.11\.0\/share\/contrib\/Zeilberger\/zeilberger\.mac (%i3) AntiDifference(-(1/(n+1)-1/n),n); (%o3) (-n-1)*(1/n-1/(n+1)) (%i4) AntiDifference((1/(n+1)-1/n),n); Unknown operator : - 1/(n+1)-1/n is not hypergeometric in n (%o4) NON_HYPERGEOMETRIC ---------------------------------------------------------------------- >Comment By: Robert Dodier (robert_dodier) Date: 2007-01-08 19:54 Message: Logged In: YES user_id=501686 Originator: NO Assigning this item to Andrej V since he seems to be working on some bug fixes for zeilberger. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-07 03:22 Message: Logged In: NO This fix does not work but Andrej found the right one. Add another (recursive) else if at the end of shiftQuoHypCheckAux: else if op(expr)="-" then return(shiftQuoHypCheckAux(-expr, k, hyp_flag)) Explanation: we are computing the shiftquotient f(k+1)/f(k). So an initial unary minus is irrelevant. Therefore we just drop it. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-06 13:47 Message: Logged In: NO Blindly changing if op(expr) = "+" then into if op(expr) = "+" or op(expr)="-" then near the end of the function shiftQuoHypCheckAux(expr,k,hyp_flag) in zeilberger/shiftQuotient.mac seems to fix this bug. I didn't do much testing. Are there any regression tests around for zeilberger? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-06 10:43 Message: Logged In: NO Blindly changing if op(expr) = "+" then into if op(expr) = "+" or op(expr)="-" then near the end of the function shiftQuoHypCheckAux(expr,k,hyp_flag) in zeilberger/shiftQuotient.mac seems to fix this bug. I didn't do much testing. Are there any regression tests around for zeilberger? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-06 10:29 Message: Logged In: NO This bug is probably easy to fix. The error message comes from the fuction shiftQuoHypCheckAux in the file zeilberger/shiftQuotient.mac. This checks for all possible operators in a certain expression and does something. It checks for "+" but forgets to check for "-". Somebody who is slightly familiar with the Gosper algorithm can probably figure out how to correct this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1624975&group_id=4933 |