MeijerGReduce[expr,x]
attempts to reduce expr to a single MeijerG object as a function of x.
MeijerGReduce
MeijerGReduce[expr,x]
attempts to reduce expr to a single MeijerG object as a function of x.
Details and Options
- MeijerG representations of mathematical functions are widely used in the areas of symbolic integration, integral transforms, statistics and others.
- MeijerGReduce will attempt to represent any expression as a MeijerG object.
- MeijerGReduce returns results in an inert form Inactive[MeijerG][…].
- MeijerGReduce automatically threads over lists.
- Assumptions on parameters may be specified using the Assumptions option.
Examples
open all close allBasic Examples (2)
Represent Sin in terms of MeijerG:
MeijerGReduce[Sin[x], x]Represent BesselJ in terms of MeijerG:
MeijerGReduce[BesselJ[1, a x], x]Recover the original function using Activate:
Activate[%]Plot[Evaluate[Table[%, {a, 1, 4}]], {x, 0, 7}]Scope (18)
Elementary Functions (6)
MeijerGReduce[(1/x^2 + 1), x]MeijerGReduce[(1/2 x + 3), x]MeijerGReduce[(1/Sqrt[x] + 1), x]MeijerGReduce[(1/Sqrt[Sqrt[x] + Sqrt[1 + x]]), x]MeijerGReduce[Sin[a x], x]MeijerGReduce[Cos[a x], x]Linear combination of trigonometric functions:
MeijerGReduce[2 Sin[x] + Cos[x], x]MeijerGReduce[Sinh[b x], x]MeijerGReduce[Cosh[b x], x]Linear combination of hyperbolic functions:
MeijerGReduce[2 Sinh[x] + Cosh[x], x]Exponential and logarithmic functions:
MeijerGReduce[E^c x, x]MeijerGReduce[Log[x], x]Inverse trigonometric and hyperbolic functions:
MeijerGReduce[ArcSin[x], x]MeijerGReduce[ArcTanh[x], x]Special Functions (5)
MeijerGReduce[AiryAi[x], x]MeijerGReduce[AiryBi[x], x]MeijerGReduce[BesselJ[n, x], x]MeijerGReduce[BesselK[n, x], x]MeijerGReduce[LegendreP[n, x], x]MeijerGReduce[LegendreQ[n, x], x]MeijerGReduce[Hypergeometric1F1[a, b, x], x]MeijerGReduce[Hypergeometric2F1[a, b, c, x], x]MeijerGReduce[EllipticK[m], m]MeijerGReduce[EllipticE[m], m]Piecewise Functions (3)
MeijerGReduce[UnitStep[x - 1], x]MeijerGReduce[UnitBox[3x], x]Expressions involving UnitStep:
MeijerGReduce[x Log[x]UnitStep[1 - Abs[x]], x]MeijerGReduce[ArcCsc[x]UnitStep[Abs[x] - 1], x]MeijerGReduce[ConditionalExpression[E^-x, 1 < x < 2], x]General Functions (4)
Products of elementary functions:
MeijerGReduce[Cosh[x] Sin[x], x]MeijerGReduce[(ArcSin[x]/Sqrt[1 - x^2]), x]Product of exponential and Airy functions:
MeijerGReduce[E^xAiryBi[((3/2))^2 / 3 x^2 / 3], x]Products involving Bessel functions:
MeijerGReduce[BesselJ[2ν, x] BesselJ[2μ, x], x]MeijerGReduce[E^-xBesselJ[2ν, x] BesselJ[2μ, x] Sin[x], x]Representation for ExpIntegralEi with a monomial argument:
MeijerGReduce[ExpIntegralEi[5 x^3], x, Assumptions -> x > 0]MeijerGReduce[SinIntegral[12 x^1 / 3], x]Options (1)
Assumptions (1)
MeijerGReduce returns a ConditionalExpression for this example:
MeijerGReduce[AiryAi[a x], x]Use Assumptions to restrict conditions on the parameter:
MeijerGReduce[AiryAi[a x], x, Assumptions -> a > 0]Applications (1)
Build a simple scheme for integration over the interval
, using MeijerGReduce:
IntegrateMeijerG[f_ g_, {z_, 0, Infinity}] /; FreeQ[{f, g}, MeijerG] := IntegrateMeijerG[MeijerGReduce[f, z]MeijerGReduce[g, z], {z, 0, Infinity}]Add a rule for integrating products of inactive MeijerG expressions:
IntegrateMeijerG[α_ Inactive[MeijerG][{a_, b_}, {c_, d_}, ω_. z_] Inactive[MeijerG][{e_, f_}, {g_, h_}, η_.z_], {z_, 0, Infinity}] /; FreeQ[{α, ω, η}, z] := α MeijerG[{Join[-c, e], Join[f, d]}, {Join[-a, g], Join[h, -b]}, η / ω]Apply the scheme to evaluate
:
Plot[(1/(1 + z)^3 / 2)EllipticK[-z], {z, 0, 10}, Filling -> Axis, PlotRange -> All]IntegrateMeijerG[(1/(1 + z)^3 / 2)EllipticK[-z], {z, 0, Infinity}]Obtain the same result using Integrate:
Integrate[(1/(1 + z)^3 / 2)EllipticK[-z], {z, 0, Infinity}]Properties & Relations (4)
MeijerGReduce returns results in Inactive form to prevent evaluation of MeijerG:
MeijerGReduce[E^-x, x]Use Activate to evaluate the result:
Activate[%]MeijerGReduce maps over sums and products:
MeijerGReduce[E^-x + Cos[x], x]MeijerGReduce[5 E^-x, x]MeijerGReduce may be regarded as the inverse of MeijerG:
MeijerG[{{(1/2), (1/2), (1/2)}, {}}, {{0}, {-(3/2), -(3/2)}}, -x]MeijerGReduce[%, x]The result from MeijerGReduce can be used in MellinTransform:
MeijerGReduce[E^-x, x]MellinTransform[%, x, s]Obtain the Mellin transform directly:
MellinTransform[E^-x, x, s]Neat Examples (1)
Create a gallery of MeijerG representations:
funclist = {E^-x, Sin[x], Cos[x], Sinh[x], Cosh[x], BesselJ[n, x], BesselK[n, x], AiryAi[x], AiryBi[x], Hypergeometric2F1[a, b, c, x], UnitStep[x - 1], UnitBox[x]};Grid[Join[{{f[x], Text["MeijerG representation"]}}, Transpose[{funclist, HoldForm /@ (MeijerGReduce[#1, x]&) /@ funclist /. Inactive[MeijerG] -> MeijerG}]], IconizedObject[«Grid options»]]//TraditionalFormSee Also
MeijerG FoxH FoxHReduce Inactive Activate RootReduce MellinTransform InverseMellinTransform
Function Repository: FoxHToMeijerG
Related Guides
History
Introduced in 2016 (11.0)
Text
Wolfram Research (2016), MeijerGReduce, Wolfram Language function, https://reference.wolfram.com/language/ref/MeijerGReduce.html.
CMS
Wolfram Language. 2016. "MeijerGReduce." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MeijerGReduce.html.
APA
Wolfram Language. (2016). MeijerGReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MeijerGReduce.html
BibTeX
@misc{reference.wolfram_2026_meijergreduce, author="Wolfram Research", title="{MeijerGReduce}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/MeijerGReduce.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_meijergreduce, organization={Wolfram Research}, title={MeijerGReduce}, year={2016}, url={https://reference.wolfram.com/language/ref/MeijerGReduce.html}, note=[Accessed: 12-June-2026]}