[Maxima] extending limit
raymond.toy at stericsson.com
Tue Sep 8 07:04:37 CDT 2009
Barton Willis wrote:
> I was playing with the idea of appending a simplim%function for the
> functions. To start, I wrote some 100% fake code:
> (setf (get '$hypergeometric 'simplim%function) 'limit-hg)
> (setf (get '%hypergeometric 'simplim%function) 'limit-hg)
> (defun limit-hg (exp var val)
> (displa `((mequal) exp ,exp))
> (displa `((mequal) var ,var))
> (displa `((mequal) val ,val))
> Limit assumes continuity?
> (%i14) limit(hypergeometric([a],[b],x),x,0);
> (%o14) 1
> Limit doesn't even try limit-hg?
> (%i16) limit(hypergeometric([a],[b],x),a,0);
> (%o16) limit(hypergeometric([a],[b],x),a,0)
> Towards infinity, limit tries limit-hg:
> (%i17) limit(hypergeometric(,,x),x,inf);
> (%o17) 42
> Is there a way to get more cases funneled through limit-hg?
Yes, limit assumes continuity, so you have to tell limit about
discontinuities. There is a way to get all cases funnelled through
limit-hg, but I can't remember how. Perhaps looking at how the elliptic
functions and integrals are done will give a hint.
It's been a while since I looked at (the very complicated) limit
routines, so it will take some time to figure it out.
More information about the Maxima