nm

11643 Reputation

20 Badges

13 years, 144 days

MaplePrimes Activity


These are replies submitted by nm

@ecterrab 

Until then, you will be able to just add "`assuming/restore_previous_state`" to the catch branch, as in "try timelimit(...) catch: `assuming/restore_previous_state` end try". 

I wanted to try the above while waiting for official fix in next SupportTools.

So I tried what you suggested, but I see assumptions still stuck to variables after the timelimit(). I expected no assumption to be on these variables.

I must be not typing something right. I made sure to copy exactly what you had.

Can you please provide actual worksheet with this working? Here is my worksheet. I use worksheet mode, not document mde.

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 1873 and is the same as the version installed in this computer, created 2025, May 18, 21:44 hours Pacific Time.`

SupportTools:-Version();

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

restart

 

#this shows no assumptions on y(x);
ode:=y(x)*sqrt(1 + diff(y(x), x)^2) - a*y(x)*diff(y(x), x) - a*x = 0:
sol:=-_C4^2 + (-y(x)*sqrt(_C4^2/y(x)^2) + a*x)^2/a^2 + y(x)^2 = 0;
hasassumptions(y(x));
getassumptions(y(x));

-_C4^2+(-y(x)*(_C4^2/y(x)^2)^(1/2)+a*x)^2/a^2+y(x)^2 = 0

false

{}

#now use a command that uses assuming
Physics:-Setup('assumingusesAssume'=true):
try
    timelimit(10,(odetest(sol,ode,y(x)) assuming integer)):
catch:
   print("cought exception, will now call restore state...");
  `assuming/restore_previous_state`;  #is this correct syntax?
end try;

"cought exception, will now call restore state..."

`assuming/restore_previous_state`

hasassumptions(y(x));
getassumptions(y(x));

true

{a::integer, x::integer, (-(-csgn(1/y(x))*a*x+(csgn(1/y(x))^2*a^2*x^2+y(x)^2*a^4+a^4*x^2-y(x)^2*a^2-a^2*x^2)^(1/2))/(a^2-1)+x)::0, ((csgn(1/y(x))*a*x-(csgn(1/y(x))^2*a^2*x^2+y(x)^2*a^4+a^4*x^2-y(x)^2*a^2-a^2*x^2)^(1/2))/(a^2-1)-x)::0, ((csgn(1/y(x))*a*x+(csgn(1/y(x))^2*a^2*x^2+y(x)^2*a^4+a^4*x^2-y(x)^2*a^2-a^2*x^2)^(1/2))/(a^2-1)-x)::0, ((csgn(1/y(x))*a*x+(csgn(1/y(x))^2*a^2*x^2+y(x)^2*a^4+a^4*x^2-y(x)^2*a^2-a^2*x^2)^(1/2))/(a^2-1)+x)::0}

 

 

Download how_to_use_restore_june_3_2025.mw

@aroche 

Thanks for the quick fix. I am running more tests now using V 25...

@aroche 

Thanks for V 23. I did more tests, but I am afraid the bug is still here. Please see worksheet below 

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 1873 and is the same as the version installed in this computer, created 2025, May 18, 21:44 hours Pacific Time.`

SupportTools:-Version();

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

restart;

sol:=y(x) = -(LambertW(-exp(-1/2*x))+1)^2+x;
ode:=diff(y(x),x) = (x-y(x))^(1/2);
IC:=y(2) = 2;

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

diff(y(x), x) = (x-y(x))^(1/2)

y(2) = 2

odetest(sol,[ode, IC]) assuming x < 1;

Error, (in AndProp:-UseCache) too many levels of recursion

odetest(sol,[ode, IC]);

[-csgn(LambertW(-exp(-(1/2)*x))+1)*LambertW(-exp(-(1/2)*x))-csgn(LambertW(-exp(-(1/2)*x))+1)+LambertW(-exp(-(1/2)*x))+1, 0]

 

 

