What is the analytic form of MeijerG in Mathematica?

772 Views Asked by At

I know that the official standard formula can be found here, but I am having a very hard time simplifying this special case:

MeijerG[{{}, {1, 1}}, {{0, 0, A}, {}}, x]

where $A$ is a positive integer and $x > 0$. What is the analytic form of this function?

3

There are 3 best solutions below

5
On BEST ANSWER

Let $$ f(a,x) = G_{2,3}^{3,0}\left(x\left| \begin{array}{c} 1,1 \\ 0,0,a \\ \end{array} \right.\right) $$ Then it is not hard to determine that, for positive $x$, $$ f(1,x) = - \mathrm{Ei}(-x) $$ Additionally, it follows from Mellin-Barnes representation of the Meijer G-function that $$ f(a+1, x) = a \cdot f(a,x) - x \partial_x f(a,x) = -x^{a+1} \partial_x \left( x^{-a} f(a, x) \right) $$ This means that $$ x^{-n} f(n, x) = (-1)^n \frac{\mathrm{d}^{n-1}}{\mathrm{d} x^{n-1}} \left( x^{-1} \mathrm{Ei}(-x) \right) $$ or

$$ f(n, x) = (-x)^n \frac{\mathrm{d}^{n-1}}{\mathrm{d} x^{n-1}} \left( x^{-1} \mathrm{Ei}(-x) \right) $$

Verification in Mathematica:

In[38]:= {MeijerG[{{}, {1, 1}}, {{0, 0, 7}, {}}, 
   x], (-x)^7 D[ExpIntegralEi[-x]/x, {x, 6}]} /. x -> 1`16

Out[38]= {1348.4143043955619, 1348.41430439556}
0
On

Using Maple, it appears that the function is $\frac{x^A}{A^2} {}_2F_2(A,A; A+1,A+1;-x)$ for integers $A \ge 2$.

0
On

We've seen Mathematica and Maple, so for comparison, here's SymPy. Running the IPython console for SymPy version 0.7.1 gives the same answer as FunctionExpand[MeijerG[{{}, {1, 1}}, {{0, 0, A}, {}}, x]] in Mathematica or (Wolfram|Alpha)

In [1]: from sympy.abc import a

In [2]: hyperexpand(meijerg([],[1,1],[0,0,a],[], x), allow_hyper=True)
Out[2]: 
 a      2  ┌─  ⎛    a, a     │   ⎞                                     
x ⋅Γ(-a) ⋅ ├─  ⎜             │ -x⎟                                     
          2╵ 2 ⎝a + 1, a + 1 │   ⎠                                     
────────────────────────────────── - log(x)⋅Γ(a) + Γ(a)⋅polygamma(0, a)
                     2                                                 
            Γ(-a + 1)                                                  

In [3]: expand(simplify(_))
Out[3]: 
                                    a  ┌─  ⎛    a, a     │   ⎞
                                   x ⋅ ├─  ⎜             │ -x⎟
  log(x)⋅a!   a!⋅polygamma(0, a)      2╵ 2 ⎝a + 1, a + 1 │   ⎠
- ───────── + ────────────────── + ───────────────────────────
      a               a                          2            
                                                a            

Props to Tom Bachmann for implementing this code. If you want to understand how these reductions are done, it is worth reading his code, his blog and and the references to Kelly B. Roach's original algorithm.