nm

11558 Reputation

20 Badges

13 years, 135 days

MaplePrimes Activity


These are questions asked by nm

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.

Another very serious bug in Maple.

I have code that simplifies intitial conditions passed.

I found that simplify((D@@2)(y)(Pi) = 0) gives error 

Error, (in unknown) invalid input: diff received Pi, which is not valid for its 2nd argument

but Pi is constant. It works for any other values other than Pi.

This only happens when adding Physics:-Setup(assumingusesAssume = true):

Any idea why this happens?

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 1877 and is the same as the version installed in this computer, created 2025, July 11, 19:24 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.`

simplify((D@@2)(y)(Pi) = 0)

((D@@2)(y))(Pi) = 0

Physics:-Setup(assumingusesAssume = true):

simplify((D@@2)(y)(Pi) = 0)

Error, (in unknown) invalid input: diff received Pi, which is not valid for its 2nd argument

 

 

Download simplify_fail_when_adding_physics_sept_27_2025.mw

any idea what match fail on this example? is somethinbg wrong I am doing?

interface(version);

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

restart;

A:=2*y(3)^4+5;
match(A=k1*y(k2)^k3+k4,y,'la')

2*y(3)^4+5

false

patmatch(A,k1::anything*y(k2::anything)^(k3::anything)+k4::anything,'la');
la

true

[k1 = 2, k2 = 3, k3 = 4, k4 = 5]

Download why_match_fail_sept_21_2025.mw

Update:
I think match can only do it if the main "variable"   is a variable and not a "function". In this example y(.) is function, so that is why it failed to match. For example this works:

A:=2*y^3+4;
match(A=k1*y^k2+k3,y,'la')

And gives true, since "y" here is not a "function".

But this makes match not very useful to use for parsing. patmatch seems a little more practical to use.

I wanted to check that the input  has the pattern   symbol(symbol), which will match any of   y(x), or f(x) or A(B) and so on.

But using patmatch does not work. Using patmatch(h(z),y::symbol(x::symbol),'la');  or even patmatch(h(z),'y'::anything('x'::anything),'la'); all return false. I know I can do patmatch(h(z),func::function(name),'la'); and this returns true, but this matches h(z,r) and matches h(z,r,t) and matches h(z,r,t,u) and so on. 

I wanted to match only   SYMBOL(SYMBOL), i..e. one symbol followed by "(" followed by one symbol followed by closing ")"

For reference, this is what I am looking for 

I know I can use other ways in Maple to do this (may be typematch and and others). But wanted to see if patmatch works on this and why it is failing.

Can this be done using patmatch?

Maple 2025.1 unable to solve this ode. Sympy gives the following two solutions which Maples verifies are correct.

Any trick or option that can help dsolve find these solutions?
 

interface(version);

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

restart;

ode:=diff(y(x),x) = (1+cos(x)*sin(y(x)))*tan(y(x));

diff(y(x), x) = (1+cos(x)*sin(y(x)))*tan(y(x))

sol:=dsolve(ode);

sol_1:=y(x)=arcsin( 2*exp(x) / ( c__1 + sqrt(2)*exp(x) * sin(x+Pi/4) ) ) + Pi

y(x) = arcsin(2*exp(x)/(c__1+2^(1/2)*exp(x)*sin(x+(1/4)*Pi)))+Pi

odetest(sol_1,ode)

0

sol_2:=y(x)=arcsin( 2*exp(x) / ( c__1 - sqrt(2)*exp(x) * sin(x+Pi/4) ) ) ;

y(x) = arcsin(2*exp(x)/(c__1-2^(1/2)*exp(x)*sin(x+(1/4)*Pi)))

odetest(sol_2,ode)

0

 


 

Download How_to_find_solution_sept_20_2025.mw

update:

OK, found out how. Needed transformation u(x)=sin(y(x)). Maple probably did not have this in one of the things to try.

 

restart;

ode:=diff(y(x),x) = (1+cos(x)*sin(y(x)))*tan(y(x));
sol:=dsolve(ode);

diff(y(x), x) = (1+cos(x)*sin(y(x)))*tan(y(x))

tr:=y(x)=arcsin(u(x));
PDEtools:-dchange(tr,ode,[u(x)]):
dsolve(%);
sol:=y(x)=arcsin(rhs(%));
odetest(sol,ode)
 

y(x) = arcsin(u(x))

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

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

0


 

Download How_to_find_solution_sept_20_2025_V2.mw

 

 

2 3 4 5 6 7 8 Last Page 4 of 204