hyperode - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

DEtools

  

hyperode

  

return the nth order ODE having a given hypergeometric pFq or MeijerG function as solution

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

hyperode(H, y(x), n, [S1, S2, ..., Sn])

Parameters

H

-

hypergeometric function; can be  or , or a product of the form

y(x)

-

dependent variable of the ODE; can be any unknown function of one variable

n

-

(optional) integer; differential order of the ODE to be returned

[S1, ..., Sn]

-

(optional) list with expressions depending on x; solutions of the ODE to be returned

Description

• 

Hypergeometric functions , or their generalization known as MeijerG functions, can be defined in different ways. One possible way is to define them as the solutions to some linear ODEs. In connection with that approach, the hyperode routine receives as input a hypergeometric function H as a parameter, where H is constructed using one of hypergeom or MeijerG, as either

– 

H([...], [...], f(x)), where  is an arbitrary expression depending on x, or

– 

the product of an arbitrary expression  times H([...], [...], f(x)).

  

Using this input, hyperode returns the general nth order ODE having as a solution that hypergeometric function H or that product of H times .

• 

By identifying the general ODE underlying the definition of a hypergeometric function, this command can be of help when studying properties of these relevant functions and facilitate the understanding of related algorithms. In other cases, this ODE representation of pFq or MeijerG opens the way to computations (for example, differential elimination) that can only be performed with polynomial differential objects. See dpolyform, casesplit, DifferentialAlgebra, and rifsimp.

• 

The ODE returned by hyperode, having a solution  (where  is expressed using hypergeom) is built by using the formula

  

where D is the differential operator , followed by a change of variables

  

and finally by the renaming of the variables according to

  

The output in this case is a linear ODE where the differential order is the largest of  and .

• 

The ODE returned by hyperode, when the input is a MeijerG generalized hypergeometric function, is built using the same process, but the formula used in the first step is:

  

where in above we assume, without loss of generality, that  is less than or equal to , and  and  represent, respectively, the parameters entering the first and second lists of parameters in MeijerG. The output in this case is a th order linear ODE.

• 

When the differential order of the ODE to be returned is not indicated, the one implied by the given pFq or MeijerG function is used. When the differential order is indicated as an extra argument, and provided it is greater than the one implied by the hypergeometric function, the ODE is constructed in the same way as just outlined except that before proceeding, the lists ,  are augmented by introducing into both of them the necessary number of additional parameters, all equal to zero.

• 

Since the transformation shown above with arbitrary  and  represents the structure invariance group for the linear ODEs (that is, it is enough to map any linear ODE into any other one of the same differential order), then by keeping both  and  arbitrary, the ODE returned is "the most general linear ODE of a given order, written in such a way that its solution is expressed in terms of the product of a hypergeometric function (pFq or MeijerG) times an arbitrary function g(x)." Therefore, any linear ODE and its solution in terms of a hypergeometric function can be obtained from this general form by appropriately choosing f and g (see the last example).

• 

When an optional list of additional ODE solutions  is given, the returned ODE is built by first using the formula explained above, and then applying to it operators of the form

  

for each , where the functions  are adjusted so that in addition to

  

for all ,

  

is also a solution of the returned ODE.

  

Note: This building process raises the differential order of the returned ODE by n.

Examples

with(DEtools):

PDEtools[declare](y(x), prime=x);

(1)

The general linear ODE family having as solution "2F1" (two indices in the first list and one index in the other list)

hypergeom([a,b],[c],x);

(2)

is of second order since the number of operands of the first list is two, and the number of operands of the second list plus one is not greater than two. This ODE is known as the hypergeometric ODE (or Gauss ODE) and is given by

hyperode((2),y(x)) = 0;

(3)

The meaning of "1F0" can be determined by looking at the solution of the corresponding linear ODE (which is of order max( 1, 0+1 ) = 1).

hypergeom([a],[],x);

(4)

hyperode((4),y(x));

(5)

dsolve((5));

(6)

