Maple 2025 Questions and Posts

These are Posts and Questions associated with the product, Maple 2025

The nice addition added to Maple 2022 in this  post made it clear that c__1 and _C1 are the same under the cover.

But then why in Maple 2025.1 it does not give this?

I found this when I was trying to find constants of integrations in solution of an ode, and used 

                 indets(sol,And(symbol, suffixed(_C, nonnegint))); 

Which did not find the constants of integration, since I happened to have typed the solution using c__1 and not _C1, but I thought they are the same.

Did something change or I still dont understand well the difference between c__1 and _C1 ?

Worksheet below.

interface(version);

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

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.`

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.`

restart;

sol:= y(x)=-cos(x)/2+sin(x)/2+c__1*exp(-x);
indets(sol,And(symbol, suffixed(_C, nonnegint)));

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

{}

sol:= y(x)=-cos(x)/2+sin(x)/2+c__1*exp(-x);
indets(sol,And(symbol, suffixed(c__, nonnegint)));

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

{c__1}

sol:= y(x)=-cos(x)/2+sin(x)/2+_C1*exp(-x);
indets(sol,And(symbol, suffixed(c__, nonnegint)));

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

{}

sol:= y(x)=-cos(x)/2+sin(x)/2+_C1*exp(-x);
indets(sol,And(symbol, suffixed(_C, nonnegint)));

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

{_C1}

c__1 - _C1

c__1-_C1

addressof(c__1);

36893628553737883996

addressof(_C1);

36893628553623934140

Download why_c1_and_C1_not_same_oct_19_2025.mw

Update

Found out why. This only works if one calls dsolve() first.  Here is an example

sol:=dsolve(diff(y(x),x)=x)

y(x) = (1/2)*x^2+c__1

c__1 - _C1;

0

indets(sol,And(symbol, suffixed(_C, nonnegint)));

{c__1}

restart;

my_sol:=y(x)=(x^2)/2+c__1;

y(x) = (1/2)*x^2+c__1

c__1 - _C1;

c__1-_C1

indets(my_sol,And(symbol, suffixed(_C, nonnegint)));

{}

 

 

Download why_c1_and_C1_not_same_oct_19_2025_V1.mw

But this is really confusing. c__1 before calling dsolve is not the same as c__1 after calling dsolve.

It will be better if Maple is changed such that these work the same all the time without having to call dsolve() first.

With the new ribbon interface (and startup-page disabled) I need to open a new worksheet to make opening files by the recent document menu work.

Can someone reproduce this?

Maple help does not have an example I could find showing the right way to call method, which is meant to be called only from the constructor the object, before the object is fully build.

Help page does not have such example.

This worksheet shows 3 possible ways to do this. All seem to work fine. I am sure one can come up with more variations.

The question is, which one of these calls is the "right" way?

The method called from the constructor in this example is called process_age().

If someone knows an official Maple documentation showing one example of calling  a proc from constructor that will also help.

Version 1

 

restart;

module person()
   option object;

   local _name::string;
   local _age::posint;

   export ModuleCopy::static := proc( _self, proto::person,
        name::string,age::posint,$)
        _name:=name;
        _age:=process_age(age);
   end proc;

   local process_age:=proc(age::posint,$)::posint;
         age+1;
   end proc;

   export get_age::static:=proc(_self,$)::posint;
          _age;
   end proc;
end module;

module person () local _name::string, _age::posint, process_age; option object; end module

o:=Object(person,"me",99);
o:-get_age()

module person () local _name::string, _age::posint, process_age; option object; end module

100

 

 

Version 2

 

restart;

module person()
   option object;

   local _name::string;
   local _age::posint;

   export ModuleCopy::static := proc( _self, proto::person,
        name::string,age::posint,$)
        _name:=name;
        _age:=process_age(age);
   end proc;

   local process_age::static:=proc(age::posint,$)::posint;
         age+1;
   end proc;

   export get_age::static:=proc(_self,$)::posint;
          _age;
   end proc;
end module;

module person () local _name::string, _age::posint; option object; end module

 

o:=Object(person,"me",99);
o:-get_age()

module person () local _name::string, _age::posint; option object; end module

100

 

 

Version 3

 

restart;

