Contenuto principale

meijerG

R2026b

Meijer G-function

Description

meijerG(a,b,c,d,z) returns the Meijer G-Function. meijerG is element-wise in z. The input parameters a, b, c, and d are vectors that can be empty, as in meijerG([], [], 3.2, [], 1).

example

Examples

collapse all

syms x
meijerG(3, [], [], 2, 5)
ans =
    25

Call meijerG when z is an array. meijerG acts element-wise.

a = 2;
z = [1 2 3];
meijerG(a, [], [], [], z)
ans =
    0.3679    1.2131    2.1496

Convert numeric input to symbolic form using sym, and find the Meijer G-function. For certain symbolic inputs, meijerG returns exact symbolic output using other functions.

meijerG(sym(2), [], [], [], sym(3))
ans =
3*exp(-1/3)
meijerG(sym(2/5), [], sym(1/2), [], sym(3))
ans =
(2^(4/5)*3^(1/2)*gamma(1/10))/80

For symbolic variables or expressions, meijerG returns an output in terms of simple or special functions.

syms a b c d z
f = meijerG(a,b,c,d,z)
f =
(gamma(c - a + 1)*(1/z)^(1 - a)*hypergeom([c - a + 1, d - a + 1],...
 b - a + 1, 1/z))/(gamma(b - a + 1)*gamma(a - d))

Substitute values for the variables by using subs, and convert values to double by using double.

fVal = subs(f, [a b c d z], [1.2 3 5 7 9])
fVal =
(266*9^(1/5)*hypergeom([24/5, 34/5], 14/5, 1/9))/(25*gamma(-29/5))
double(fVal)
ans =
   5.7586e+03

Calculate fVal to higher precision using vpa.

vpa(fVal)
ans =
5758.5946416377834597597497022199

Show relations between meijerG and simpler functions for given parameter values.

Show that when a, b, and d are empty, and c = 0, then meijerG reduces to exp(-z).

syms z
meijerG([], [], 0, [], z)
ans =
exp(-z)

Show that when a, b, and d are empty, and c = [1/2 -1/2], then meijerG reduces to 2Kv(1,2z1/2).

meijerG([], [], [1/2 -1/2], [], z)
ans =
2*besselk(1, 2*z^(1/2))

Plot the real and imaginary values of the Meijer G-function for values of b and z, where a = [-2 2] and c and d are empty. Fill the contours by setting Fill to on.

syms b z
f = meijerG([-2 2], b, [], [], z);

subplot(2,2,1)
fcontour(real(f),'Fill','on')
title('Real Values of Meijer G')
xlabel('b')
ylabel('z')

subplot(2,2,2)
fcontour(imag(f),'Fill','on')
title('Imaginary Values of Meijer G')
xlabel('b')
ylabel('z')

Figure contains 2 axes objects. Axes object 1 with title Real Values of Meijer G, xlabel b, ylabel z contains an object of type functioncontour. Axes object 2 with title Imaginary Values of Meijer G, xlabel b, ylabel z contains an object of type functioncontour.

Input Arguments

collapse all

Input, specified as a number or vector, or a symbolic number, variable, vector, function, or expression.

Input, specified as a number or vector, or a symbolic number, variable, vector, function, or expression.

Input, specified as a number or vector, or a symbolic number, variable, vector, function, or expression.

Input, specified as a number or vector, or a symbolic number, variable, vector, function, or expression.

Input, specified as a number or vector, or a symbolic number, variable, vector, function, or expression.

More About

collapse all

Algorithms

For the Meijer G-function meijerG([a1,…,an], [an + 1,…,ap], [b1,…,bm], [bm + 1,…,bq], z), for ai ∊ (a1,…,an) and bj ∊ (b1,…,bm), no pair of parameters ai − bj should differ by a positive integer.

