Complex bessel functions
Submitted by an unknown user
Created attachment 323040 Unfinished patch
I thought it would be nice to add complex versions of the Bessel functions to Gnumeric.
Way too much time went into that sink hole.
There doesn't seem to be publicly available good methods for this.
I am attaching code based on an article by R.B. Paris from 2009.
Reading the article gives the impression that the method should work for all possible nu and z. In practice, it does not. The problem is not that the sums being computes aren't convergent. They are and with the rate of convergence as stated. The problem is that numerically things can go wrong before convergence sets in.
With z=100 and nu=141.4, for example, one gets terms that alternate sign and are of order result*1e60. That is pretty much hopeless for practical computations. With z=1000 and nu=1414, the problems are ten times bigger. Also, the number of terms needs is of order nu.
The problem -- which is common to several suggested computational methods related to the asymptotic expansions -- stem from taylor expansion of (1-t*t)^(nu-1/2). The coefficients in that expansion grow like crazy to begin with.
Patch 323040, "Unfinished patch":
Version: git master