The calculation of spherical bessel functions and coulomb. A fortran iv subroutine for the modified bessel functions of the third kind of real order and real argument, campbell, j. A fortran subroutine for the bessel function jnx of. J besselj nu,z,scale specifies whether to exponentially scale the bessel function of the first kind to avoid overflow or loss of accuracy. Compute the zeros of bessel functions jnx, ynx, and their derivatives using subroutine jyzo complex bessel function of the 1st kind of integer order module utilit used by programs below. Specfun a portable fortran package of special function routines and test drivers, acm transactions on mathematical software, volume 19, number 1, march 1993, pages 2232.
Coulomb wave, bessel, and spherical bessel functions for. This function is available under the name besy0 as a gnu extension. Returns modified bessel function of the first kind, with order zero. These functions are not listed in the fortran standard. When appropriately normalized, it is denoted by y px, and is called the bessel function of the second kind of order p.
The domain is divided into the intervals 0, 5 and 5, infinity. Computes a bessel function of the first kind, order 0. Theres a large number of analytic results for various integrals of the bessel functions see dlmf, sect. In 1824, he incorporated bessel functions in a study of planetary perturbations where the bessel functions appear as coe. Dbesj0, dbesj1, dbesjn, dbesy0, dbesy1, dbesyn intel. The bessel function was the result of bessels study of a problem of kepler for determining the motion of three bodies moving under mutual gravitation. Computes a bessel function of the second kind, order 1. To answer your question, bessel functions arise in many fields, for example microwaves, optics and signal processing filtering. The use of a dangling fortran pointer after a deallocate was not being trapped for 64 bits. Computer physics communications 21198010918 northholland publishing company a fortran subroutine for the bessel function j of order 01010 j.
Coleman department of mathematics,university of durham, england received 9 june 1980 program summary nature of the problem the subroutine realjn allows rapid calculation of the. Specfun, a fortran90 library which computes special functions, including bessel i, j, k and y functions, and the dawson, e1, ei, erf, gamma, psidigamma functions, by william cody and laura stoltz. Accurate computation of modified bessel functions using. Friedrich wilhelm bessel 1784 1846 studied disturbances in planetary motion, which led him in 1824 to make the first systematic analysis of solutions of this equation. Compute the doubleprecision values of bessel functions of the first and. Numerical hankel transform by the fortran program hankel. J besselj nu,z computes the bessel function of the first kind j. Fortran90 programs which demonstrate the use of intrinsic functions peculiar to the g95 fortran compiler, which include bessel j and. On temmes algorithm for the modified bessel functions of the third kind, campbell, j. This function is available under the name besj0 as a gnu extension. The doubleprecision version wclbes is available only on computers which support a complex16 fortran data type.
Modified bessel functions and their first derivatives with respect to z. If scale is 1, then the output of besselj is scaled by the factor exp abs imag z. Unfortunately, modified bessel functions are not available in the mentioned cuda set of bessel functions j0, j1, jn, y0, y1, yn. The gnu scientific library or gsl is a software library for numerical computations in applied mathematics and science. Thank you njuffa for providing your information as well as the prototype of the function. Specifies the order of the selected bessel function computation. A certain 64 bit equivalence within a module was not working.
This document contains information about the ifort 19. Youd be much better off, and almost certainly faster and more accurate, trying hard to recast your expression into something thats integrable and using an exact result. The return value is of type real and lies in the range. Contribute to certikfortran utils development by creating an account on github.
The result has a value equal to a processordependent approximation to the bessel function of the first kind and order 1 of x. This function is available under the name besyn as a gnu extension. The calculation of spherical bessel functions and coulomb functions 3 for values of xwhich are greater than xl the functions take on an oscillatory character, although the period slowly changes. This function is available under the name besj1 as a gnu extension. The gsl is part of the gnu project and is distributed under the gnu general public license.
44 52 170 489 616 1489 382 789 1133 1241 907 835 11 1593 450 1596 1595 556 413 439 1039 715 1251 1174 441 626 842 1025 471 584 1091 721 483 1593 1561 827 4 568 3 585 1067 77 1043 801 366