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

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : DEtools/Heunsols

DEtools

  

Heunsols

  

solutions of a Heun type second order linear ODE

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Heunsols(LODE)

Heunsols(LODE,y(x))

Heunsols(coeff_list,x)

Parameters

LODE

-

homogeneous linear differential equation of second order

y(x)

-

any indeterminate function of one variable; required only when the ODE involves more than one function being differentiated

coeff_list

-

list of coefficients of the linear ODE

x

-

independent variable of the linear ODE

Description

• 

The Heunsols routine returns a basis of the space of solutions of a second order linear ODE of Heun type--that is, an equation of one of the following five forms: the general Heun equation, the Heun Confluent equation, the Biconfluent equation, the Doubleconfluent equation, or the Triconfluent equation.

with(DEtools,singularities);

singularities

(1)

PDEtools[declare](y(z), prime=z, quiet);

GHE := diff(y(z),z,z) + (gamma/z+delta/(z-1)+epsilon/(z-a))*diff(y(z),z) + (alpha*beta*z-q)/z/(z-1)/(z-a)*y(z) = 0;

GHEy''+γz+δz1+εzay'+αβzqyzz1za=0

(2)

singularities( GHE );

regular=0,1,a,,irregular=

(3)
  

The solution to this equation is implemented in Maple as the HeunG function. The sum of the exponents of the singularities of Heun's equation is equal to two and the parameter ε is expressed in terms of the other ones by

epsilon = alpha+beta+1 -gamma-delta;

ε=α+β+1γδ

(4)
  

The other four Heun equations are confluent cases, obtained from the general Heun equation above through confluence processes. These are: the Heun Confluent equation

CHE := diff(y(z),z,z) + (gamma/z+delta/(z-1)-epsilon)*diff(y(z),z) +((q-alpha*beta)/(z-1)-q/z)*y(z) = 0;

CHEy''+γz+δz1εy'+αβ+qz1qzy=0

(5)

singularities( CHE );

regular=0,1,irregular=

(6)
  

having for solution the HeunC function; the Biconfluent equation

BHE := diff(y(z),z,z) + (-2*z-beta+(1+alpha)/z)*diff(y(z),z) + (gamma-alpha-2 - 1/2*((1+alpha)*beta+delta)/z)*y(z) = 0;

BHEy''+2zβ+1+αzy'+γα21+αβ+δ2zy=0

(7)

singularities( BHE );

regular=0,irregular=

(8)
  

having for solution the HeunB function; the Doubleconfluent equation

DHE := diff(y(z),z,z)-(alpha+2*z+z^2*alpha-2*z^3)/(z+1)^2/(z-1)^2*diff(y(z),z)+(delta+(2*alpha+gamma)*z+beta*z^2)/(z-1)^3/(z+1)^3*y(z);

DHEy''αz22z3+α+2zy'z+12z12+δ+2α+γz+βz2yz13z+13

(9)

singularities( DHE );

regular=,irregular=−1,1

(10)
  

having for solution the HeunD function, and the Triconfluent equation

THE := diff(y(z),z,z) + (-gamma-3*z^2)*diff(y(z),z) + (alpha+z*beta-3*z)*y(z) = 0;

THEy''+3z2γy'+βz+α3zy=0

(11)

singularities( THE );

regular=,irregular=

(12)
  

having for solution the HeunT function.

  

The standard form of the four confluent equations is not uniform in the literature. The Maple choice of standard form follows [1], the classic reference for these equations, except for one particular: for the Doubleconfluent equation (DHE above) (and so the definition of HeunD) Maple uses the so-called Jaffe form, see [3], so that the two irregular singular points are symmetrically located at z=-1 and z=1.

• 

There are two general forms of calling sequences available for Heunsols.

  

The first argument LODE of the first calling sequence is a linear differential equation in diff or D form. The second argument y(x) is the function in the differential equation, and it is required only when the ODE involves more than one function being differentiated.

  

The last calling sequence has as its first argument the list of coefficients of a linear ODE, and the second argument is the independent variable. This input sequence may be convenient for programming with the Heunsols routine.

• 

This routine is part of the DEtools package, and so it can be used in the form Heunsols(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[Heunsols](..).

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 '

(13)

Kamke's example 2.108:

ode[108] := x*diff(y(x),x,x)+(x+a+b)*diff(y(x),x)+a*y(x);

ode108xy''+x+a+by'+ay

(14)

B[108] := Heunsols(ode[108], y(x));

B108HeunC1,1+b+a,−1,a2b2,a2+b2+12,x,x1baHeunC1,1ba,−1,a2b2,a2+b2+12,x

(15)

A solution to this ODE is built by using this solution basis and tested as follows.

sol[108] := y(x) = add( _C||i * B[108][i], i=1..2);

sol108y=_C1HeunC1,1+b+a,−1,a2b2,a2+b2+12,x+_C2x1baHeunC1,1ba,−1,a2b2,a2+b2+12,x

(16)

The following test returns zero when sol is correct.

odetest(sol[108], ode[108]);

0

(17)

diff(y(x),x,x) = (-a+b*x+2*x^2-1)/x*diff(y(x),x)+1/4*((6+4*a)*x+2*b*a+3+2*b)/x*y(x);

(18)

Heunsols((18), y(x));

HeunBa,b,12,32,x,xaHeunBa,b,12,32,x

(19)

diff(y(x), x,x) = (3/2+3*x^2)*diff(y(x),x)+(-a+5/2*x)*y(x);

y''=32+3x2y'+a+5x2y

(20)

Heunsols((20), y(x));

HeunTa,12,32,x,HeunTa,12,32,xⅇx2x2+32

(21)

This is Lame's equation in algebraic form

diff(y(x),`$`(x,2))+1/2*(1/x+1/(x-1)+1/(x-a))*diff(y(x),x)+1/4*(a*h-nu*(nu+1)*x)/x/(x-1)/(x-a)*y(x) = 0;

y''+1x+1x1+1xay'2+ahνν+1xy4xx1xa=0

(22)

Heunsols((22), y(x));

HeunGa,ah4,ν2,ν2+12,12,12,x,xHeunGa,14ah+14a+14,1+ν2,12ν2,32,12,x

(23)

See Also

DEtools

dpolyform

dsolve

Heun

hyperode