Hence, up to a constant  (which may depend on a), 1F0 is equal to the right-hand side of the ODE solution above. An alternative approach to this result is to first convert 1F0 to an infinite sum and then perform the summation:

convert(hypergeom([a],[],x), Sum, x) assuming abs(x)<1;

(7)

value((7)) assuming abs(x)<1;

(8)

Equivalently, but perhaps a more black-box approach, would be a one-step conversion.

convert(hypergeom([a],[],x), StandardFunctions);

(9)

Consider the following statements in order to determine the meaning of the "0F0" hypergeometric function.

hypergeom([],[],x);

(10)

hyperode((10),y(x));

(11)

dsolve((11));

(12)

In particular, consider the following "0F1",

hypergeom([],[1],x^2/4);

(13)

hyperode((13),y(x));

(14)

dsolve((14));

(15)

or use the one-step conversion routine.

convert((13),StandardFunctions);

(16)

The general third order ODE equivalent to the second order hypergeometric ODE is obtained by departing from the general hypergeometric function: "3F2", in turn obtained from 2F1 by adding one arbitrary parameter to each of the two lists.

hypergeom([a,b, r],[c, s],x);

(17)

hyperode((17),y(x)) = 0;

(18)

Test these results by using odetest.

odetest(y(x)=(17), (18));

(19)

The next third order ODE has as solutions both

hypergeom([1/3,2/7],[3/5], x);

(20)

and .

hyperode((20),y(x), [exp(x)]) = 0;

(21)

odetest( y(x)=(20), (21));

(22)

odetest( y(x)=exp(x), (21));

(23)

hyperode can be used in the same way with (generalized hypergeometric) MeijerG functions as input

MeijerG( [[a],[b]], [[c],[d]], x);

(24)

hyperode((24), y(x)) = 0;

(25)

Comparing this output with the one for a pFq function

hyperode( hypergeom( [a,b], [c],x), y(x) ) = 0;

(26)

it is apparent that, for some values of a, b, c, and d, there is a relation between the pFq and the more general MeijerG functions. This relation is actually given by:

hypergeom([a,b],[c],f(x));

(27)

(27) = convert( (27), MeijerG);

(28)

Finally, the most general second order linear ODE, can be written in terms of two functions

PDEtools[declare](f(x),g(x));

(29)

f(x),g(x);

(30)

such that the ODE solution is written in terms of  and  as:

sol := y(x) = g(x) * hypergeom([a,b],[c],f(x));

(31)

Such a form of the general 2nd order linear ODE is obtained as follows:

hyperode(rhs(sol),y(x)) = 0;

(32)

ode := collect(isolate( (32), diff(y(x),x,x)), diff, normal);

(33)

Consider for instance some particular values of f and g.

f=(x -> x+1/x), g=(x -> 1);

(34)

collect( eval(ode,{(34)}), diff, normal);

(35)

The following is the solution to this ODE.

eval(sol, {(34)});

(36)

odetest( (36), (35) );

(37)

This is an example of an ODE family with radicals and its solution in terms of hypergeometric functions.

f=(x -> x^(2/3)+1), g=(x -> 1/(x^(2/3)+1));

(38)

collect( eval(ode,{(38)}), diff, normal);

(39)

The following is the solution to this ODE.

eval(sol, {(38)});

(40)

odetest((40), (39));

(41)

References

  

Marsden, J.E.; Sirovich, L.; and Antman, S.S. eds. Texts in Applied Mathematics. 56 vols. New York: Springer-Verlag, 1991. Vol. 8: Hypergeometric Functions and Their Applications.

  

Mathai, A.M. A Handbook of Generalized Special Functions for Statistical and Physical Sciences. Oxford: Clarendon Press, 1993.

See Also

dchange

DEtools

DEtools[LCLM]

dsolve

equinv

intfactor

odeadvisor

odetest

Ore_algebra/annihilators

PDEtools

PDEtools[dpolyform]

redode

symgen

 


Download Help Document