Download AndProb_still_problem_june_3_2025.mw

When going back to V 21, the problem goes away:

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 1873 and is the same as the version installed in this computer, created 2025, May 18, 21:44 hours Pacific Time.`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 23. The version installed in this computer is 21 created May 28, 2025, 23:36 hours Eastern Time, found in the directory /home/me/maple/toolbox/2025/Maple Customer Support Updates/lib/Maple`

restart;

sol:=y(x) = -(LambertW(-exp(-1/2*x))+1)^2+x;
ode:=diff(y(x),x) = (x-y(x))^(1/2);
IC:=y(2) = 2;

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

diff(y(x), x) = (x-y(x))^(1/2)

y(2) = 2

odetest(sol,[ode, IC]) assuming x < 1;

[-csgn(LambertW(-exp(-(1/2)*x))+1)*LambertW(-exp(-(1/2)*x))-csgn(LambertW(-exp(-(1/2)*x))+1)+LambertW(-exp(-(1/2)*x))+1, 0]

odetest(sol,[ode, IC]);

[-csgn(LambertW(-exp(-(1/2)*x))+1)*LambertW(-exp(-(1/2)*x))-csgn(LambertW(-exp(-(1/2)*x))+1)+LambertW(-exp(-(1/2)*x))+1, 0]

 

 

Download AndProb_no_problem_june_3_2025_V21.mw

@MichalKvasnicka 

I understand I can remove the tag. But someone always seems to enjoy adding "duplicate question" tag to many of my questions. I have no idea why.

If question is duplicate, then say where is the duplicate and why it is . This is what happens at stackexchange. 

But doing it like this, while hiding away, I find is very rude and very childish behavior. No explanation and no word given. 

I found a new bug in V 22 which was just released 2-3 hrs ago. And someone already said this is duplicate.

who tagged this as duplicate question? Duplicate of what? THis is new bug in V 22 just found now. How could this be duplicate?

It is very rude to tag question as duplicate like this with no explanation.

@aroche 

Thanks. But it seems this fix introduced a new bug? 

Please see my new question.  This happens only after I updated to V 22.

@ecterrab 

Thanks for giving another way to reproduce the problem.  It took me 20 hrs just to  be able to figure the cause and reproduce this as an example and so that is what I gave.

I do not know all the internals of Maple and how all its parts interact with each others to simplify the example myself or give other variations.

