# Question:how to use odetest to very series solution with expansion point at infinity?

## Question:how to use odetest to very series solution with expansion point at infinity?

Maple 2022

I do not remember now if this was asked before. Doing search here is hard.

But I am trying this now on 2022.1 and this gives FAIL.

What is the correct syntax to use odetest to verify solution to ode using series method with expansion around infinity? Why do I get FAIL here?

 > interface(version)

 > Physics:-Version()

 > restart;
 > ode:=x^3*diff(y(x),x\$2)+x^2*diff(y(x),x)+y(x)=0; sol:=dsolve(ode,y(x),'series',x=infinity); odetest(sol,ode,'series','point'=infinity)

Warning, unable to compute series necessary to test the given solution

 >

Update

I've testsed methods given below on 6 random ode's using Maple odetest, VV method and Axel method. THis is the result obtained using Maple 2022.1

odetest was able to verify the solution zero out of 6 times.
VV method was able to verify the solution 3 out of 6 times.
Axel method was able to verify the solution 5 out of 6 times.

So based on this small test, Axel method seems to do the best. Attached worksheet. I will use this method to verify my series solution to ode's instead of Maple's odetest but will use Maple's odetest for non-series method solutions.

 > interface(version);

 > Physics:-Version();

 > restart;

Example 1  Regular singular point. Complex roots

 > Order:=6; ode:=sin(x)*diff(y(x),x\$2)+cos(x)*diff(y(x),x)+1/x*y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0)

VV method

 > odetest(sol,ode): asympt(%,x);

odetest method

 > odetest(sol,ode,'series','point'=0);

Axel method

 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): convert(%,polynom);

Example 2 Regular singular point. Dierence is integer

 > Order:=6; ode:=sin(x)*diff(y(x),x\$2)+cos(x)*y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0):

VV method

 > odetest(sol,ode): asympt(%,x); convert(%,polynom);

odetest method

 > odetest(sol,ode,'series','point'=0);

 Axel method
 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): convert(%,polynom);

Example 3 Regular singular point. Repeated root

 > Order:=6; ode:=(exp(x)-1)*diff(y(x),x\$2)+exp(x)*diff(y(x),x)+y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0):

VV method

 > odetest(sol,ode): asympt(%,x): convert(%,polynom);

odetest method

 > odetest(sol,ode,'series','point'=0);

 Axel method
 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): convert(%,polynom);

Example 4 Regular singular point. Repeated root

 > Order:=6;   ode:=(exp(x)-1)*diff(y(x),x\$2)+exp(x)*diff(y(x),x)+y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0):

VV method

 > odetest(sol,ode): asympt(%,x): convert(%,polynom);

odetest method

 > odetest(sol,ode,'series','point'=0);

 Axel method
 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): convert(%,polynom);

Example 5 . Regular singular point. Complex roots

 > Order:=6;   ode:=x^3*diff(y(x),x\$2)+sin(x^3)*diff(y(x),x)+x*y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0):

VV method

 > odetest(sol,ode): asympt(%,x); #convert(%,polynom);

odetest method

 > odetest(sol,ode,'series','point'=0);

 Axel method
 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): #convert(%,polynom);

Error, (in MultiSeries:-multiseries) need to determine the sign of -I*3^(1/2)

Example 6 . Regular singular point. Complex roots

 > Order:=6;   ode:=x^2*diff(y(x),x\$2)+x*diff(y(x),x)+(x+1)*y(x)=0; sol:=dsolve(ode,y(x),type='series',x=0):

VV method

 > odetest(sol,ode): asympt(%,x); #convert(%,polynom);

odetest method

 > odetest(sol,ode,'series','point'=0);

 Axel method
 > rhs(sol): Y:= unapply(%, x): eval(lhs(ode), y=Y): MultiSeries:-asympt(%, x): convert(%,polynom);

 >
 >