nm

11643 Reputation

20 Badges

13 years, 144 days

MaplePrimes Activity


These are questions asked by nm

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.

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.

3 4 5 6 7 8 9 Last Page 5 of 205