All what I know, from user level, is that solve started to hang after using odetest and using Physics:-Setup('assumingusesAssume' . 

Hopefully your other way to reproduce this problems will make it easier to find the cause/fix. Meanwhile, I removed  my use of Physics:-Setup('assumingusesAssume' for now and the hangs now are gone.

there is no easy solution for this. Maple does not have "full_simplify()" command. You could try to make your own custom command, which tries different combinations of commands and sorts the result and returns the "smallest" one.

If you type this in google you might get some posts related to this.

                      full_simplify() site:mapleprimes.com

 

 

 

 

 

@WD0HHU 

V2 is supposed to work. i.e. does not hang. I said

This worksheet below shows that by removing Physics:-Setup('assumingusesAssume' = false): now solve works OK

It is the first worksheet which shows the hang.

in maple 2025, do FILE->OPTIONS and click on the interface tab and select "open worksheet in NEW TAB"

@Rouben Rostamian  

fyi, I think the assumption should be assuming x >= 0 etc.. and not assuming x > 0 etc.. because the IC is at 0 so domain should include zero.

Same answer will result.

Another observation: This is not easy to do. How is Maple dsolve (or any other program) supposed to know to use assuming x >= 0, x <= 2*Pi to simplify the solution? (or any other range).

Without using this assumption, it does not work (i.e. hard to resolve C1).

So may be this is why dsolve left the constant there. Even though I still think the final solution should not have constant of integration in it. 

@Carl Love 

It is not Riccati.  Riccati has this short form  y'=q(x)+y^2, where q here must be function of x and not just a constant or parameter.

Wikipedia writes q0(x)  to indicate this but may be it should also made it clear that q0 must depend on x.  Not all the q's have to be function of x, but at least one of them must.

The ode  y'=3+y^2 is quadrature (because it solved by just integration), but y'=x+y^2 is riccati.

Another example

And another

your ode is not Riccati. This is basic quadrature.

restart;

gamma0 := -a^2;
de := diff(chi(x), x) = chi(x)^2 + gamma0;
DEtools:-odeadvisor(de);

-a^2

diff(chi(x), x) = chi(x)^2-a^2

[_quadrature]

sol := dsolve(de, chi(x));

chi(x) = -a*(1+exp(2*c__1*a+2*x*a))/(exp(2*c__1*a+2*x*a)-1)

 

 

Download dsolve_may_19_2025.mw

@delvin 

I want to define the expression diff(H(xi), xi, xi)/H(xi)^2 as a new variable

Then why you said in your question you wanted the coefficient of the above to be zero?

Ok,, try this. if you want to eliminate H(xi), then try solving the ode  H'/H^2=Z for H and then use dchange to chnage the dependent variable H to Z.

The new ode will be in term of Z(xi) only and no H(xi) in it. 

Again, do not know if this is what you meant. If not, then may be someone else can better guess than I am able to.

restart;

df := diff(H(xi), xi, xi)= 2*diff(H(xi), xi)^2/H(xi) + A *H(xi)^2 + B*(diff(H(xi), xi)/H(xi))^2 + C*diff(H(xi), xi):
eq1:= -216*a1*(2*diff(H(xi), xi)^2/H(xi))+2*a3*(2*diff(H(xi), xi)^2/H(xi) + A + B*diff(H(xi), xi)^2/H(xi)^2 + C*diff(H(xi), xi))*c^2/H(xi)^2+4*diff(H(xi), xi)^3/H(xi)^2+5*diff(H(xi), xi)^2/H(xi)^3+7*diff(H(xi), xi)^3/H(xi)^5:         
eq2 := expand(subs(df, eq1));
 

-432*a1*(diff(H(xi), xi))^2/H(xi)+4*a3*c^2*(diff(H(xi), xi))^2/H(xi)^3+2*a3*c^2*A/H(xi)^2+2*a3*c^2*B*(diff(H(xi), xi))^2/H(xi)^4+2*a3*c^2*C*(diff(H(xi), xi))/H(xi)^2+4*(diff(H(xi), xi))^3/H(xi)^2+5*(diff(H(xi), xi))^2/H(xi)^3+7*(diff(H(xi), xi))^3/H(xi)^5

ode:=diff(H(xi), xi)/H(xi)^2=Z(xi);

(diff(H(xi), xi))/H(xi)^2 = Z(xi)

sol:=dsolve(ode);

H(xi) = 1/(Int(-Z(xi), xi)+c__1)

PDEtools:-dchange({sol},eq2,[Z(xi)])

-432*a1*Z(xi)^2/(Int(-Z(xi), xi)+c__1)^3+4*a3*c^2*Z(xi)^2/(Int(-Z(xi), xi)+c__1)+2*a3*c^2*(Int(-Z(xi), xi)+c__1)^2*A+2*a3*c^2*B*Z(xi)^2+2*a3*c^2*C*Z(xi)+4*Z(xi)^3/(Int(-Z(xi), xi)+c__1)^4+5*Z(xi)^2/(Int(-Z(xi), xi)+c__1)+7*Z(xi)^3/(Int(-Z(xi), xi)+c__1)

 

 

Download repl_may_19_2025_V2.mw

@delvin 

 I want to remove the derivatives in eq 2 and the new function will not have any derivative terms at all.

If this is what you want, then why not just set diff(H(xi), xi) to zero in each term that has it? Looking at your eq2, this will leave only 2*a3*c^2*A/H(xi)^2 term.

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