Find bound on order of Bessel function

85 Views Asked by At

I need to evaluate and store the first significant ($n$) orders for a given abscissa for the Bessel functions of the first kind. That is, $J_v(x), \ v \in [0, n]$. Here significant means that I want to find a small-ish $n$ such that $J_v(x) < \epsilon, \forall \ v \ge n$.

Empirically the evaluations seem to be approximately sinusoidal and increasing in amplitude until around $v \ge x$ where it starts to clamp down towards $0$. So $n$ is at least as large as $x$, but not much larger.

For instance here's the Matlab graph for the first 100 orders evaluated at 50. That is, $J_v(50), \ 0 \le v \le 100$.

plot(0:100, besslej(0:100, 50))

plot(0:100, besslej(0:100, 50))

In the graph, $n \approx 60$. Is there any guidance for finding my $n$ in the general case?

Empirically it seems to be about $n \approx |x|+3.4 + \Large{\frac{-\log_{10}\epsilon}{1.4}}|x|^\frac{1}{3}$, at least for $x > 1$