module person()
   option object;

   local _name::string;
   local _age::posint;

   export ModuleCopy::static := proc( _self, proto::person,
        name::string,age::posint,$)
        _name:=name;
        _age:=_self:-process_age(age);
   end proc;

   local process_age::static:=proc(_self,age::posint,$)::posint;
         age+1;
   end proc;

   export get_age::static:=proc(_self,$)::posint;
          _age;
   end proc;
end module;

module person () local _name::string, _age::posint; option object; end module

 

 

o:=Object(person,"me",99);
o:-get_age()

module person () local _name::string, _age::posint; option object; end module

100

 

 

Download correct_way_to_call_method_from_constructor_oct_17_2025.mw

Help page for structured types shows examples where they add delayed quotes around things. For example

So I started writing  'specfunc(anything,y)' instead of just  specfunc(anything,y). Only to find this breaks things when used inside a proc.

Here is an example.

restart;

#here it worksheetdir
IC:=y(x)=0;
indets(IC,'specfunc(anything,y)');      

y(x) = 0

{y(x)}

#inside proc, same code fail
foo:=proc(func::function(name),IC::`=`)
    local y::symbol:=op(0,func);
    indets(IC,'specfunc(anything,y)');
end proc:
 

foo(y(x),y(x)=0)

{}

 

 

Removing the quotes, it now works

restart;

#here it worksheetdir
IC:=y(x)=0;
indets(IC,'specfunc(anything,y)');      

y(x) = 0

{y(x)}

#inside proc, same code fail
foo:=proc(func::function(name),IC::`=`)
    local y::symbol:=op(0,func);
    indets(IC,specfunc(anything,y));
end proc:
 

foo(y(x),y(x)=0)

{y(x)}

 

 

Download delayed_vs_not_v2.mw

Download delayed_vs_not.mw

It took me 2 hrs debugging to find this, as when I copied code which was working in my worksheet to my function, it stopped working and did not know why.

So for now, I will not use quotes around specfunc or any others like the help page shows in its examples.

Is there a rule of thumb to follow here? The help page is very inconsistent. It shows some examples with quotes around and some without. Makes it hard to know why and when to add the delayed quotes. It seems arbitrary.

I gave up on this. I know how to find all normal derivatives such as diff(y(x),x) and diff(y(x),x$2) so on in expression. 

But now I want to find all those used for initial conditions, which do not have x in them. This makes it harder.

These have the form   D(y)(0) or (D@@2)(y)(1) and so on.

I tried indets and select and many other things, but can't figure how to tell Maple to find these in expression. Here is an example.

Given

expr:=y(3)+y(8)+5*(D@@2)(y)(4)+Pi+3*exp(2)+77*D(y)(0)+1/(D@@4)(y)(7);

I'd like to get list that has in it only the derivatives and nothing else, anywhere they show, which will be

{(D@@2)(y)(4) , D(y)(0) , (D@@4)(y)(7) }

some of the things I tried are

indets(expr,'satisfies'(s->op(0,s)=(D@@n)(y) and n::integer) );
indets(expr,'specfunc(anything, D)');
indets(expr,'specfunc(anything, (D@@anything)(y))');

And many more. I still struggle with structured types in Maple.

In the above, we can assume the dependent variable is always same which is the 'y' symbol.

I can do the above using patmatch. But I am trying to move away from that in Maple and use types.

For reference, this is what I do using another software. I am trying to do the same in Maple, but using structured types and not patmatch.

Iam sure there is a way to do this in Maple using structured types, but so far not able to figure the syntax needed.

Maple 2025.1

I use the tab key to control the formatting of lists. 

On my computer the tab key spacing under Maple 2025 is a little more than one inch which is too much. I have been through the Maple Help and cannot find how to change the tab key spacing.

Any help will be greatly appreciated.

My current account email is dead so I can only view answers here.

Hello everyone,

I am working on reproducing Fig. 12 (Isotherms) and Fig. 13 (Streamlines) from the attached paper, cacity_paper_work.pdf which deals with natural convection of GO–MgO/silicone oil hybrid nanofluid inside square and H-shaped cavities under a periodic magnetic field.

