DEtools
Heunsols
solutions of a Heun type second order linear ODE
Calling Sequence
Parameters
Description
Examples
Heunsols(LODE)
Heunsols(LODE,y(x))
Heunsols(coeff_list,x)
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
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
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;
GHE≔y''+γz+δz−1+εz−a⁢y'+α⁢β⁢z−q⁢yz⁢z−1⁢z−a=0
singularities( GHE );
regular=0,1,a,∞,irregular=∅
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−γ−δ
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;
CHE≔y''+γz+δz−1−ε⁢y'+−α⁢β+qz−1−qz⁢y=0
singularities( CHE );
regular=0,1,irregular=∞
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;
BHE≔y''+−2⁢z−β+1+αz⁢y'+γ−α−2−1+α⁢β+δ2⁢z⁢y=0
singularities( BHE );
regular=0,irregular=∞
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);
DHE≔y''−α⁢z2−2⁢z3+α+2⁢z⁢y'z+12⁢z−12+δ+2⁢α+γ⁢z+β⁢z2⁢yz−13⁢z+13
singularities( DHE );
regular=∅,irregular=−1,1
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;
THE≔y''+−3⁢z2−γ⁢y'+β⁢z+α−3⁢z⁢y=0
singularities( THE );
regular=∅,irregular=∞
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](..).
with(DEtools):
PDEtools[declare](y(x), prime=x);
y⁡x⁢will now be displayed as⁢y
derivatives with respect to⁢x⁢of functions of one variable will now be displayed with '
Kamke's example 2.108:
ode[108] := x*diff(y(x),x,x)+(x+a+b)*diff(y(x),x)+a*y(x);
ode108≔x⁢y''+x+a+b⁢y'+a⁢y
B[108] := Heunsols(ode[108], y(x));
B108≔HeunC⁡1,−1+b+a,−1,a2−b2,−a2+b2+12,x,x1−b−a⁢HeunC⁡1,1−b−a,−1,a2−b2,−a2+b2+12,x
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);
sol108≔y=_C1⁢HeunC⁡1,−1+b+a,−1,a2−b2,−a2+b2+12,x+_C2⁢x1−b−a⁢HeunC⁡1,1−b−a,−1,a2−b2,−a2+b2+12,x
The following test returns zero when sol is correct.
odetest(sol[108], ode[108]);
0
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);
Heunsols((18), y(x));
HeunB⁡a,b,12,32,x,x−a⁢HeunB⁡−a,b,12,32,x
diff(y(x), x,x) = (3/2+3*x^2)*diff(y(x),x)+(-a+5/2*x)*y(x);
y''=32+3⁢x2⁢y'+−a+5⁢x2⁢y
Heunsols((20), y(x));
HeunT⁡a,12,32,x,HeunT⁡a,−12,32,−x⁢ⅇx⁢2⁢x2+32
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+1x−1+1x−a⁢y'2+a⁢h−ν⁢ν+1⁢x⁢y4⁢x⁢x−1⁢x−a=0
Heunsols((22), y(x));
HeunG⁡a,−a⁢h4,−ν2,ν2+12,12,12,x,x⁢HeunG⁡a,−14⁢a⁢h+14⁢a+14,1+ν2,12−ν2,32,12,x
See Also
dpolyform
dsolve
Heun
hyperode
Download Help Document