From: SourceForge.net <no...@so...> - 2008-08-06 11:07:12
|
Bugs item #1162505, was opened at 2005-03-13 18:13 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1162505&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 Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Robert Dodier (robert_dodier) Assigned to: Nobody/Anonymous (nobody) Summary: specint returns Lisp symbol other-defint-to-follow-negtest Initial Comment: specint returns a Lisp symbol, other-defint-to-follow-negtest, when it fails. Example: specint (1/(1+exp(-u)),u); yields other-defint-to-follow-negtest specint (1/(1+exp(-u))*exp(-s*u),u); yields other-defint-to-follow-negtest The return value should be a noun in these cases, although it's not clear what the noun should be -- integrate or specint ?? My suggestion is that the return value should be an integrate noun (with the limits of integration specified as zero and infinity). ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2008-08-06 13:07 Message: Logged In: YES user_id=2039760 Originator: NO The code is changed as suggested. Closing the bug report. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2008-07-18 22:49 Message: Logged In: YES user_id=2039760 Originator: NO The changed code of $specint (Rev. 1.40) gives for the second integral of this bug report a noun form, but the symbol 'other-definit-to-follow-negtest for the first integral. The reason is, that the routine NEGTEST don't signal the return of a noun form. With the introduced global flag *hyp-return-noun-form-flag* this can be easy corrected: =================================================================== RCS file: /cvsroot/maxima/maxima/src/hypgeo.lisp,v retrieving revision 1.40 diff -u -r1.40 hypgeo.lisp --- hypgeo.lisp 4 Jul 2008 14:12:52 -0000 1.40 +++ hypgeo.lisp 18 Jul 2008 20:34:55 -0000 @@ -1108,7 +1108,8 @@ ;; We forget the rule after finishing the calculation. (mfuncall '$forget `((mgreaterp) psey 0)))))) - (return 'other-defint-to-follow-negtest))) + (return + (setq *hyp-return-noun-form-flag* 'other-defint-to-follow-negtest)))) =================================================================== The results after the change are: (%i6) specint(1/(1+exp(-u)),u); (%o6) specint(%e^u/(%e^u+1),u) (%i7) specint(1/(1+exp(-u))*exp(-u),u); (%o7) specint(1/(%e^u+1),u) There a lot of other places this mechanism can be used to create a nice noun form. Should I commit this change? After this change the bug report could be closed. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2005-03-14 22:55 Message: Logged In: YES user_id=28849 Since integrate doesn't know about Laplace transforms, I would prefer specint be used since that's what I typed. Having said that, I think specint was never really finished and needs more work, and I rather like the symbols because they tell me at least where to look to find out why it failed. specint is complicated enough that this little bit of info is rather nice. Eventually, though, a noun form should be returned. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1162505&group_id=4933 |