restart;
diffeq := collect({diff(y(z),z,z)-(-2*z^5+4*z^3+z^4*a-2*z-a)*(diff(y(z),z))/((z-1)^3*(z+1)^3)-(-z^2*b+(-c-2*a)*z-d)*y(z)/((z-1)^3*(z+1)^3),y(0)=1,D(y)(0)=0},diff,factor);
a, b, c, d := 1, 1/3, 1/2, 3;
evalf[51](HeunD(a, b, c, d, 1/3));
myHeunD := diffeqtoproc(diffeq, y(z)):
myHeunD(1/3, 50);
myHeunD(1/3, 2000);
evalf[33](HeunD(a, b, c, d, 1/3));
myHeunD(-0.9, 9);
evalf(HeunD(a, b, c, d, -0.9));
evalf(HeunD(a, b, c, d, -0.99));
myHeunD(-0.99);
myHeunD(-0.99, 500);
random_diffeq := proc(ord, d)
uses RandomTools; local myrat;
myrat := 'rational'('denominator'=60);
{ add(Generate('polynom'(myrat, z,
'degree'=d)) * diff(y(z), [z$k]),
k=0..ord),
seq((D@@k)(y)(0) = Generate(myrat),
k=0..ord-1) };
end proc:
diffeq := random_diffeq(3, 2);
evaldiffeq(diffeq, y(z), (1+I)/5, 40);
Displaying the result using the Maple GUI is slow
%evaldiffeq(diffeq, y(z), 1/5, 1000000);
deq := (1+z^2)*diff(y(z),z,z)
+ 2*z*diff(y(z),z);
evaldiffeq(deq, y(z), 1/2, 20);
transition_matrix(deq, y(z), 1/2, 20);
evaldiffeq(deq, y(z), 5/4*(1+I), 20);
evaldiffeq(deq, y(z), [0,5/4*(1+I)], 20);
transition_matrix(deq, y(z),
[0, I+1, 2*I, I-1, 0], 20);
infolevel[gfun] := 2:
evaldiffeq(deq, y(z), [0,11/10], 20);
TTdSMApJNVJUQUJMRV9TQVZFLzI2NzY4NTY4WCwlKWFueXRoaW5nRzYiNiJbZ2whIiUhISEjJSIjIiMkIjYrKysrKysrKysrIiEjPyQiIiFGKyQiNUA7aCEzKzR3a2olRikkIjUrKysrKysrKyshKUYpRiY=TTdSMApJNVJUQUJMRV9TQVZFLzU3Mzg0MzI4WCwlKWFueXRoaW5nRzYiNiJbZ2whIiUhISEjJSIjIiMkIjYrKysrKysrKysrIiEjPyQiIiFGKyQiNllRS3oqZWBFZlRKRilGJ0Ym