Question: weakness in odetest?

I have more examples like this. Sometimes odetest give false negative result. dsolve solution is actually correct, but odetest does not return all zeros as result of its checking.

Example 1

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 hours Pacific Time.`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

ode:=x^2*diff(y(x),x)+sin(2*y(x)) = 1;
IC:=y(infinity)=11*Pi/4;
maple_sol:=dsolve([ode,IC]);
odetest(maple_sol,[ode,IC])

x^2*(diff(y(x), x))+sin(2*y(x)) = 1

y(infinity) = (11/4)*Pi

y(x) = -arctan((x+2)/(x-2))+3*Pi

[0, undefined]

#but the IC above should not be undefined. This belows shows it is correct.
limit(maple_sol,x=infinity);

limit(y(x), x = infinity) = (11/4)*Pi

#which is what the IC is.


Download odetest_problem_oct_8_2025.mw

Would you agree that odetest in the above should have returned [0,0] instead? Should this result be considered a bug?

Example 2

More examples where odetest gives false negative. The solution by dsolve is correct but odetest says IC is off but it is not. 

 

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

ode:=x^2*diff(y(x),x)+cos(2*y(x))=1;
IC:=y(infinity)=10/3*Pi;
sol:=dsolve([ode,IC]);

x^2*(diff(y(x), x))+cos(2*y(x)) = 1

y(infinity) = (10/3)*Pi

y(x) = (7/2)*Pi-arctan((1/3)*(3^(1/2)*x+6)/x)

odetest(sol,[ode,IC]);

[0, -(1/6)*Pi]

limit(sol,x=infinity);

limit(y(x), x = infinity) = (10/3)*Pi

 


 

Download odetest_problem_oct_11_2025.mw

Example 3

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

ode:=x^2*diff(y(x),x)*cos(y(x))+1=0;
IC:=y(infinity)=16/3*Pi;

x^2*(diff(y(x), x))*cos(y(x))+1 = 0

y(infinity) = (16/3)*Pi

sol:=dsolve([ode,IC]);

y(x) = arcsin((1/2)*(3^(1/2)*x-2)/x)+5*Pi

odetest(sol,[ode,IC])

[0, (1/3)*Pi]

limit(sol,x=infinity)

limit(y(x), x = infinity) = (16/3)*Pi

 

 

Download odetest_problem_oct_11_2025_V2.mw

Example 4

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

ode:=diff(y(x),x)*sin(x)-y(x)*cos(x)=-sin(x)^2/x^2;
IC:=y(infinity)=0;

(diff(y(x), x))*sin(x)-y(x)*cos(x) = -sin(x)^2/x^2

y(infinity) = 0

sol:=dsolve([ode,IC]);

y(x) = sin(x)/x

odetest(sol,[ode,IC]);

[0, undefined]

limit(sol,x=infinity)

limit(y(x), x = infinity) = 0

 

 

Download odetest_problem_oct_11_2025_V3.mw

Example 5


 

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

ode:=x*y(x)^2+exp(x)*diff(y(x),x)=0;
IC:=y(infinity)=1/2;
sol:=dsolve([ode,IC]);

x*y(x)^2+exp(x)*(diff(y(x), x)) = 0

y(infinity) = 1/2

y(x) = -1/(x*exp(-x)+exp(-x)-2)

odetest(sol,[ode,IC])

[0, undefined]

limit(sol,x=infinity)

limit(y(x), x = infinity) = 1/2

 

 

Download odetest_problem_oct_11_2025_V4.mw

Will add more examples as I find them....

 

Please Wait...