Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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.

Syntax

meijerG([[a1, …, an], [an + 1, …, ap]], [[b1, …, bm], [bm + 1, …, bq]], z)
meijerG([a1, …, an], [an + 1, …, ap], [b1, …, bm], [bm + 1, …, bq], z)
meijerG(m, n, [a1, …, ap], [b1, …, bq], z)

Description

meijerG( [[ a1, …, an], [ an + 1, …, ap]], [[ b1, …, bm], [ bm + 1, …, bq]] , z) represents the Meijer G function.

The following calls are equivalent:

meijerG( [ a1, …, an], [ an + 1, …, ap], [ b1, …, bm], [ bm + 1, …, bq] , z), and

meijerG(m, n, [ a1, …, an, an + 1, …, ap], [ b1, …, bm, bm + 1, …, bq] , z).

meijerG( [[ a1, …, an], [ an + 1, …, ap]], [[ b1, …, bm], [ bm + 1, …, bq]] , z) represents the Meijer G function . The function is defined as

,

where 0 ≤ mq and 0 ≤ np. The parameters ai, bj and the argument z can be complex numbers. The integral represents an inverse Laplace transform or, more specifically, a Mellin-Barnes 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: [a1, …, an] = [], [an + 1, …, ap] = [], [b1, …, bm] = [], or [bm + 1, …, bq] = [].

No pair of parameters ai - bj, 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: [a1, …, an], [an + 1, …, ap], [b1, …, bm], [bm + 1, …, bq].

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

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

  • If 0 < m < q and r = b1 - bq 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 floating-point number and all other arguments can be converted to floating-point numbers, the function returns a floating-point 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.

Environment Interactions

When called with floating-point arguments, this function is sensitive to the environment variable DIGITS, which determines the numerical working precision.

Examples

Example 1

For exact or symbolic arguments, the meijerG function returns meijerG:

meijerG([[1],[]], [[],[2]],x)

meijerG([[1], [1/2]], [[], [1/2]], PI + I)

For floating-point arguments, meijerG returns floating-point 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)

Example 2

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 a1, …, bq 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:

Example 3

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))

Parameters

a1, …, ap

The 'first list of parameters': arithmetical expressions

b1, …, bq

The 'second list of parameters': arithmetical expressions

z

The 'argument': an arithmetical expression

m, n

Integers satisfying 0 ≤ mq, 0 ≤ np or symbolic expressions.

Return Values

Arithmetical expression.

Overloaded By

z

Algorithms

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 pq, 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 bh 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 Ah, Bh denote

and

.

References

  • 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.

See Also

MuPAD Functions

Was this topic helpful?