nm

11373 Reputation

20 Badges

13 years, 41 days

MaplePrimes Activity


These are questions asked by nm

This looks like regression in dsolve.

In Maple 2024.2, dsolve solves this with no problem and very quickly. 

In Maple 2025 it just hangs.

Any one could find why this is the case? infolevel does not show why. Below is Maple 2024.2 worksheet and Maple 2025 worksheet.  This is Maple 2024.2 NO HANG

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

ode:=diff(y(x),x)+((y(x)+1)*(y(x)-1)*(y(x)-2))/(x+1)=0;
IC:=y(1)=0;

diff(y(x), x)+(y(x)+1)*(y(x)-1)*(y(x)-2)/(x+1) = 0

y(1) = 0

DEtools:-odeadvisor(ode);

[_separable]

infolevel[dsolve]:=5;
dsolve([ode,IC])

5

 -> Computing symmetries using: way = 3

Methods for first order ODEs:

--- Trying classification methods ---

trying a quadrature

trying 1st order linear

trying Bernoulli

trying separable

<- separable successful

y(x) = RootOf(-2048+(x^6+6*x^5+15*x^4+20*x^3+15*x^2+6*x+257)*_Z^18+(-6*x^6-36*x^5-90*x^4-120*x^3-90*x^2-36*x-1542)*_Z^12+(9*x^6+54*x^5+135*x^4+180*x^3+135*x^2+54*x+3081)*_Z^6)^6-1

 

 

Download dsolve_2024_no_hang_april_20_2025.mw

This is Maple 2025. HANGed. Had to terminate it after 15 minutes. It seems to hang on resolving initial conditions. 

interface(version);

`Standard Worksheet Interface, Maple 2025.0, Linux, March 24 2025 Build ID 1909157`

ode:=diff(y(x),x)+((y(x)+1)*(y(x)-1)*(y(x)-2))/(x+1)=0;
IC:=y(1)=0;

diff(y(x), x)+(y(x)+1)*(y(x)-1)*(y(x)-2)/(x+1) = 0

y(1) = 0

DEtools:-odeadvisor(ode);

[_separable]

infolevel[dsolve]:=5;
dsolve([ode,IC])

5

 -> Computing symmetries using: way = 3

Methods for first order ODEs:

--- Trying classification methods ---

trying a quadrature

trying 1st order linear

trying Bernoulli

trying separable

<- separable successful

 

 

Download dsolve_2025_on_linux_hangs_april_20_2025.mw

I wonder what is the general view on this.

Maple tries hard to find analytical solutions by trying different algorithms. Which is very good. But the question is, should it also hang doing this? Should not there be a circuit breaker to prevent the hang?

I mean there must be a limited number of algorithms it tries. So at one point one would expect it will finish and return either no solution or the solution it found.

For this Abel ode   y'=x+y^3, which is known not to be solvable, Maple hangs on 

           > Step 2: calculating resultants to eliminate F and get candidates for 

I waited for almost one hour. Clearly this indicates a problem internally. Right?

There should be some internal checks to prevent this hang I would think.  I do not know where it actually hangs, since trace only shows the last step above.

It will good to find out the cause of the hang and add code to prevent this in a future version of Maple dsolve to make it more robust.

btw, using that another software, it returns instantly on this ode with no solution. May be the other software did not try as hard, but at least it did not hang :)

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.0, Linux, March 24 2025 Build ID 1909157`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1861 and is the same as the version installed in this computer, created 2025, April 10, 15:58 hours Pacific Time.`

restart;

infolevel[dsolve]:=5;
ode:=diff(y(x),x)=x+y(x)^3;
sol:=dsolve(ode,y(x))

5

diff(y(x), x) = x+y(x)^3

Methods for first order ODEs:

--- Trying classification methods ---

trying a quadrature

trying 1st order linear

trying Bernoulli

trying separable

trying inverse linear

trying homogeneous types:

trying Chini

Chini's absolute invariant is: (1/27)/x^5

differential order: 1; looking for linear symmetries

trying exact

trying Abel

The relative invariant s3 is: x

The first absolute invariant s5^3/s3^5 is: 1/x^5

