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

Online Help

All Products    Maple    MapleSim


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 hypergeom...,...,fx or MeijerG...,...,fx, or a product of the form gxH

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 pFqa1,...,ap,b1,...,bq,fx, 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 fx is an arbitrary expression depending on x, or

– 

the product of an arbitrary expression gx 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 gx.

• 

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 yx=gxpFqa1,...,ap,bi,...,bq,fx (where pFq is expressed using hypergeom) is built by using the formula

i=1pxD+aiyxDyxi=1qxD+bi1yx=0

  

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

x=ft,yx=utgx

  

and finally by the renaming of the variables according to

tx,uy.

  

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

• 

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:

−1pmnxi=1pxDai+1i=1qxDbiyx=0

  

where in above we assume, without loss of generality, that p is less than or equal to q, and ai and bi represent, respectively, the parameters entering the first and second lists of parameters in MeijerG. The output in this case is a qth 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 [a,...], [b,...] 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 fx and gx 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 fx and gx 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 [S1x,S2x,...,Snx] is given, the returned ODE is built by first using the formula explained above, and then applying to it operators of the form

FnxD

  

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

yx=gxhypergeoma,...,b,...,fx

  

for all Snx,

yx=Snx

  

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

yxwill now be displayed asy

derivatives with respect toxof functions of one variable will now be displayed with '

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

hypergeoma,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;

yab+a+b+1xcy'+x2xy''=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);

hypergeoma,,x

(4)

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

ay+x1y'

(5)

dsolve((5));

y=c__1x1a

(6)

Hence, up to a constant c__1 (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;

_k1=0pochhammera&comma;_k1x_k1_k1!

(7)

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

11xa

(8)

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

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

1xa

(9)

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

hypergeom([],[],x);

hypergeom&comma;&comma;x

(10)

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

yy'

(11)

dsolve((11));

y=c__1&ExponentialE;x

(12)

In particular, consider the following "0F1",

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

hypergeom&comma;1&comma;x24

(13)

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

xy''+yxy'

(14)

dsolve((14));

y=c__1BesselI0&comma;x+c__2BesselK0&comma;x

(15)

or use the one-step conversion routine.

convert((13),StandardFunctions);

BesselI0&comma;x

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

hypergeoma&comma;b&comma;r&comma;c&comma;s&comma;x

(17)

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

(18)

Test these results by using odetest.

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

0

(19)

The next third order ODE has as solutions both

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

hypergeom27&comma;13&comma;35&comma;x

(20)

and &ExponentialE;x.

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

(21)

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

0

(22)

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

0

(23)

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

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

MeijerGa&comma;b&comma;c&comma;d&comma;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;

yab+a+b+1xcy'+x2xy''=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));

hypergeoma&comma;b&comma;c&comma;fx

(27)

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

hypergeoma&comma;b&comma;c&comma;fx=ΓcMeijerG1a&comma;b+1&comma;&comma;0&comma;1c&comma;fxΓaΓb

(28)

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

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

fxwill now be displayed asf

gxwill now be displayed asg

(29)

f(x),g(x);

f,g

(30)

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

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

soly=ghypergeoma&comma;b&comma;c&comma;f

(31)

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

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

f '6g4bfg3g'f '5afg3g'f '5b+g'g3f '5c+ffgg'f ''fgf 'g''+2fg'2f 'g'gf '2g'f ''g+gf 'g''2g'2f 'g2f '3y+g4f '5fa+g4f '5fbf '5g4cf '3g3ffgf ''+2fg'f 'gf '2gf ''2g'f 'y'+f '4g4ff1y''=0

(32)

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

odey''=yg'g+y'f ''f '+yg''gbayf '2ff1+fa+fb+fcyg'gff1fa+fb+fcy'ff1f '2yg'2g2+2y'g'g

(33)

Consider for instance some particular values of f and g.

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

f=xx+1x,g=x1

(34)

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

(35)

The following is the solution to this ODE.

eval(sol, {(34)});

y=hypergeoma&comma;b&comma;c&comma;x+1x

(36)

odetest( (36), (35) );

0

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

f=xx23+1,g=x1x23+1

(38)

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

y''=2xa+2xb+7x+2x13a+2x13b2x13c+3x13y'3x43x23+14x23ab+x23a+x23b+x23+ab+a+bc+1y9x23+12x43

(39)

The following is the solution to this ODE.

eval(sol, {(38)});

y=hypergeoma&comma;b&comma;c&comma;x23+1x23+1

(40)

odetest((40), (39));

0

(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