This tarball gives :
1) the computer code for computation of Bessel
functions of complex arguments and integer order
"besselj_complex.cpp"
2) the test suite for the algorithm
"test_besselj_complex.cpp"
3) a MATLAB code for comparing bessel functions
generated by MATLAB and the algorithm "comp_bessel.m"
The Bessel functions algorithm is written with the help
of Blitz++, although this is not a requirement. The
user should read the commentaries inside the
"test_besselj_function.cpp" before trying the code.
The "makefile" should be modified as needed.
Logged In: YES
user_id=623409
I have converted the original Bessel function that was
submitted into a functor, where operator() applies the
function. This allows one to use simple syntax for applying
the function to a blitz Array of complex numbers. In
addition, I have templated the original code on the
floating-point number type, so that both single- and
double-precision complex numbers will be accepted. At the
suggestion of the code author, I modified the original
algorithm to ensure convergence when real(z) is negative. I
have checked that the results and the speed of the algorithm
did not change with these modifications. The
besselj_complex function spends approximately 2.95 seconds
computing in the test program test_besselj_complex, whereas
MATLAB computes the function in about 1.62 seconds on my
desktop machine.
templated functor version of besselj_complex
Logged In: YES
user_id=899144
I have changed the algorithm of the functor in order to
compute besselj_complex for the whole complex z plane. Next
changes will concern the stability of the algorithm for very
high values of n (the order), as well as its profiling for
the sake of performance (MATLAB is still 2-3 times faster).
The programs needed for the tests are bundled in the
tarball. Of course, one can also write its own test routine
or simply edit the z_points.ini file.
Logged In: YES
user_id=899144
I retry to submit a change, as the tarball has not been
uploaded...
besselj_complex.h3 functor for all complex plane + test functions
Migrated to github: https://github.com/blitzpp/blitz/issues/83
Help welcome with converting it into a pull request!