The second absolute invariant s3*s7/s5^2 is: 0

...checking Abel class AIL (45)

...checking Abel class AIL (310)

...checking Abel class AIR (36)

...checking Abel class AIL (301)

...checking Abel class AIL (1000)

...checking Abel class AIL (42)

...checking Abel class AIL (185)

...checking Abel class AIA (by Halphen)

...checking Abel class AIL (205)

...checking Abel class AIA (147)

...checking Abel class AIL (581)

...checking Abel class AIL (200)

...checking Abel class AIL (257)

...checking Abel class AIL (400)

...checking Abel class AIA (515)

...checking Abel class AIR (1001)

...checking Abel class AIA (201)

...checking Abel class AIA (815)

Looking for potential symmetries

... changing x -> 1/x, trying again

Looking for potential symmetries

The third absolute invariant s5*s7/s3^4 is: 0

 ->         ======================================

 ->             ...checking Abel class D (by Appell)

 -> Step 1: checking for a disqualifying factor on F after evaluating x at a number

Trying x = 1

*** No disqualifying factor on F was found ***

 -> Step 2: calculating resultants to eliminate F and get candidates for C

 

 

Download why_hangs_dsolve_april_18_2025.mw

Do you think could be a bug in dsolve? 

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.0, Linux, March 24 2025 Build ID 1909157`

Physics:-Version()

`The "Physics Updates" version in the MapleCloud is 1861 and is the same as the version installed in this computer, created 2025, April 10, 15:58 hours Pacific Time.`

restart;

ode:=x^2+3*x*diff(y(x),x)=y(x)^3+2*y(x);
DEtools:-odeadvisor(ode);
dsolve([ode,y(1)=1],[Abel])

x^2+3*x*(diff(y(x), x)) = y(x)^3+2*y(x)

[_rational, _Abel]

Error, (in dsolve) numeric exception: division by zero

 

 

Download dsolve_division_by_zero_abel_april_16_2025.mw

If I do not tell it to use Abel, then dsolve does not give divison by zero.

Maple 2025 on Linux

I can't find the help page for Abel second kind, class B. 

Maple has help page for Abel second kind, class A and Abel second kind, class C. But not for class B. 

Here is an example of Abel second kind class B

ode:=(3*t*y(t)+y(t)^2)+(t^2+t*y(t))*diff(y(t),t)=0;
DEtools:-odeadvisor(ode)

I wanted to know the difference and the transformation used for class B to make it Abel first kind.

I googled and can't find it. Also local help skips over class B.

Is this documented somewhere else?

btw, find error on the help page for class A. Transformation used is wrong. Will leave this for another question.

I've reported this problem to Maple many years ago but still not fixed in Maple 2025.

Maple not able to verify its own solution on some series solutions using odetest.

Any one can suggest a workaround one can use other than odetest to verify ode solution when using series? Or have an idea why this happens?

The solution is correct but for some reason odetest returns FAIL 

Below is one example of many I have

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.0, Linux, March 24 2025 Build ID 1909157`

 

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1861 and is the same as the version installed in this computer, created 2025, April 10, 15:58 hours Pacific Time.`

ode:=x*diff(y(x),x$2)+y(x)=0;
IC:=y(0)=1;
maple_sol:=dsolve([ode,IC],y(x),'series');
odetest(maple_sol,[ode,IC],'series','point'=0);

x*(diff(diff(y(x), x), x))+y(x) = 0

y(0) = 1

y(x) = c__1*x*(series(1-(1/2)*x+(1/12)*x^2-(1/144)*x^3+(1/2880)*x^4-(1/86400)*x^5+O(x^6),x,6))+ln(x)*(series(-x+(1/2)*x^2-(1/12)*x^3+(1/144)*x^4-(1/2880)*x^5+O(x^6),x,6))+(series(1-(3/4)*x^2+(7/36)*x^3-(35/1728)*x^4+(101/86400)*x^5+O(x^6),x,6))

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

FAIL

 

 

Download series_unable_to_odetest_april_12_2025.mw

5 6 7 8 9 10 11 Last Page 7 of 200