Equations (9–11) in the paper describe the steady-state 2D flow and heat transfer in terms of u(x,y), v(x,y), and θ(x,y). I have already set up the full PDE system, parameters, and boundary conditions (BCs) in Maple.

Now, iusing pdsolve(..., numeric, method=fd), 

Solve these equations for both square and H-shaped cavities using the given ICs and BCs, and

Generate Isotherm and Streamline plots (similar to Figs. 12 and 13 in the paper).

I have attached:

The PDF (showing equations and figures), and

My Maple worksheet containing the PDE definitions and parameters.

I would really appreciate guidance on:

Whether dsolve can be used effectively for this PDE system,

How to define the BCs correctly for the H-shaped cavity (especially the partially heated wall, θ=1 for 0.4 < y < 0.6), and

How to extract and plot the temperature (θ) and streamfunction (ψ) fields similar to the paper’s plots.

error_in_cavity_work.mw

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....

 

I am looking at the d'Almbert operator for the Minkowski metric in cartesian coordinates. When using the dAlmbertian command and converting to partial derivatives it gets the coefficients wrong, the negatives are not in the correct place based on the metric. But when I manually write the operator with the metric and derivative operator it returns the correct answer. Any thoughts on this? 

See attached, thank you. 

restart;

with(Physics):

Setup(coordinatesystems=cartesian,signature=`-+++`,metric=Minkowski)

 

`Systems of spacetime coordinates are:`*{X = (t, x, y, z)}

 

_______________________________________________________

 

`The Minkowski metric in coordinates `*[t, x, y, z]

 

`Signature: `(`- + + +`)

 

_______________________________________________________

 

Physics:-g_[mu, nu] = Matrix(%id = 36893488152289591652)

 

[coordinatesystems = {X}, metric = {(1, 1) = -1, (2, 2) = 1, (3, 3) = 1, (4, 4) = 1}, signature = `- + + +`]

(1)

g_[lineelement]

-Physics:-d_(t)^2+Physics:-d_(x)^2+Physics:-d_(y)^2+Physics:-d_(z)^2

(2)

CompactDisplay(phi(t,x,y,z))

phi(t, x, y, z)*`will now be displayed as`*phi

(3)

dAlembertian(phi(X))

Physics:-dAlembertian(phi(X), [X])

(4)

convert(%,diff)

-(diff(diff(phi(X), t), t))-(diff(diff(phi(X), x), x))-(diff(diff(phi(X), y), y))+diff(diff(phi(X), z), z)

(5)

g_[~mu,~nu]*d_[nu](d_[mu](phi(X)))

Physics:-g_[`~mu`, `~nu`]*Physics:-d_[mu](Physics:-d_[nu](phi(X), [X]), [X])

(6)

SumOverRepeatedIndices((6))

-(diff(diff(phi(X), t), t))+diff(diff(phi(X), x), x)+diff(diff(phi(X), y), y)+diff(diff(phi(X), z), z)

(7)
 

 

dAlmbert.mw

Is the absence of up/down arrows at the ends of the vertical scroll bar in Maple 2025's worksheet window a bug or by design?

These up/down arrows are helpful for small-increment navigation with the vertical scroll bar.  I hope Maple's designers restore the up/down arrows at the ends of the vertical scroll bar in Maple's worksheet window. These up/down arrows were present in Maple 2024 and earlier.

Any one could find why dsolve can't solve this first order ode when adding IC,  but Student:-ODEs:-ODESteps can?

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 1878 and is the same as the version installed in this computer, created 2025, September 28, 11:35 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.`

restart;

ode:=diff(m(t),t) = -k/m(t)^2;
ic:=m(0) = m__0;
DEtools:-odeadvisor(ode);

diff(m(t), t) = -k/m(t)^2

m(0) = m__0

[_quadrature]

sol:=dsolve(ode)

m(t) = (-3*k*t+c__1)^(1/3), m(t) = -(1/2)*(-3*k*t+c__1)^(1/3)-((1/2)*I)*3^(1/2)*(-3*k*t+c__1)^(1/3), m(t) = -(1/2)*(-3*k*t+c__1)^(1/3)+((1/2)*I)*3^(1/2)*(-3*k*t+c__1)^(1/3)

sol:=dsolve([ode,ic])

Student:-ODEs:-ODESteps([ode,ic])

"[[,,"Let's solve"],[,,[(&DifferentialD;)/(&DifferentialD;t) m(t)=-k/((m(t))^2),m(0)=`m__0`]],["&bullet;",,"Highest derivative means the order of the ODE is" 1],[,,(&DifferentialD;)/(&DifferentialD;t) m(t)],["&bullet;",,"Solve for the highest derivative"],[,,(&DifferentialD;)/(&DifferentialD;t) m(t)=-k/((m(t))^2)],["&bullet;",,"Separate variables"],[,,((&DifferentialD;)/(&DifferentialD;t) m(t)) (m(t))^2=-k],["&bullet;",,"Integrate both sides with respect to" t],[,,&int;((&DifferentialD;)/(&DifferentialD;t) m(t)) (m(t))^2 &DifferentialD;t=&int;-k &DifferentialD;t+`c__1`],["&bullet;",,"Evaluate integral"],[,,((m(t))^3)/3=-k t+`c__1`],["&bullet;",,"Solve for" m(t)],[,,{m(t)=(-3 k t+3 `c__1`)^(1/3),m(t)=-((-3 k t+3 `c__1`)^(1/3))/2-(&ImaginaryI; sqrt(3) (-3 k t+3 `c__1`)^(1/3))/2,m(t)=-((-3 k t+3 `c__1`)^(1/3))/2+(&ImaginaryI; sqrt(3) (-3 k t+3 `c__1`)^(1/3))/2}],["&bullet;",,"Simplify"],[,,{m(t)=(-3 k t+3 `c__1`)^(1/3),m(t)=((-3 k t+3 `c__1`)^(1/3) (-1+&ImaginaryI; sqrt(3)))/2,m(t)=-((-3 k t+3 `c__1`)^(1/3) (1+&ImaginaryI; sqrt(3)))/2}],["&bullet;",,"Redefine the integration constant(s)"],[,,{m(t)=(-3 k t+`c__1`)^(1/3),m(t)=((-3 k t+`c__1`)^(1/3) (-1+&ImaginaryI; sqrt(3)))/2,m(t)=-((-3 k t+`c__1`)^(1/3) (1+&ImaginaryI; sqrt(3)))/2}],["&bullet;",,"Use initial condition" m(0)=`m__0`],[,,`m__0`=`c__1`^(1/3)],["&bullet;",,"Solve for" `c__1`],[,,`c__1`=`m__0`^3],["&bullet;",,"Substitute" `c__1`=`m__0`^3 "into general solution and simplify"],[,,m(t)=(`m__0`^3-3 k t)^(1/3)],["&bullet;",,"Use initial condition" m(0)=`m__0`],[,,`m__0`=(`c__1`^(1/3) (-1+&ImaginaryI; sqrt(3)))/2],["&bullet;",,"Solve for" `c__1`],[,,`c__1`=`m__0`^3],["&bullet;",,"Substitute" `c__1`=`m__0`^3 "into general solution and simplify"],[,,m(t)=((`m__0`^3-3 k t)^(1/3) (-1+&ImaginaryI; sqrt(3)))/2],["&bullet;",,"Use initial condition" m(0)=`m__0`],[,,`m__0`=-(`c__1`^(1/3) (1+&ImaginaryI; sqrt(3)))/2],["&bullet;",,"Solve for" `c__1`],[,,`c__1`=`m__0`^3],["&bullet;",,"Substitute" `c__1`=`m__0`^3 "into general solution and simplify"],[,,m(t)=-((`m__0`^3-3 k t)^(1/3) (1+&ImaginaryI; sqrt(3)))/2],["&bullet;",,"Solutions to the IVP"],[,,[m(t)=(`m__0`^3-3 k t)^(1/3),m(t)=((`m__0`^3-3 k t)^(1/3) (-1+&ImaginaryI; sqrt(3)))/2,m(t)=-((`m__0`^3-3 k t)^(1/3) (1+&ImaginaryI; sqrt(3)))/2]]]"

Download why_dsolve_cant_solve_ode_oct_4_2025_maple_2025_1.mw

Given an ode with IC. When solution is explicit, Maple resolves the constant of integration as expected and returns solution with no c__1 in it.

But when asked for implicit solution, also with same IC, it now returns solution with c__1 still there.

Is this by design or a bug? Should not constant of integration be resolved using IC in both cases? If unable to solve for c__1 because solution is implicit, should it then not return solution all?

Does this happen in earlier versions of Maple?

 

restart;

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 1878 and is the same as the version installed in this computer, created 2025, September 28, 11:35 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.`

