Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Zeros of Bessel functions J and Y #460

Open
Labels
ideaProposition of an idea and opening an issue to discuss it topic: mathematicslinear algebra, sparse matrices, special functions, FFT, random numbers, statistics, ...
@ivan-pi

Description

Description

A short description can be found at WolframMathWorld - Bessel Function Zeros.

Books:

  1. Abramovitz & Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, Dover, 1972, Section 9.5, pp. 370-374.
  2. NIST Digital Library of Mathematical Functions, Section 10.21
  3. Shanjie Zhang & Jianming Jin, Computation of Special Functions, Wiley, 1996, Chapter 5.
  4. Ali Ümit Keskin, Ordinary Differential Equations for Engineers, Springer, 2019, Section 5.2, pg. 294.

Papers:

Prior Art

A thread at comp.lang.fortran suggests several good resources:

 SUBROUTINE JYZO(N,NT,RJ0,RJ1,RY0,RY1)
! ======================================================
! Purpose: Compute the zeros of Bessel functions Jn(x),
! Yn(x), and their derivatives
! Input : n --- Order of Bessel functions (0 to 100)
! NT --- Number of zeros (roots)
! Output: RJ0(L) --- L-th zero of Jn(x), L=1,2,...,NT
! RJ1(L) --- L-th zero of Jn'(x), L=1,2,...,NT
! RY0(L) --- L-th zero of Yn(x), L=1,2,...,NT
! RY1(L) --- L-th zero of Yn'(x), L=1,2,...,NT
! ...
SUBROUTINE DBZEJY(A,N,MODE,REL,X)
REAL(DP), INTENT(IN) :: A ! Order a 
INTEGER, INTENT(IN) :: N ! Number N of zeros wanted
INTEGER, INTENT(IN) :: MODE ! Defines the function for which the zeros are to be calculated
REAL(DP), INTENT(IN) :: REL ! Requested relative accuracy
REAL(DP), INTENT(OUT) :: X(N) ! On exit, contains the first N positive zeros of the function defined by MODE
subroutine bessel_zeros(a,n,mode,rel,x,ifail)
integer, intent(in) :: n, mode
integer, intent(inout) :: ifail
real(kind=nag_wp), intent(in) :: a, rel
real(kind=nag_wp), intent(out) :: x(n)

Finally, the results of a non-exhaustive search for Bessel zero resources:

Related issues: #305, #179, #102

Since Fortran already supports Bessel functions

  • bessel_j0(x)
  • bessel_j1(x)
  • bessel_jn(n,x) or bessel_jn(n1,n2,x)
  • bessel_y0(x)
  • bessel_y1(x)
  • bessel_yn(n,x) or bessel_yn(n1,n2,x)

it would be nice to come up with a similar interface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ideaProposition of an idea and opening an issue to discuss it topic: mathematicslinear algebra, sparse matrices, special functions, FFT, random numbers, statistics, ...

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /