[Maxima] Two problems with laplace
drdieterkaiser at web.de
Wed Mar 25 16:40:14 CDT 2009
Am Mittwoch, den 25.03.2009, 16:56 -0400 schrieb Raymond Toy:
> Dieter Kaiser wrote:
> > -----Ursprüngliche Nachricht-----
> > Von: robert.dodier at gmail.com [mailto:robert.dodier at gmail.com]
> > Gesendet: Montag, 23. März 2009 23:35
> >> I wonder if UNWIND-PROTECT is strong enough.
> >> I ran into a problem recently in which UNWIND-PROTECT
> >> failed to catch something, and so I had to put
> >> IGNORE-ERRORS instead.
> > You are right, UNWIND-PROTECT is not strong enough. I get further the problem
> > with an increasing number of contexts.
> Doesn't that sound like a bug in unwind-protect in the lisp
> implementation? You shouldn't be able to exit an unwind-protect without
> running the cleanup forms, I think.
Yes, this might be the case. I have tested UNWIND-PROTECT only with GCL
on Windows up to now. I have got problems with CLISP 2.44 on Windows,
but that's another point. I will test UNWIND-PROTECT later with CLISP on
When I implement a function simplim%gamma_incomplete to handle specific
values for the gamma_incomplete function the problem for integrals which
involve gamma_incomplete vanish.
This is the call in simplimit:
((eq (caar exp) '%gamma_incomplete)
(simplim%gamma_incomplete (limit (second exp) var val 'think)
(limit (third exp) var val 'think)))
This is a simplim%function for gamma_incomplete. The definition is not
complete, but seems to work for the integrals which I have tested.
(defun simplim%gamma_incomplete (a z)
(cond ((or (zerop1 z)
(eq z '$zeroa)
(eq z '$zerob))
(let ((sgn ($sign ($realpart a))))
(cond ((member sgn '($neg $nz $zero)) '$infinity)
((eq sgn '($pos)) ($gamma a))
(t ($gamma_incomplete) a z))))
((eq z '$inf) 0)
(t ($gamma_incomplete a z))))
More information about the Maxima