Misunderstanding with MeijerG function
The standard way to express MeijerG
in terms of more specific special functions is with FunctionExpand
. For example
MeijerG[{{1}, {}}, {{1/2, 1, 3/2}, {}}, z]
MeijerG[{{1}, {}}, {{1/2, 1, 3/2}, {}}, z]
FunctionExpand[%]
-2 π z - π^2 z BesselY[1, 2 Sqrt[z]] + π^2 z StruveH[1, 2 Sqrt[z]]
However your expression does not simplify with this approach
FunctionExpand[1/2 π MeijerG[{{}, {}}, {{0, 1/2, 1/2}, {0}}, r^4/256], r > 0]
1/2 π MeijerG[{{}, {}}, {{0, 1/2, 1/2}, {0}}, r^4/256]
The best work around I could find is to express the 3-arg form of MeijerG
into a 4-arg form, which will be correct on the positive real axis.
mei = 1/2 π MeijerG[{{}, {}}, {{0, 1/2, 1/2}, {0}}, r^4/256];
FunctionExpand[mei /. {
MeijerG[as_, bs_, c_. r^n_?Positive] :> MeijerG[as, bs, c^(1/n) r, 1/n]
}]
-2 π KelvinKei[0, r]
Another (less successful) workaround is to solve the ODE your MeijerG
satisfies.
DifferentialRootReduce[1/2 π MeijerG[{{}, {}}, {{0, 1/2, 1/2}, {0}}, r^4/256], r]
Now FunctionExpand
knows how to handle DifferentialRoot
objects, but it seems to spin forever on this input presumably because the solution from DSolve
on this ODE has very complicated coefficients.
If we approximate the initial conditions, we can see your expression is really $-2\pi \text{kei}_0(r)$.
DSolveValue[{
r^3 y[r] + y'[r] - r y''[r] + 2 r^2 y'''[r] + r^3 y''''[r] == 0,
y[1] == 3.1101430273071208511784026627334110346453670869257748826627`30.,
y'[1] == -2.2140054621659709246306930546689437640742733642857570978703`30.,
y''[1] == 0.412577224007051831900819509950661362815906739014512338784`30.,
y'''[1] == 1.7377422767006054496810801840889187820973078345984715247552`30.
}, y[r], r] // Chop
-6.28318530717958647692528677 KelvinKei[0, r]
Addressing your second question, my guess is this particular MeijerG
isn't evaluating at the origin because it's a (rather complicated looking) branch point:
In addition to Chip's nice answer, another way would be to do a "round trip" using the Mellin transform and its inverse:
InverseMellinTransform[
MellinTransform[π/2 MeijerG[{{}, {}}, {{0, 1/2, 1/2}, {0}}, r^4/256], r, t], t, r]
-2 π KelvinKei[0, r]
Bonus: the original integral can in fact be expressed as an appropriate Mellin convolution:
2 π MellinConvolve[BesselJ[0, k], k^2/(1 + k^4), k, r]
Unfortunately, this also returns the normal $G$ function (as with Integrate[]
) instead of the more useful (at least in this case) extended $G$ function.