I am trying to get Mathematica to produce suitable asymptotic expansions for some modified Bessel functions at large argument (more specifically, the expansion in the DLMF's eq. (10.40.1)), and I'm struggling with some subexponential terms which I would like to eliminate in a systematic fashion.
More to the point, suppose I try something of the form
Series[BesselI[n, z], {z, Infinity, 1}]
which is perfectly consistent with the documentation's description of the use of Series
for asymptotic expansions, and which normally works perfectly well, but which in this occasion returns
$$ e^{-z} \left(e^{2 z} \left(\frac{\sqrt{\frac{1}{z}}}{\sqrt{2 \pi }}+O\left(\left(\frac{1}{z}\right)^{3/2}\right)\right) +\left(\frac{i e^{i n \pi } \sqrt{\frac{1}{z}}}{\sqrt{2 \pi }}+O\left(\left(\frac{1}{z}\right)^{3/2}\right)\right)\right) \tag{1}.$$
This is in contrast with the asymptotic series in the DLMF,
$$\mathop{I_{\nu}}\nolimits\!\left(z\right)\sim\frac{e^{z}}{(2\pi z)^{\frac{1}% {2}}}\sum_{k=0}^{\infty}(-1)^{k}\frac{a_{k}(\nu)}{z^{k}}, \qquad\qquad |\mathrm{arg}(z)|<\pi/2 -\delta<\pi/2. $$
which contains no exponentially-decreasing term. I understand where this comes from, since, for example,
BesselI[1/2, z]
evaluates to $$\frac{\sqrt{\frac{2}{\pi }} \sinh (z)}{\sqrt{z}},$$ which obviously has both exponential and subexponential terms, with the terms in $e^{-z}$ playing a role for negative $z$, which Mathematica doesn't quite (yet) have a way to know isn't the case. (I'm also baffled as to why it's factorized it in the bizarre grouping of $(1)$, but that's relatively unimportant.)
I would like to get rid of these exponentially-decaying terms, in as systematic and general a way as possible. I have tried providing assumptions of various forms (e.g. $\mathrm{Re}(z)>1$, or $\arg(z)<\pi/4$, or $z>1$, and variations on that theme) with little success. I am currently using a scheme using Delete
, but it is (i) a horrible hack, and (ii) liable to fail if Series
returns its output in a different order than what the Delete
construct is expecting.
I could also implement the DLMF series directly, but I was hoping that Mathematica is good enough at symbolic calculus that such a step shouldn't be necessary; and in any case I feel the problem is interesting and general enough to consider without recourse to that.
Is there an in-built, or at least a cleaner, way to get this expansion?
ReplaceAll
with the ruleExp[a_*z] /; a<0 -> 0
? $\endgroup$ComplexExpand[Series[BesselI[n, 2 z], {z, \[Infinity], 2}]] /. Exp[a_ z] /; a < 0 :> 0
? It might be too "aggressive" in simply treating z as real. $\endgroup$