The Meijer G-function involves a complex contour integral with one of the following types of integration paths:

  • The contour goes from - i ∞ to i ∞ so that all poles of Γ(bj−s), j = 1, …, m lie to the right of the path, and all poles of Γ(1−ak+s), k = 1, …, n lie to the left of the path. The integral converges if c=m+n−p+q2>0, |arg(z)| < c π. If |arg(z)| = c π, c ≥ 0, the integral converges absolutely when p = q and ℜ(ψ) < - 1, where Ψ=(∑j=1qbj)−(∑i=1pai). When p ≠ q, the integral converges if you choose the contour so that the contour points near i ∞ and - i ∞ have a real part σ satisfying (q−p)σ>ℜ(ψ)+1−q−p2.

  • The contour is a loop beginning and ending at ∞ and encircling all poles of Γ(bj−s), j = 1, …, m moving in the negative direction, but none of the poles of Γ(1−ak+s), k = 1, …, n. The integral converges if q ≥ 1 and either p < q or p = q and |z| < 1.

  • The contour is a loop beginning and ending at - ∞ and encircling all poles of Γ(1−ak+s), k = 1, …, n moving in the positive direction, but none of the poles of Γ(bj+s), j = 1, …, m. The integral converges if p ≥ 1 and either p > q or p = q and |z| > 1.

The integral represents an inverse Laplace transform or, more specifically, a Mellin-Barnes type of integral.

For a given set of parameters, the contour chosen in the definition of the Meijer G-function is the one for which the integral converges. If the integral converges for several contours, all contours lead to the same function.

The Meijer G-function satisfies a differential equation of order max(p, q) with respect to a variable z:

((−1))m+n−pz(∏i=1p(zddz−ai−1))−∏j=1q(zddz−bj))Gp,qm,n(a1,…,apb1,…,bp|z)=0.

If p < q, this differential equation has a regular singularity at z = 0 and an irregular singularity at z = ∞. If p = q, the points z = 0 and z = ∞ are regular singularities, and there is an additional regular singularity at z = (−1)m + n - p.

The Meijer G-function represents an analytic continuation of the hypergeometric function [1]. For particular choices of parameters, you can express the Meijer G-function through the hypergeometric function. For example, if no two of the bh terms, h = 1, …, m, differ by an integer or zero and all poles are simple, then

Gp,qm,n(a1,…,apb1,…,bp|z)=∑h=1m(∏j=1…m,j≠hΓ(bj−bh))(∏j=1nΓ(1+bh−aj))(∏j=m+1qΓ(1+bh−bj))(∏j=n+1pΓ(aj−bh))zbhpFq−1(Ah;Bh;(−1)p−m−nz).

Here p < q or p = q and |z| < 1. Ah denotes

Ah=1+bh−a1,…,1+bh−ap.

Bh denotes

Bh=1+bh−b1,…,1+bh−b(h−1),1+bh−bh+1,…,1+bh−bq.

Meijer G-functions with different parameters can represent the same function.

  • The Meijer G-function is symmetric with respect to the parameters. Changing the order inside each of the following lists of vectors does not change the resulting Meijer G-function: [a1, …, an], [an + 1, …, ap], [b1, …, bm], [bm + 1, …, bq].

  • If z is not a negative real number and z ≠ 0, the function satisfies the following identity:

    Gp,qm,n(a1,…,apb1,…,bq|z)=Gq,pn,m(1−b1,…,1−bp1−a1,…,1−ap|1z).

    .

  • If 0 < n < p and r = a1 - ap is an integer, the function satisfies the following identity:

    Gp,qm,n(a1,a2,…,ap−1,apb1,b2,…,bq−1,bq|z)=Gp,qm,n(ap,a2,…,ap−1,a1b1,b2,…,bq−1,bq|z).

    .

  • If 0 < m < q and r = b1 - bq is an integer, the function satisfies the following identity:

    Gp,qm,n(a1,a2,…,ap−1,apb1,b2,…,bq−1,bq|z)=(−1)γGp,qm,n(a1,a2,…,ap−1,apbq,b2,…,bq−1,b1|z).

    .

According to these rules, the meijerG function call can return meijerG with modified input parameters.

References

[1] Luke, Y. L., The Special Functions and Their Approximations. Vol. 1. New York: Academic Press, 1969.

[2] Prudnikov, A. P., Yu. A. Brychkov, and O. I. Marichev, Integrals and Series. Vol 3: More Special Functions. Gordon and Breach, 1990.

[3] Abramowitz, M., I. A. Stegun, Handbook of Mathematical Functions. 9th printing. New York: Dover Publications, 1970.

Version History

Introduced in R2017b

See Also