Further Improvements of bessel_j



I would like to suggest two further improvements of the bessel_j function. 

I have added a diff between the file bessel.lisp (1.54) and the changes in
bessel-changed.lisp I have done today. The testsuite runs without problems.

1. 

For negative integer order we don't need the Hankel functions. I haven't seen
this this special case the first time I worked on this routine. We get more
accurate results using the formula J[-n](z)=(-1)^n*J[n](z). 
I have added this special case in the numerical calculation. Now the numerical
results are identically for a even negative or positive integer and differ only
by sign for an odd negative or positive integer.

2.

Now we calculate the Bessel functions for negative argument and order and we
have to look more carefully to the different special cases for zero argument. As
a reference I used the specialized values from functions.wolfram.com. I added
the special case for a complex order too. Is this useful? Is it correct to
return the value '$infinity in the case of a complex infinity? Or should we
generate a domain-error?

Further sligtly improvements can be done for the other Bessel functions too. I'm
working on this task.

A next step will be the implementation of Bessel functions with complex order
and the improvement of the scaled Bessel functions.

D. Kaiser

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff_bessel.txt
Url: http://www.math.utexas.edu/pipermail/maxima/attachments/20080419/4c6da8ae/attachment.txt