restart;

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

 

(D(y))(0) = 0

y(x) = 0, y(x) = -(1/9)*x^3

sol:=dsolve(ode,'implicit');

y(x) = 0, -x^2/((x^3+9*y(x))*(x^2+3*(-x*y(x))^(1/2)))+3*(-x*y(x))^(1/2)/((x^3+9*y(x))*(x^2+3*(-x*y(x))^(1/2)))-c__1 = 0, x^2/((x^3+9*y(x))*(-x^2+3*(-x*y(x))^(1/2)))+3*(-x*y(x))^(1/2)/((x^3+9*y(x))*(-x^2+3*(-x*y(x))^(1/2)))-c__1 = 0

#WHY did not resolve constant of integration here??
sol:=dsolve([ode,IC],'implicit');

x^2/((x^3+9*y(x))*(-x^2+3*(-x*y(x))^(1/2)))+3*(-x*y(x))^(1/2)/((x^3+9*y(x))*(-x^2+3*(-x*y(x))^(1/2)))-c__1 = 0, -x^2/((x^3+9*y(x))*(x^2+3*(-x*y(x))^(1/2)))+3*(-x*y(x))^(1/2)/((x^3+9*y(x))*(x^2+3*(-x*y(x))^(1/2)))-c__1 = 0, y(x) = 0

 


 

Download why_C_still_in_solution_maple_2025_1_oct_4_2025.mw

I looked at help for PDEtools:-Solve and do not see why this would fail. Any idea? Is this by design or could it be a bug?  solve() works on same input, so I expected Solve to also work on same input.

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 1878 and is the same as the version installed in this computer, created 2025, September 28, 11:35 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.`

restart;

eq:=D(y)(0)+1 = 0;
solve(eq,D(y)(0));

(D(y))(0)+1 = 0

-1

PDEtools:-Solve(eq,D(y)(0));

Error, (in PDEtools:-Solve) required an indication of the solving variables for the given system

 

 

Download why_PDEtools_Sovle_fail_oct_3_2025.mw

I found very strange behaviour of Maple 2025.1 on Linux.

Same exact code.  Calling timelimit(sol,ode) twice on two different solutions. If I do not add 

         Physics:-Setup(assumingusesAssume = true)

At the start, then both timelimits finish OK. But once  Physics:-Setup(assumingusesAssume = true) is added at the start, the second timelimit hangs.

I waited 2 hrs and nothing happens. Maple just freezes. Can't even stop the server from worksheet by clicking on the red button at lower left corner. 

This is using latest Physics.  Does anyone know why this happens? It seems due to some memory cache issue?

Make sure to save all your work before trying this just in case you have to kill Maple application.

The strange thing, unable to stop the server by clicking on red button or clicking on RESTART KERNEL icon at top, or even clicking on the debuger icon at lower left corner. Only way was to kill Maple itself from Linux command line.

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 1878 and is the same as the version installed in this computer, created 2025, September 28, 11:35 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.`

restart;

Example 1. Not using Physics:-Setup(assumingusesAssume = true): gives NO hang

 

sol_1:=y(x) = 1/2*(3*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2
+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-\
8*3^(1/2))^(2/3))+12*_C2*3^(1/2)+12*3^(1/2)*x+36*I*_C2+36*I*x+6*_Z))^3*3^(1/2)+
9*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*
3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^
(2/3))+12*_C2*3^(1/2)+12*3^(1/2)*x+36*I*_C2+36*I*x+6*_Z))^2+3*3^(1/2)*tan(
RootOf(2*3^(1/2)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(1/3)+2)-3^(1/2
)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(2/3)-2*(3*3^(1/2)*tan(_Z)*sec
(_Z)^2-8+9*sec(_Z)^2)^(1/3)+4)+36*I*_C2+36*I*x+12*_C2*3^(1/2)+12*3^(1/2)*x+6*_Z
))+1)^(1/3)*(I*3^(1/2)-1):
ode:=diff(y(x),x)-y(x)^3 = 8:
timelimit(30,odetest(sol_1,ode));

