From: SourceForge.net <noreply@so...>  20040504 16:16:50

Bugs item #947808, was opened at 20040504 12:15 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 3 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: logcontract and ratfac Initial Comment: logcontract(2*log(x+1)) => log((x+1)^2) but logcontract(2*log(x+1)+1) => log(x^2+2*x+1)+1 That is, it performs a ratsimp only in the second case. logcontract is documented to perform the ratsimp, in fact. But in general, it doesn't seem like a good idea. Consider, e.g. logcontract(1000*log(x+1)+log(x)). This stackoverflows since it expands out the result, but it could just as well return log((x+1)^1000*x). There is a workaround, which is to bind ratfac to true, which leaves things in factored form. Perhaps logcontract should always have ratfac:true?  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&group_id=4933 
From: SourceForge.net <noreply@so...>  20060729 06:27:45

Bugs item #947808, was opened at 20040504 10:15 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&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: Open Resolution: None Priority: 3 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: logcontract and ratfac Initial Comment: logcontract(2*log(x+1)) => log((x+1)^2) but logcontract(2*log(x+1)+1) => log(x^2+2*x+1)+1 That is, it performs a ratsimp only in the second case. logcontract is documented to perform the ratsimp, in fact. But in general, it doesn't seem like a good idea. Consider, e.g. logcontract(1000*log(x+1)+log(x)). This stackoverflows since it expands out the result, but it could just as well return log((x+1)^1000*x). There is a workaround, which is to bind ratfac to true, which leaves things in factored form. Perhaps logcontract should always have ratfac:true?  >Comment By: Robert Dodier (robert_dodier) Date: 20060729 00:27 Message: Logged In: YES user_id=501686 Same behavior in 5.9.3cvs.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&group_id=4933 
From: SourceForge.net <noreply@so...>  20100427 23:13:41

Bugs item #947808, was opened at 20040504 18:15 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&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: Closed >Resolution: Fixed Priority: 3 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: logcontract and ratfac Initial Comment: logcontract(2*log(x+1)) => log((x+1)^2) but logcontract(2*log(x+1)+1) => log(x^2+2*x+1)+1 That is, it performs a ratsimp only in the second case. logcontract is documented to perform the ratsimp, in fact. But in general, it doesn't seem like a good idea. Consider, e.g. logcontract(1000*log(x+1)+log(x)). This stackoverflows since it expands out the result, but it could just as well return log((x+1)^1000*x). There is a workaround, which is to bind ratfac to true, which leaves things in factored form. Perhaps logcontract should always have ratfac:true?  >Comment By: Dieter Kaiser (crategus) Date: 20100428 01:13 Message: As suggested in this bug report binding the option variable $ratfac in lgcplus to TRUE when calling sratsimp. This maintains expressions as fully factored as possible without calling factor. In general the results of logcontract are more simple. The examples of this bug report give: (%i2) logcontract(2*log(x+1)+1); (%o2) log((x+1)^2)+1 (%i3) logcontract(1000*log(x+1)+log(x)); (%o3) log(x*(x+1)^1000) Closing this bug report as fixed. Dieter Kaiser  Comment By: Robert Dodier (robert_dodier) Date: 20060729 08:27 Message: Logged In: YES user_id=501686 Same behavior in 5.9.3cvs.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=947808&group_id=4933 