My function is

$$g(t)=\frac{2}{\sqrt\pi t}-\frac{\pi t}{2}\,G_{0,3}^{3,0}\left(\frac{\pi^2 t^2}{4}\middle|-1,-\frac12,0\right)$$ where $G^{a,b}_{c,d}$ is the Meijer $G$ function. I want to know if $g(t) \to \frac{1}{t}$ as $t \to \infty$, i.e. I want to find

$$\lim_{t\to \infty} \frac{g(t)}{\frac1t}.$$

On Mathematica:

g[t_] := 2/(Sqrt[Pi] t) - 1/2 Pi t MeijerG[{{}, {}}, {{-1, -(1/2), 0}, {}}, (Pi^2 t^2)/
Limit[g[t]/(1/t), t -> Infinity]

gives $\dfrac{2}{\sqrt{\pi}}$ so I know that indeed $g(t)$ decays like $\frac1t$ as $t \to \infty$.

However, plotting $g(t)$ tells a different story:


and so does just evaluating $g(t)$ for larger and larger values of $t$.

How can I tell whether $g(t)$ decays as $\frac1t$ or diverges as $t \to \infty$? And why is Mathematica giving contradicting results?


MeijerG often cannot be evaluated accurately except with high WorkingPrecision. Here is the plot with WorkingPrecision -> 60.

Plot[g[t], {t, 1, 100}, WorkingPrecision -> 60, PlotRange -> All, 
    ImageSize -> Large, AxesLabel -> {t, g}, LabelStyle -> Directive[12, Bold, Black]]

enter image description here

The curve is nearly indistinguishable from 2/(t Sqrt[Pi]).


As a partial answer:

Note that you can simplify your Meijer-$G$ expression a fair bit to make it amenable to asymptotic analysis. Using the absorption and flip identities, as well as switching to the generalized $G$-function, we have the equivalent

$$g(t)=\frac{2}{\sqrt\pi t}-G_{3,0}^{0,3}\left(\frac2{\pi t},\frac12\middle|{{\frac12,1,\frac32}\atop{\text{—}}}\right)$$

or in Mathematica form:

g[t_] := 2/(Sqrt[π] t) - MeijerG[{{1/2, 1, 3/2}, {}}, {{}, {}}, 2/(π t), 1/2]

This should now be more amenable to asymptotic analysis; your limit of interest is now equivalent to

$$\frac{2}{\sqrt\pi}-\frac2{\pi}\lim_{t\to\infty} G_{3,0}^{0,3}\left(\frac2{\pi t},\frac12\middle|{{0,\frac12,1}\atop{\text{—}}}\right)$$

Plotting still needs the assistance of a high WorkingPrecision setting, however:

Plot[g[t], {t, 1, 100}, WorkingPrecision -> 45, PlotRange -> All]


Unfortunately, I quickly run into trouble when I directly use Series[] or Limit[]; this seems to be an inherent problem of the underlying Meijer-$G$ implementation when the arguments are too large or too small for a given set of parameters. Altho the terms in Series[MeijerG[{{0, 1/2, 1}, {}}, {{}, {}}, 2/(π t), 1/2], {t, ∞, 2}] give rise to Indeterminate terms upon direct evaluation, some experimentation with ridiculously high precision evaluations seems to indicate that the coefficients do drop to zero remarkably quickly, e.g.

Block[{$MaxExtraPrecision = 100}, 
      N[MeijerG[{{0, 1/2, 1}, {}}, {{}, {}}, 1*^-4, 1/2], 1*^4]] // N[#, 20] &

(Note the exponent.)

Some more analytical work will be needed for a rigorous proof, which I might append to this answer if I find the time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.