Ticket #503 (closed defect: fixed)
bug in special function iv for large argumen
| Reported by: | mbakker7 | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.8.0 |
| Component: | scipy.special | Version: | |
| Keywords: | Cc: |
Description
The modified Bessel function iv returns incorrect values for large argument.
iv(0,100) gives 5.72185663838e+041
while the equivalent is
jv(0,complex(0,100)) (1.07375170713e+042+0j )
This latter results is the correct answer, as verified in Abramowitz and Stegun, Table 9.11, Page 428. Using the jv is a work-around, but this should probably be fixed. The two results start to deviate for arguments over about 50, with jv giving the correct answer. The same goes wrong for iv of other integer order (I did not check non-integer orders).
On a related note, there are implementations for Bessel functions of integer order (jn, kn) but not for the modified Bessel function In. I guess this is because the function would be called 'in', but it would be nice to have a special function for integer order, and I am pretty sure they are around.
Thanks, Mark
