[SciPy-User] Strange behavior of sph_jn
Aronne Merrelli
aronne.merrelli at gmail.com
Wed Apr 11 00:42:20 EDT 2012
On Tue, Apr 10, 2012 at 8:49 AM, ZIEGLER Yann (ETU EOT)
<yann.ziegler at etu.unistra.fr> wrote:
> Hi,
>
> It seems that the bug I have with sph_jn for some values is due to scipy
> itself. I finded someone having the same kind of trouble on
> projects.scipy.org/scipy (the website seems to have some technical problems
> at this time).
Hi,
I believe that the SciPy implementation is from this reference (it is
mentioned in the header file of the fortran file in SciPy):
"Computation of Special Functions", 1996, John Wiley & Sons, Inc.
Shanjie Zhang and Jianming Jin
The fortran subroutine called from the python level sph_jn is 'SPHJ';
I don't understand the implementation very well (it is very cryptic to
my untrained eye, and I don't have access to the book), but at the
core of it is an iterative algorithm that just breaks down for the
large arguments that you were testing. I think it is running into the
max floating point exponent.
So, I don't think there is any SciPy bug exactly, it is just this
particular numerical implementation of the spherical bessel function
doesn't work for those large arguments. Since you don't need the
derivatives, then your own simple function relating it to the bessel
function should work fine.
Aronne
More information about the SciPy-User
mailing list