Function Repository Resource:

MellinBarnesIntegrate

Source Notebook

Integrate a mathematical function using Mellin–Barnes integration

Contributed by: Paco Jain & Oleg Marichev (Wolfram Research)

ResourceFunction["MellinBarnesIntegrate"][f,x]

gives the indefinite integral using the Mellin-Barnes method.

ResourceFunction["MellinBarnesIntegrate"][f,{x,0,Infinity}]

gives the definite integral ⅆx .

ResourceFunction["MellinBarnesIntegrate"][f,{x,-Infinity,0}]

gives the definite integral ⅆx .

ResourceFunction["MellinBarnesIntegrate"][f,{x,-Infinity,Infinity}]

gives the definite integral ⅆx .

Details

MellinBarnesIntegrate returns its results in terms of inactivated FoxH and MeijerG functions. These can often be re-expressed in terms of more basic functions by applying Activate and, in some cases, FunctionExpand.
Mellin-Barnes integration is also refered to as Slater convolution. It was heavily developed by Marichev and Adamchik.
ResourceFunction["MellinBarnesIntegrate"] may give results over a finite range. It is primarily intended for infinite ranges.

Examples

Basic Examples (2) 

Compute an indefinite integral:

In[1]:=
ResourceFunction["MellinBarnesIntegrate"][Sin[a x], x]
Out[1]=

Activate the MeijerG function to obtain an answer in terms of elementary functions:

In[2]:=
Activate[%]
Out[2]=

Compute an definite integral:

In[3]:=
ResourceFunction["MellinBarnesIntegrate"][
 1/(x^3 + 1), {x, 0, Infinity}]
Out[3]=

Use FunctionExpand to evaluate the gamma functions:

In[4]:=
FunctionExpand[%]
Out[4]=

Confirm the result via Integrate:

In[5]:=
Integrate[1/(x^3 + 1), {x, 0, Infinity}]
Out[5]=

Scope (13) 

Basic Uses (5) 

Compute an indefinite integral:

In[6]:=
int = ResourceFunction["MellinBarnesIntegrate"][1/(x^3 + 1), x]
Out[6]=

Verify the answer by differentiation:

In[7]:=
D[int, x] // Activate
Out[7]=

Compute a definite integral over an infinite interval:

In[8]:=
ResourceFunction["MellinBarnesIntegrate"][
 BesselJ[2, x]/(1 + x^2), {x, 0, \[Infinity]}]
Out[8]=

Use FunctionExpand and Activate to obtain the result in terms of more basic functions:

In[9]:=
FunctionExpand[Activate[%]]
Out[9]=

Compute an integral over a doubly-infinite interval:

In[10]:=
ResourceFunction["MellinBarnesIntegrate"][
 Sin[x]/x, {x, -\[Infinity], \[Infinity]}]
Out[10]=

Compute an integral over the negative real line:

In[11]:=
ResourceFunction["MellinBarnesIntegrate"][
 Exp[-x^2], {x, -\[Infinity], 0}]
Out[11]=

An integrand containing symbolic parameters:

In[12]:=
res = ResourceFunction["MellinBarnesIntegrate"][
  integrand = BesselJ[1, a x]/(x^2 + c), {x, 0, Infinity}]
Out[12]=

Compare with the results of NIntegrate:

In[13]:=
Block[{a = RandomReal[], c = RandomReal[]},
 {N[Activate[res]], NIntegrate[integrand, {x, 0, Infinity}]}
 ]
Out[13]=

Elementary Functions (4) 

Integrate rational functions:

In[14]:=
ResourceFunction["MellinBarnesIntegrate"][1/(x^2 + 1), x]
Out[14]=
In[15]:=
ResourceFunction["MellinBarnesIntegrate"][1/(2 x + 3), x]
Out[15]=
In[16]:=
ResourceFunction["MellinBarnesIntegrate"][
 x/(x^3 + b), {x, 0, \[Infinity]}]
Out[16]=

Integrate algebraic functions:

In[17]:=
ResourceFunction["MellinBarnesIntegrate"][1/(Sqrt[x] + 1), x]
Out[17]=

Integrate trigonometric functions:

In[18]:=
ResourceFunction["MellinBarnesIntegrate"][Sin[a x], x]
Out[18]=
In[19]:=
ResourceFunction["MellinBarnesIntegrate"][Cos[a x + d], x]
Out[19]=
In[20]:=
ResourceFunction["MellinBarnesIntegrate"][Cot[a x], x] // FunctionExpand
Out[20]=

Integrate inverse trigonometric and hyperbolic functions:

In[21]:=
ResourceFunction["MellinBarnesIntegrate"][ArcSin[x], x]
Out[21]=
In[22]:=
ResourceFunction["MellinBarnesIntegrate"][ArcTanh[x], x]
Out[22]=

Special Functions (4) 

Integrate Airy functions:

In[23]:=
ResourceFunction["MellinBarnesIntegrate"][AiryAi[x], x]
Out[23]=
In[24]:=
ResourceFunction["MellinBarnesIntegrate"][AiryBi[x], x]
Out[24]=

Integrate Bessel functions:

In[25]:=
ResourceFunction["MellinBarnesIntegrate"][BesselJ[n, x], x]
Out[25]=
In[26]:=
ResourceFunction["MellinBarnesIntegrate"][BesselK[n, x], x]
Out[26]=

Integrate hypergeometric functions:

In[27]:=
ResourceFunction["MellinBarnesIntegrate"][
 Hypergeometric2F1[a, b, c, x], x]
Out[27]=

Integrate elliptic integrals:

In[28]:=
ResourceFunction["MellinBarnesIntegrate"][EllipticK[m], m]
Out[28]=
In[29]:=
ResourceFunction["MellinBarnesIntegrate"][EllipticE[m], m]
Out[29]=

Publisher

Wolfram|Alpha Math Team

Version History

  • 1.0.0 – 20 October 2025

Source Metadata

Related Resources

License Information