sfstoolbox / sfs-matlab

SFS Toolbox for Matlab/Octave
https://sfs-matlab.readthedocs.io
MIT License
98 stars 39 forks source link

Calculating zeros of spherical Hankel function #71

Closed hagenw closed 7 years ago

hagenw commented 8 years ago

This is a follow up on #57.

We calculate the zeros of the spherical Hankel function with sphbesselh_zeros(), which works only up to an order of 85 due to numerical problems.

For higher orders we have to find a solution, which will be discussed here.

hagenw commented 8 years ago

I would like to start very simple with this discussion.

The problem we would like to solve is to find the zeros of the spherical Hankel function: h_n (z) = 0 (1) where n is the order. The spherical Hankel function of first kind is defined as h^1_n (z) = j_n (z) + i y_n (z) (2), where j_n (z) is the spherical Bessel function of first kind and y_n (z) is the spherical Bessel function of second kind. The spherical Hankel function of second kind is defined as h^2_n (z) = j_n (z) - i y_n (z) (3).

Further the spherical Hankel functions are given as h^1_n (z) = \sqrt{\frac{2}{\pi z}} H^1_{n + \frac{1}{2}} (z) (4), where H^1_n (z) is the Hankel function of nth order and first kind, and h^2_n (z) = \sqrt{\frac{2}{\pi z}} H^2_{n + \frac{1}{2}} (z) (5), where H^2_n (z) is the Hankel function of nth order and second kind.

From those definitions the following questions arise:

  1. Are the zeros from h^1_n (z) and h^2_n (z) identical? If not, for which zeros are we looking?
  2. Is the definition in eq. (2) and (3) identical with the stating that h^*_n (z) has only zeros if j_n (z) and y_n (z) are both zero at z? If yes, then this would also answer question 1.
  3. Eq. (4) and (5) seem to be a little bit unfortunate as they gave us a connection to H^*_{n + \frac{1}{2}} (z) instead of H^*_n (z) for which some zeros are available in the literature.¹ If we have zeros for H^*_n (z) is there a way to directly get the ones for h^*_n (z)?

¹ For zeros of H^*_n (z) see for example Döring (1966).

fietew commented 8 years ago
  1. As the numerator h^1_n(z) and h^2_n(z) are polynomials p^1_n(z) and p^2_n(z) with real coefficients, all zeros are real or conjugate complex pairs (https://en.wikipedia.org/wiki/Complex_conjugate_root_theorem). As h^1_n(z) is the conjugate complex of h^2_n(z), it follows that p^1_n(z) = p^2_n(z*). Hence the zeros are identical.
  2. No
  3. I found some articles on DLMF
fietew commented 8 years ago

Sorry, the first article is on the computation of the zeros w.r.t the order, not the argument.

narahahn commented 8 years ago

In 2, both j_n(z) and y_n(z) are complex-valued functions for complex z. If there is a common zero, it will be a zero of h^*_n(z). But this does not mean that a zero of h^*_n(z) is necessary a (complex) zero of j_n(z) and y_n(z). Is this correct?

hagenw commented 7 years ago

Solved with #152.