Error, (in simplify/ln/relations) time expired

 

sol_2:=y(x) = -1/2*(3*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)
*sec(_Z)^2-8*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^
2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2
-8*3^(1/2))^(2/3))+12*_C3*3^(1/2)+12*3^(1/2)*x-36*I*_C3-36*I*x+6*_Z))^3*3^(1/2)
+9*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8
*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^
(2/3))+12*_C3*3^(1/2)+12*3^(1/2)*x-36*I*_C3-36*I*x+6*_Z))^2+3*3^(1/2)*tan(
RootOf(2*3^(1/2)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(1/3)+2)-3^(1/2
)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(2/3)-2*(3*3^(1/2)*tan(_Z)*sec
(_Z)^2-8+9*sec(_Z)^2)^(1/3)+4)-36*I*_C3-36*I*x+12*_C3*3^(1/2)+12*3^(1/2)*x+6*_Z
))+1)^(1/3)*(1+I*3^(1/2)):
timelimit(30,odetest(sol_2,ode));

Error, (in collect) time expired

 

Example 2. using Physics:-Setup(assumingusesAssume = true): second timelimit always hangs

 

restart;

Physics:-Setup(assumingusesAssume = true):

sol_1:=y(x) = 1/2*(3*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2
+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-\
8*3^(1/2))^(2/3))+12*_C2*3^(1/2)+12*3^(1/2)*x+36*I*_C2+36*I*x+6*_Z))^3*3^(1/2)+
9*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*
3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^
(2/3))+12*_C2*3^(1/2)+12*3^(1/2)*x+36*I*_C2+36*I*x+6*_Z))^2+3*3^(1/2)*tan(
RootOf(2*3^(1/2)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(1/3)+2)-3^(1/2
)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(2/3)-2*(3*3^(1/2)*tan(_Z)*sec
(_Z)^2-8+9*sec(_Z)^2)^(1/3)+4)+36*I*_C2+36*I*x+12*_C2*3^(1/2)+12*3^(1/2)*x+6*_Z
))+1)^(1/3)*(I*3^(1/2)-1):
ode:=diff(y(x),x)-y(x)^3 = 8:
timelimit(30,odetest(sol_1,ode));

Error, (in expand) time expired

 

#this below will now hang

sol_2:=y(x) = -1/2*(3*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)
*sec(_Z)^2-8*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^
2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2
-8*3^(1/2))^(2/3))+12*_C3*3^(1/2)+12*3^(1/2)*x-36*I*_C3-36*I*x+6*_Z))^3*3^(1/2)
+9*tan(RootOf(2*3^(1/2)*ln(2*3^(1/6)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8
*3^(1/2))^(1/3))-3^(1/2)*ln(4*3^(1/3)-2*3^(1/6)*(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*
sec(_Z)^2-8*3^(1/2))^(1/3)+(9*tan(_Z)*sec(_Z)^2+9*3^(1/2)*sec(_Z)^2-8*3^(1/2))^
(2/3))+12*_C3*3^(1/2)+12*3^(1/2)*x-36*I*_C3-36*I*x+6*_Z))^2+3*3^(1/2)*tan(
RootOf(2*3^(1/2)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(1/3)+2)-3^(1/2
)*ln((3*3^(1/2)*tan(_Z)*sec(_Z)^2-8+9*sec(_Z)^2)^(2/3)-2*(3*3^(1/2)*tan(_Z)*sec
(_Z)^2-8+9*sec(_Z)^2)^(1/3)+4)-36*I*_C3-36*I*x+12*_C3*3^(1/2)+12*3^(1/2)*x+6*_Z
))+1)^(1/3)*(1+I*3^(1/2)):
timelimit(30,odetest(sol_2,ode));


Download hangs_timelimit_with_physics_maple_2025_1_oct_2_2025.mw

Could someone try to reproduce this on their Maple? If so, I will send bug report.

Hi! how I install Maple 2025 and Mathematica in my laptop?
Provide me Complete Set-up.

1 2 3 4 5 6 7 Last Page 2 of 12