meijerG
The Meijer G function
MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
meijerG([[a_{1}, …, a_{n}], [a_{n + 1}, …, a_{p}]]
,[[b_{1}, …, b_{m}], [b_{m + 1}, …, b_{q}]]
,z
) meijerG([a_{1}, …, a_{n}]
,[a_{n + 1}, …, a_{p}]
,[b_{1}, …, b_{m}]
,[b_{m + 1}, …, b_{q}]
,z
) meijerG(m
,n
,[a_{1}, …, a_{p}]
,[b_{1}, …, b_{q}]
,z
)
meijerG( [[ a_{1}, …, a_{n}],
[ a_{n + 1}, …, a_{p}]],
[[ b_{1}, …, b_{m}],
[ b_{m + 1}, …, b_{q}]]
, z)
represents the Meijer G function.
The following calls are equivalent:
meijerG( [ a_{1}, …, a_{n}],
[ a_{n + 1}, …, a_{p}],
[ b_{1}, …, b_{m}],
[ b_{m + 1}, …, b_{q}]
, z)
, and
meijerG(m, n, [ a_{1}, …,
a_{n}, a_{n + 1}, …,
a_{p}], [ b_{1}, …,
b_{m}, b_{m + 1}, …,
b_{q}] , z)
.
meijerG( [[ a_{1}, …, a_{n}],
[ a_{n + 1}, …, a_{p}]],
[[ b_{1}, …, b_{m}],
[ b_{m + 1}, …, b_{q}]]
, z)
represents the Meijer G function .
The function is defined as
,
where 0 ≤ m ≤ q and 0 ≤ n ≤ p. The parameters a_{i}, b_{j} and the argument z can be complex numbers. The integral represents an inverse Laplace transform or, more specifically, a MellinBarnes type of integral. See the Algorithms section for more details.
If m = 0, m = q, n =
0, n = p, p =
0, or q =
0, you can pass empty parameter lists to meijerG
: [a_{1},
…, a_{n}]
= [], [a_{n +
1}, …, a_{p}]
= [], [b_{1},
…, b_{m}]
= [], or [b_{m +
1}, …, b_{q}]
= [].
No pair of parameters a_{i}  b_{j}, i =
1, …, n. j =
1, …, m, should differ
by a positive integer. Thus, no pole of coincides
with any pole of .
Otherwise, meijerG
returns an error.
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 parameters does not change the resulting Meijer G function: [a_{1}, …, a_{n}], [a_{n + 1}, …, a_{p}], [b_{1}, …, b_{m}], [b_{m + 1}, …, b_{q}].
If z is not a negative real number, the function satisfies the following identity: .
If 0 < n < p and r = a_{1}  a_{p} is an integer, the function satisfies the following identity: .
If 0 < m < q and r = b_{1}  b_{q} is an integer, the function satisfies the following identity: .
According to these rules, the meijerG
function
call can return meijerG
with modified input parameters.
If at least one of the arguments is a floatingpoint number and all other arguments can be converted to floatingpoint numbers, the function returns a floatingpoint value.
Particular choices of parameters can reduce the Meijer G function
to simpler special or elementary functions. Most special functions
can be derived from the Meijer G function. In many cases, you can
rewrite results involving meijerG
in terms of more
elementary functions using simplify
or Simplify
.
See Example 3.
The call meijerG([[], []], [[], []], x)
returns 0.
When called with floatingpoint arguments, this function is
sensitive to the environment variable DIGITS
, which determines
the numerical working precision.
For exact or symbolic arguments, the meijerG
function
returns meijerG
:
meijerG([[1],[]], [[],[2]],x)
meijerG([[1], [1/2]], [[], [1/2]], PI + I)
For floatingpoint arguments, meijerG
returns
floatingpoint values:
meijerG([[1], []], [[1], [1/2]], 3.0), meijerG([[PI], [2]], [[], [3]], 4.0), meijerG([[I+1,2], []], [[1/(I+1), 1/2],[]], 0.5*I)
The functions diff
and float
handle expressions
involving the Meijer G function:
diff(meijerG([[a], [b]], [[c], [d]], x), x)
Differentiating a Meijer G function with respect to one of its parameters a_{1}, …, b_{q} does not generally result in Meijer G functions. Such derivatives are not implemented:
diff(meijerG([a], [b], [c], [d], z), a)
You can evaluate the expressions involving meierG
numerically
using float
:
meijerG([[1], []], [[2], [sqrt(PI)]], 3) ~= float(meijerG([[1], []], [[2], [sqrt(PI)]], 3))
delete z:
Particular choices of parameters can reduce the Meijer G function
to simpler special or elementary functions. Use simplify
or Simplify
to obtain such
a representation:
simplify(meijerG([[], []], [[0], []], z))
simplify(meijerG([[1], []], [[1/2], [0]], z))
simplify(meijerG([[], []], [[1/2, 1/2], []], z))
You can verify these relations numerically:
z:= float(PI+I): meijerG([[], []], [[0], []], z) = exp(z);
meijerG([[1], []], [[1/2], [0]],z) = float(sqrt(PI)*erf(sqrt(z)))
meijerG([[], []], [[1/2, 1/2], []], z) = 2*besselK(1, 2*sqrt(z))

The 'first list of parameters': arithmetical expressions 

The 'second list of parameters': arithmetical expressions 

The 'argument': an arithmetical expression 

Integers satisfying 0 ≤ m ≤ q, 0 ≤ n ≤ p or symbolic expressions. 
Arithmetical expression.
z
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 , j = 1, …, m, lie to the right of the path, and all poles of , k = 1, …, n, lie to the left of the path. The integral converges if , arg(z) < c π. If arg(z) = c π, c ≥ 0, the integral converges absolutely when p = q and ℜ(ψ) <  1, where . 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 .
The contour is a loop beginning and ending at infinity and encircling all poles of , j = 1, …, m, moving in the negative direction, but none of the poles of , 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 , k = 1, …, n, moving in the positive direction, but none of the poles of , j = 1, …, m. The integral converges if p ≥ 1 and either p > q or p = q and z > 1.
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. To avoid confusion, 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:
.
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 (for details, see Luke in the references). For particular choices of parameters, you can express the Meijer G function through the hypergeometric function. For example, if no two of the b_{h} terms, h = 1, …, m, differ by an integer or zero, all poles are simple, and
,
where p < q or p = q and z < 1. The symbols A_{h}, B_{h} denote
and
.
Y.L. Luke, “The Special Functions and Their Approximations”, Vol. 1, Academic Press, New York, 1969.
A.P. Prudnikov, Yu.A. Brychkov and O.I. Marichev, “Integrals and Series”, Vol. 3: More Special Functions, Gordon and Breach, 1990.
M. Abramowitz and I.A. Stegun, “Handbook of Mathematical Functions”, Dover Publications, New York, 9th printing, 1970.