({{, (RefLink[MellinConvolve, paclet:ref/MellinConvolve])[f,g,x,y] 
gives the Mellin convolution with respect to x of the expressions f and g.}, {, (RefLink[MellinConvolve, paclet:ref/MellinConvolve])[f,g,{(Subscript[x, 1]),(Subscript[x, 2]),…},{(Subscript[y, 1]),(Subscript[y, 2]),…}]
gives the multidimensional Mellin convolution.}})

OpenersNotesSection(Spacer1)Details and Options

The Mellin convolution (f(Subscript[*, M]) g) (y) of two functions f(x) and g(x) is given by (∫_0^∞)f(x) g(y/x)/xdx.

The multidimensional Mellin convolution of two functions f and g is given by (∫_0^∞)(∫_0^∞)⋯ f((Subscript[x, 1]),(Subscript[x, 2]),…) g((Subscript[y, 1])/(Subscript[x, 1]),(Subscript[y, 2])/(Subscript[x, 2]),…)/((Subscript[x, 1])(Subscript[x, 2])⋯)d(Subscript[x, 1])d(Subscript[x, 2])⋯.

The following options can be given:

OpenersPrimaryExamplesSection(Spacer1)Examples  (22)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Convolve two functions:

MellinConvolve[UnitBox[x-3/2],2UnitBox[x-2],x,y]

