MeijerG[{{a1,…,an},{an+1,…,ap}},{{b1,…,bm},{bm+1,…,bq}},z]
is the Meijer G-function
.
MeijerG
MeijerG[{{a1,…,an},{an+1,…,ap}},{{b1,…,bm},{bm+1,…,bq}},z]
is the Meijer G-function
.
Examples
open all close allBasic Examples (6)
N[MeijerG[{{}, {2}}, {{(1/2), (3/2)}, {}}, 3], 50]Many special functions are special cases of MeijerG:
MeijerG[{{}, {}}, {{v}, {-v}}, z]MeijerG[{{(1/2), (1/2), (1/2)}, {}}, {{0}, {-(3/2), -(3/2)}}, -x]Plot over a subset of the reals:
Plot[MeijerG[{{1 / 2}, {}}, {{1 / 3}, {}}, x], {x, 0, 3}]Plot over a subset of the complexes:
ComplexPlot3D[MeijerG[{{1 / 2}, {}}, {{1 / 3}, {}}, z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, 0, 2}]Series expansion at Infinity:
Series[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, ∞, 5}]Scope (35)
Numerical Evaluation (7)
MeijerG[{{1}, {2}}, {{2.3, 1.5}, {4}}, 3]MeijerG[{{31, 4}, {2, 3}}, {{5, 1.5}, {.1}}, 3]N[MeijerG[{{1}, {2}}, {{2 / 3, 1 / 5}, {4}}, 3], 50]//ChopThe precision of the output tracks the precision of the input:
MeijerG[{{1}, {2}}, {{2, 1.333333333333333333333333333}, {4}}, 3]//ChopMeijerG[{{I + 3}, {2.}}, {{2 / 3, 1 / 5}, {4}}, 3]Evaluate efficiently at high precision:
MeijerG[{{1}, {3}}, {{2 / 3, 1 / 5}, {4}}, 3`100]//Timing//ChopMeijerG[{{6}, {2}}, {{2 / 3, 1 / 5}, {4}}, 3`1000];//TimingMeijerG threads elementwise over lists in its third argument:
MeijerG[{{1 / 3}, {}}, {{1 / 2}, {1}}, {0.1, 0.3, 0.5}, 1 / 2]MeijerG threads elementwise over sparse and structured arrays in its third argument:
MeijerG[{{1 / 3}, {}}, {{1 / 2}, {1}}, SparseArray[Automatic, {2, 2}, 0, {1, {{0, 1, 2}, {{1}, {2}}}, {1, 1}}], 1 / 2]MeijerG[{{1 / 3}, {}}, {{1 / 2}, {1}}, SymmetrizedArray[StructuredArray`StructuredData[{2, 2},
{{{1, 1} -> 1, {1, 2} -> 1/2, {2, 2} -> 1/3}, Symmetric[{1, 2}]}]], 1 / 2]Compute average case statistical intervals using Around:
MeijerG[{{}, {}}, {{5}, {4}}, Around[.2, 0.01]]Compute the elementwise values of an array:
MeijerG[{{}, {}}, {{5}, {4}}, {{1 / 2, 2}, {0, 1 / 2}}]Or compute the matrix MeijerG function using MatrixFunction:
MatrixFunction[MeijerG[{{}, {}}, {{5}, {4}}, #]&, {{1 / 2, 2}, {0, 1 / 2}}]//FullSimplifySpecific Values (5)
MeijerG[{{}, {}}, {{5}, {4}}, 5]MeijerG[{{1 / 2, 1 / 2}, {}}, {{1}, {1}}, 2]MeijerG[{{1 / 2}, {}}, {{0}, {0}}, x]MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x]MeijerG[{{1 / 2}, {1 / 2}}, {{}, {}}, 0]MeijerG[{{1 / 2}, {}}, {{1}, {}}, 0]MeijerG[{{1 / 2}, {}}, {{0}, {0}}, 0]For simple parameters, MeijerG evaluates to simpler functions:
MeijerG[{{}, {}}, {{b}, {}}, -x]MeijerG[{{}, {}}, {{b}, {b - 1 / 2}}, x]//FullSimplifyFind a positive minimum of MeijerG[{{},{}},{{1/2},{3/2}},x]:
xmin = x /. FindRoot[D[MeijerG[{{}, {}}, {{1 / 2}, {3 / 2}}, x], x] == 0, {x, 2}]Plot[MeijerG[{{}, {}}, {{1 / 2}, {3 / 2}}, x], {x, 0, 10}, Epilog -> Style[Point[{xmin, MeijerG[{{}, {}}, {{1 / 2}, {3 / 2}}, xmin]}], PointSize[Large], Red]]Visualization (2)
Plot the MeijerG function for various parameters:
Plot[{MeijerG[{{(1/2), (1/2)}, {}}, {{1 / 2}, {-1 / 2}}, x], MeijerG[{{(1/2), (1/2)}, {}}, {{1 / 3}, {-1 / 3}}, x], MeijerG[{{(1/2), (1/2)}, {}}, {{1 / 4}, {-1 / 4}}, x]}, {x, 0, 10}]Plot the real part of MeijerG[{{1},{}},{{1/2,1,3/2},{}},z ]:
ComplexContourPlot[Re[MeijerG[{{1}, {}}, {{1 / 2, 1, 3 / 2}, {}}, z]], {z, -4 - 4 I, 4 + 4 I}, Contours -> 20]Plot the imaginary part of MeijerG[{{1},{}},{{1/2,1,3/2},{}},z ]:
ComplexContourPlot[Im[MeijerG[{{1}, {}}, {{1 / 2, 1, 3 / 2}, {}}, z]], {z, -4 - 4 I, 4 + 4 I}, Contours -> 20]Function Properties (9)
FunctionDomain[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]FunctionDomain[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, z], z, Complexes]MeijerG threads elementwise over lists in the last argument:
MeijerG[{{I / 3}, {}}, {{1 / 2, 1, 3 / 2}, {}}, {-0.5, 0.5}]FunctionAnalytic[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]Has both singularities and discontinuities:
FunctionSingularities[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]FunctionDiscontinuities[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]
is nonincreasing over its real domain:
FunctionMonotonicity[{MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x > -1}, x]FunctionInjective[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]Plot[{MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], -7}, {x, -2, 3}]FunctionSurjective[MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x]Plot[{MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], 5}, {x, -5, 5}]
is negative over its real domain:
FunctionSign[{MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x > -1}, x, StrictInequalities -> True]
is convex over its real domain:
FunctionConvexity[{MeijerG[{{1 / 2, 3 / 2}, {}}, {{0}, {0}}, x], x > -1}, x]TraditionalForm formatting:
MeijerG[{{1}, {}}, {{1 / 2, 1, 3 / 2}, {}}, z]//TraditionalFormMeijerG[{{1}, {}}, {{1 / 2, 1, 3 / 2}, {}}, z, (1/2)]//TraditionalFormDifferentiation (3)
First derivative with respect to z:
D[MeijerG[{{Subscript[a, 1], Subscript[a, 2]}, {Subscript[a, 3], Subscript[a, 4]}}, {{v}, {-v}}, z], z]Higher derivatives with respect to z:
Table[D[MeijerG[{{}, {}}, {{b}, {c}}, z], {z, k}], {k, 1, 3}]//FullSimplifyPlot the higher derivatives with respect to z when b=3 and c=2:
Plot[Evaluate[% /. { b -> 3, c -> 2}], {z, -10, 10}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]Formula for the ![]()
derivative with respect to z:
D[MeijerG[{{}, {}}, {{v}, {-v}}, z], {z, k}]// FullSimplifyIntegration (3)
Compute the indefinite integral using Integrate:
Integrate[MeijerG[{{Subscript[a, 1], Subscript[a, 2]}, {Subscript[a, 3], Subscript[a, 4]}}, {{b}, {-b}}, z], z]FullSimplify[D[%, z]]Integrate[MeijerG[{{1}, {2}}, {{1 / 2}, {-1 / 2}}, z], {z, 0, 5}]Integrate[z MeijerG[{{1 / 2}, {2}}, {{1 / 2}, {-3}}, z], z]//FullSimplifyIntegrate[ z MeijerG[{{1 / 2}, {2}}, {{1 / 2}, {-3}}, z^2], {z, 0, 3}]//FullSimplifySeries Expansions (6)
Find the Taylor expansion using Series:
Series[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, 0, 2}]//Normal//FullSimplifyPlots of the first three approximations around
:
terms = Normal@Table[Series[MeijerG[{{2}, {}}, {{1 / 3}, {}}, x], {x, 0, m}], {m, 1, 5, 2}];
Plot[{MeijerG[{{2}, {}}, {{1 / 3}, {}}, x], terms}, {x, 0, 10}]General term in the series expansion using SeriesCoefficient:
SeriesCoefficient[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, 1, m}]Find the series expansion at Infinity:
Series[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, Infinity, 1}]Series expansion in a logarithmic case:
Series[MeijerG[{{}, {}}, {{a, a + 1}, {}}, z], {z, 0, 1}]Taylor expansion at a generic point:
Series[MeijerG[{{a}, {}}, {{d}, {}}, x], {x, x0, 2}]// Normal//FullSimplifyGeneralizations & Extensions (1)
Evaluate a generalized Meijer G function:
MeijerG[{{}, {}}, {{a}, {b}}, z, (1/3)]The analogous ordinary Meijer G function has a different branch cut structure:
MeijerG[{{}, {}}, {{a}, {b}}, z^3]% / %%PowerExpand[%, Assumptions -> {}]Applications (5)
Define the product of independent random variables drawn from BetaDistribution:
avec = {2, 3 / 2, 5 / 2};bvec = {3 / 2, 1, 2};
prod𝒟 = TransformedDistribution[x1 x2 x3, MapThread[#1BetaDistribution[#2, #3]&, {{x1, x2, x3}, avec, bvec}]]The PDF of the distribution is defined in terms of MeijerG:
pdf = Refine[PDF[prod𝒟, x], 0 < x < 1]Use FunctionExpand to express it in terms of simpler functions:
pdf2 = Simplify[FunctionExpand[pdf], 0 < x < 1]Compare the plot of the PDF to the Histogram of a random sample:
sample = RandomVariate[prod𝒟, 10 ^ 6];Show[Histogram[sample, {0.005}, PDF], Plot[pdf2, {x, 0, 1}]]Solve a differential equation:
DSolve[f''[r] + ((1/r) - 2r)f'[r] + (1 - (4/r^2))f[r] == 0, f[r], r]MeijerG gives a logarithmic part:
Series[f[r] /. %, {r, 0, 2}, Assumptions -> r > 0]Integrate can return answers involving MeijerG:
Integrate[KelvinKer[1 / 2, x], x]Integrate[x Exp[-(x^2 + (1/x))], {x, 0, Infinity}]Solve a third-order singular ODE in terms of the HypergeometricPFQ and MeijerG functions:
DSolve[x y'''[x] + x y'[x] - y[x] == 0, y, x]Verify that the components of the general solution for an ODE are linearly independent:
Wronskian[Coefficient[y[x] /. %[[1]], Table[C[i], {i, 3}]], x]A formula for solutions to the trinomial equation
:
x[m_, n_Integer, t_] /; m < n := Exp[-2 π I(m - 1/n - 1)] - (t/(2 π)^n - 3 / 2)Sqrt[(n/(n - 1)^3)]MeijerG[{Append[(Range[n - 1]/n), (n - 2/n - 1)], {}}, {(Range[0, n - 2]/n - 1), {-(1/n - 1)}}, -(t n^(n/n - 1)/n - 1)Exp[2 π I(m - 1/n - 1)], (1/n - 1)]x[1, 5, 1]//TraditionalFormN[%, 20]x ^ 5 - x + 1 == 0 /. x -> %Properties & Relations (1)
Use FunctionExpand to expand MeijerG into simpler functions:
MeijerG[{{(1/2), 1}, {1}}, {{(1/2)}, {}}, z]FunctionExpand[%]Possible Issues (3)
For some choices of parameters, MeijerG is not defined:
MeijerG[{{}, {}}, {{}, {0}}, z]
is a singular point of MeijerG functions with
:
MeijerG[{{(1/2), 1}, {3, 4}}, {{(1/5)}, {}}, 0]MeijerG[{{(1/2), 1}, {3, 4}}, {{(1/5)}, {}}, z]//FunctionExpandSeries[%, {z, 0, 0}, Assumptions -> z > 0]MeijerG is a piecewise analytic function for
:
FunctionExpand[MeijerG[{{(1/2)}, {(1/3)}}, {{(1/5)}, {(1/7)}}, z]]Plot3D[Evaluate[Im[%] /. z -> x - I y], {x, -3 / 2, 3 / 2}, {y, -3 / 2, 3 / 2}, MaxRecursion -> 1, Exclusions -> {x ^ 2 + y ^ 2 == 1, {y == 0, x < 0}}]Neat Examples (2)
Solve a SIAM 100‐digit challenge problem: find
to maximize:
int[α_] = Assuming[0 ≤ α ≤ 5, (2 + Sin[10 α]) Subsuperscript[∫, (1/2), ∞](((-1 + 2 u/u))^α Sin[α u]/u^2)ⅆu]Plot[int[α], {α, 10^-3, 5}, WorkingPrecision -> 15, MaxRecursion -> 1, PlotPoints -> 30]FindMaximum[int[α], {α, (3/4), (1/2), 1}, WorkingPrecision -> 50, PrecisionGoal -> 20]//N[#, 20]&//QuietGenerate many elementary and special functions as special cases of MeijerG:
Table[MeijerG[{Table[2, {k, p}], {}}, {{1 / 2}, Table[k, {k, q}]}, z], {p, 0, 4}, {q, p, 3}]//TraditionalFormSee Also
HypergeometricPFQ MeijerGReduce FoxH FoxHReduce
Function Repository: MeijerGToHypergeometricPFQ FoxHToMeijerG
Tech Notes
Related Guides
Related Links
History
Introduced in 1996 (3.0)
Text
Wolfram Research (1996), MeijerG, Wolfram Language function, https://reference.wolfram.com/language/ref/MeijerG.html.
CMS
Wolfram Language. 1996. "MeijerG." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MeijerG.html.
APA
Wolfram Language. (1996). MeijerG. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MeijerG.html
BibTeX
@misc{reference.wolfram_2026_meijerg, author="Wolfram Research", title="{MeijerG}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/MeijerG.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_meijerg, organization={Wolfram Research}, title={MeijerG}, year={1996}, url={https://reference.wolfram.com/language/ref/MeijerG.html}, note=[Accessed: 13-June-2026]}