MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: MeijerG function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg75413] Re: MeijerG function
  • From: dimitris <dimmechan at yahoo.com>
  • Date: Sun, 29 Apr 2007 03:09:09 -0400 (EDT)
  • References: <f0sfk8$n8r$1@smc.vnet.net>

At last I succeeded!

Firstly, let

In[14]:=
f[o_, m_] := MeijerG[{{1}, {}}, {{-2^(-1), 1/2}, {0}}, o^2/(4*m^2)]

For m=1 here is a plot of this function

In[17]:=
Plot[{f[x, 1], -(1/x + 2*Pi)}, {x, 0, 10}, Axes -> False, Frame ->
True, PlotStyle -> {Red, Blue}]

Oberve that, (it seems...) the function behaves as -1/x as x->0+, and
tends to -2*Pi at infinity.
However, Mathematica fails to provide these limits.

In[18]:=
(Limit[f[x, 1], x -> #1] & ) /@ {0, Infinity}

Out[18]=
{Limit[MeijerG[{{1}, {}}, {{-(1/2), 1/2}, {0}}, x^2/4], x -> 0],
Limit[MeijerG[{{1}, {}}, {{-(1/2), 1/2}, {0}}, x^2/4],
   x -> Infinity]}

Now, set

In[26]:=
g[y_] = f[x, m] /. x -> y*m

Out[26]=
MeijerG[{{1}, {}}, {{-(1/2), 1/2}, {0}}, y^2/4]

Without loss of generality, assume y>0 (y is real) and take the
derivative of g[y].

In[27]:=
(Simplify[#1, y > 0] & )[D[g[y], y]]

Out[27]=
(4*BesselK[1, y])/y

Take now the derivative of the numerator of the last expression.

In[30]:=
Expand[4*FullSimplify[D[BesselK[1, y], y]]]

Out[30]=
-4*BesselK[0, y] - (4*BesselK[1, y])/y

With this procedure, someone is able to see that the derivative of
g[y] (ie the
requested (normalized) MeijerG function), which is equal to
(4*BesselK[1, y])/y,
can be written as -4*(BesselK[0, y]+D[BesselK[1, y], y].
Hence the function g[y] will be given by the indefinite integral of
the last expression.

In[35]:=
oo = FullSimplify[-4*(Integrate[BesselK[0, y], y] + BesselK[1, y])]

Out[35]=
-2*(Pi*y*BesselK[0, y]*StruveL[-1, y] + BesselK[1, y]*(2 +
Pi*y*StruveL[0, y]))

with

In[36]:=
Plot[oo, {y, 0, 10}]

In[37]:=
(Limit[oo, y -> #1] & ) /@ {0, Infinity}

Out[37]=
{-Infinity, -2*Pi}

and returning back to the original variable x=y/m, we finally get the
following simplified
expression for the MeijerG function

In[44]:=
mei = FullSimplify[oo /. y -> x/m]

Out[44]=
-((2*(Pi*x*BesselK[0, x/m]*StruveL[-1, x/m] + BesselK[1, x/m]*(2*m +
Pi*x*StruveL[0, x/m])))/m)

Dimitris

PS

A collegue of mine (Panagiotis Gourgiotis) came across this MeijerG
function during the course of the
inversion of one Fourier Transform.

He suceeded in writing this function as in Output[44]. He didn't give
me more details. He put
me as a chalenge if I could use a CAS in order to arrive at his
formula (he checked his formula
numerically).

However, having got "stick" I pushed him in order to give one or two
hints.
The step appeared at In[30], compltely belongs to him!









=CF/=C7 dimitris =DD=E3=F1=E1=F8=E5:
> I have the following fuction
>
> In[11]:=
> f = MeijerG[{{1}, {}}, {{-2^(-1), 1/2}, {0}}, o^2/(4*m^2)];
>
> where o, m are both reals.
>
> Can we write down f in terms of other special functions?
>
> Thanks
> Dimitris



  • Prev by Date: Re: Solving a differential equation numerically in Mathematica
  • Next by Date: Re: Solving a differential equation numerically in Mathematica
  • Previous by thread: MeijerG function
  • Next by thread: FourierCosTransform