Plot[{UnitBox[y-3/2],2UnitBox[y-2],%}//Evaluate,{y,0,6},Filling-> Axis,Exclusions->None,PlotRange-> All]

Perform a multivariate convolution:

MellinConvolve[3UnitBox[s-3/2, t-7/4],2UnitBox[s-1,t-1],{s,t},{m,n}]

Plot3D[{3UnitBox[m-3/2, n-7/4],2UnitBox[m-1,n-1],%}//Evaluate,{m,0,3},{n,0,3},PlotRange->All,Filling->Axis,PlotPoints->50,Exclusions->None,PlotStyle->Opacity[0.4],Ticks->None,Mesh->None]

OpenersExampleSection1(Spacer1)Scope  (8)

OpenersExampleSubsection0(Spacer1)Basic Uses  (3)

Compute a Mellin convolution for a symbolic parameter y:

MellinConvolve[E^(-x),1/(x+1),x,y]

Use an exact value for the parameter:

MellinConvolve[E^(-x),1/(x+1),x,1]

Use an inexact value for the parameter:

MellinConvolve[E^(-x),1/(x+1),x,0.3]

Obtain the condition of validity for a Mellin convolution:

MellinConvolve[E^(-a x),1/(x+1),x,y,GenerateConditions->True]

Specify assumptions on a parameter:

MellinConvolve[E^(-x),UnitBox[x-a],x,y,Assumptions-> a>1/2]

Specify a different assumption:

MellinConvolve[E^(-x),UnitBox[x-a],x,y,Assumptions-> 0<a<1/2]

OpenersExampleSubsection1(Spacer1)Univariate Convolution  (3)

Elementary functions:

MellinConvolve[Sin[x],Cos[x],x,y]

Plot[{Sin[y],Cos[y],%},{y,0,30},Filling->Axis]

Special functions:

MellinConvolve[BesselJ[0,x],BesselJ[1,x],x,y]

Plot[{BesselJ[0,y],BesselJ[1,y],%}//Evaluate,{y,0,10},Filling-> Axis,PlotLegends->"Expressions"]

Piecewise functions:

MellinConvolve[UnitTriangle[x-2],UnitBox[x-7/4],x,y]

Plot[{UnitTriangle[y-2],UnitBox[y-7/4],%}//Evaluate,{y,0,10},Filling-> Axis,PlotRange->All,Exclusions->None]

OpenersExampleSubsection2(Spacer1)Multivariate Convolution  (2)

Elementary functions:

MellinConvolve[3Sin[s+t],4Sin[s-t],{s,t},{m,n}]

Plot3D[{3Sin[m+n],4Sin[m-n],%}//Evaluate,{m,1,7},{n,1,7},PlotRange->All,Filling->Axis,PlotPoints->50,Exclusions->None,PlotStyle->Opacity[0.4],Ticks->None,Mesh->None,PlotLegends->"Expressions"]

Piecewise functions:

MellinConvolve[2UnitTriangle[x-2],3UnitBox[x-1,y-1],{x,y},{m,n}]

Plot3D[{2UnitTriangle[m-2],3UnitBox[m-1,n-1],%}//Evaluate,{m,0,3},{n,0,3},PlotRange->All,Filling->Axis,PlotPoints->50,Exclusions->None,PlotStyle->Opacity[0.3],Ticks->None,Mesh->None]

OpenersExampleSection2(Spacer1)Options  (2)

OpenersExampleSubsection3(Spacer1)Assumptions  (1)

Specify assumptions on a parameter:

MellinConvolve[Sin[x],UnitBox[x-a],x,y]

MellinConvolve[Sin[x],UnitBox[x-a],x,y,Assumptions->a>1/2]

OpenersExampleSubsection4(Spacer1)GenerateConditions  (1)

Generate conditions for the validity of a Mellin convolution:

MellinConvolve[1/(x+1),E^(-a x),x,y,GenerateConditions->True]

OpenersExampleSection3(Spacer1)Applications  (2)

Compute the (RefLink[PDF, paclet:ref/PDF]) for the product of two random variables:

𝒟1=UniformDistribution[];

𝒟2=TriangularDistribution[{1/2,2}];

f[x_]=PDF[𝒟1,x]

g[x_]=PDF[𝒟2,x]

(RefLink[MellinConvolve, paclet:ref/MellinConvolve]) gives the (RefLink[PDF, paclet:ref/PDF]) for the product of these random variables:

p1=MellinConvolve[f[x],g[x],x,t]

Plot[{f[t],g[t],%}//Evaluate,{t,0,3},Filling-> Axis,PlotRange-> All,Exclusions-> None]

Compare with the result from (RefLink[TransformedDistribution, paclet:ref/TransformedDistribution]):

p2=PDF[TransformedDistribution[x y,{x\[Distributed]𝒟1,y\[Distributed]𝒟2},Assumptions-> t>0],t]

Simplify[p1-p2, t>0]

The integral (∫_0^2)(((2-x))^α) sin((α/x))dx depends on the parameter α. Find the value of α that lies between 0 and 5 and maximizes the integral. The given integral can be regarded as a Mellin convolution of two functions:

f[x_]:=x(2-x)^α UnitBox[(x-1)/2]

g[x_]:=Sin[x]

Compute the Mellin convolution of f[x] and g[x]:

(mc=MellinConvolve[f[x],g[x],x,α])//TraditionalForm

Compare with the result given by (RefLink[Integrate, paclet:ref/Integrate]):

Integrate[(2 - x)^α Sin[α/x], {x, 0, 2},Assumptions->α>0]//TraditionalForm

Plot the integral as a function of α:

Plot[mc//Evaluate,{α,0,4.99},PlotStyle->Red]

Compute the argument that maximizes the integral in 0≤α≤5 using (RefLink[FindArgMax, paclet:ref/FindArgMax]):

N[FindArgMax[mc,{α,1},WorkingPrecision-> 100][[1]],20]

OpenersExampleSection4(Spacer1)Properties & Relations  (8)

(RefLink[MellinConvolve, paclet:ref/MellinConvolve]) computes the integral (∫_0^∞)f(x) g(y/x)dx/x:

f[x_]:=UnitBox[x]

g[x_]:=E^(-x)

MellinConvolve[f[x],g[x],x,y]

Integrate[ f[x]g[y/x]/x,{x,0,Infinity},Assumptions->y≥0]

Scaling:

MellinConvolve[a r[x],s[x],x,y]

MellinConvolve[r[x],a s[x],x,y]

Commutativity:

f[x_]:=UnitBox[x]

g[x_]:=E^(-x)

MellinConvolve[f[x],g[x],x,y]

MellinConvolve[g[x],f[x],x,y]

Distributivity:

MellinConvolve[h[x],i[x]+j[x],x,y]

MellinConvolve[h[x]+i[x],j[x],x,y]

Convolution with (RefLink[DiracDelta, paclet:ref/DiracDelta]):

MellinConvolve[f[x],DiracDelta[x-a],x,y]

Derivatives of (RefLink[DiracDelta, paclet:ref/DiracDelta]):

MellinConvolve[DiracDelta'[x-1],f[x],x,y]

MellinConvolve[DiracDelta''[x-1],f[x],x,y]

The Mellin transform of a convolution is the product of the individual Mellin transforms:

MellinTransform[MellinConvolve[f[t], g[t], t, x],x,y]

Derivative of (RefLink[MellinConvolve, paclet:ref/MellinConvolve]) with respect to y:

D[MellinConvolve[f[x],g[x],x,y],y]

Relation between (RefLink[MellinConvolve, paclet:ref/MellinConvolve]), (RefLink[MellinTransform, paclet:ref/MellinTransform]), and (RefLink[InverseMellinTransform, paclet:ref/InverseMellinTransform]):

f[x_]:=UnitBox[x]

g[x_]:=E^(-x)

MellinConvolve[f[x],g[x],x,y]==InverseMellinTransform[MellinTransform[f[x],x,s] MellinTransform[g[x],x,s] ,s,y]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[Integrate, paclet:ref/Integrate])  ▪  (RefLink[MellinTransform, paclet:ref/MellinTransform])  ▪  (RefLink[Convolve, paclet:ref/Convolve])  ▪  (RefLink[DirichletConvolve, paclet:ref/DirichletConvolve])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Integral Transforms, paclet:guide/IntegralTransforms])}})}})