SPECFN2: Package for special special functions
Date: 2020-10-07 18:10:00

Up | Next | Prev | PrevTail | Tail

### 16.68 SPECFN2: Package for special special functions

This package provides algebraic manipulations of generalized hypergeometric functions and Meijer’s G function. Generalized hypergeometric functions are simpliﬁed towards special functions and Meijer’s G function is simpliﬁed towards special functions or generalized hypergeometric functions.

Author: Victor Adamchik, with major updates by Winfried Neun.

The (generalised) hypergeometric functions

are deﬁned in textbooks on special functions as

w where (a)n is the Pochhammer symbol

The function

has been studied by C. S. Meijer beginning in 1936 and has been called Meijer’s G function later on. The complete deﬁnition of Meijer’s G function can be found in [PBM89]. Many well-known functions can be written as G functions, e.g. exponentials, logarithms, trigonometric functions, Bessel functions and hypergeometric functions.

Several hundreds of particular values can be found in [PBM89].

#### 16.68.1 REDUCE operator HYPERGEOMETRIC

The operator hypergeometric expects 3 arguments, namely the list of upper parameters (which may be empty), the list of lower parameters (which may be empty too), and the argument, e.g the input:

hypergeometric ({},{},z);

yields the output

z
e

and the input

hypergeometric ({1/2,1},{3/2},-x^2);

gives

atan(abs(x))
--------------
abs(x)

#### 16.68.2 Extending the HYPERGEOMETRIC operator

Since hundreds of particular cases for the generalised hypergeometric functions can be found in the literature, one cannot expect that all cases are known to the hypergeometric operator. Nevertheless the set of special cases can be augmented by adding rules to the REDUCE system, e.g.

let {hypergeometric({1/2,1/2},{3/2},-(~x)^2) => asinh(x)/x};

#### 16.68.3 REDUCE operator meijerg

The operator meijerg expects 3 arguments, namely the list of upper parameters (which may be empty), the list of lower parameters (which may be empty too), and the argument.

The ﬁrst element of the lists has to be the list of the ﬁrst n or m respective parameters, e.g. to describe

one has to write

MeijerG({{},1},{{0}},x); % and the result is:
sign( - x + 1) + sign(x + 1)
------------------------------
2

and for

MeijerG({{}},{{1+1/4},1-1/4},(x^2)/4) * sqrt pi;
2 2
sqrt(pi)*sqrt(-----------)*sin(abs(x))*x
abs(x)*pi
-------------------------------------------
4

Up | Next | Prev | PrevTail | Front