nm

9779 Reputation

19 Badges

12 years, 65 days

MaplePrimes Activity


These are replies submitted by nm

I see these all the time. Not just in Maple 2024.1 but in all other Maple versions. sometimes the front end freezes and do not refresh. And never ever try to copy large data from output in the worksheet. This will definitely cause hangs. Java does not handle this well.

Actually as we are speaking now, I just got the GUI stop responding. Maple 2024.1 on wndows 10. I am running some of my functions, and now the worksheet froze. I cant even close the worksheet, all of Maple hanged. Here is movie

If this is first time you see such issues in Maple, it means you have not been using Maple for long time :)

Only way, was to kill all of Maple (not just mserver.exe).

I miss the old Maple software, before Java infected it.

Update:

This seems to happen when large expressions is being printed on screen.

I am able now to reproduce this all the time when I turn printing on in my program, which causes print() to become active and large stuff is printed on the screen.

It could be flushing to worksheet issue. I do not know.

Since I am now able to reproduce this all the time, this is from task manager showing Maple while the front end is hanging as we speak.  Notice that the memory is not changing on the front end, but CPU is running high all time. This indicate it went into a LOOP somewhere and can't get out of it.

I had to kill Maple again in order to recover from this as not possible to do anything else when this happens.

 

 

@C_R 

I think these with _G stuff in them are places holder for when Maple is unable to find specific explicit type.odeadvisor basically says it does not know what type/class this ode is, or it has no concrete name.

Here is an example

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

[`y=_G(x,y')`]

And if we try to solve it using dsolve, no solution is returned.

But just because odeadvisor returned type with _G it it, does not always means dsolve can't solve it. It just means there is no other specific type name to give it, so generic one _G is given. Here is another example

ode:=diff(y(x),x) = (2*x+2+x^3*y(x))/(ln(y(x))+2*x-1)*y(x)/(x+1);
DEtools:-odeadvisor(ode)

[`x=_G(y,y')`]

But this one dsolve is able to solve.

dsolve(ode)

So _G is used when there is no designated name for the ode. It is like a place holder. If odeadvisor find specific type name for the ode, it will not also use _G() name for the same ode.

@Axel Vogt 

But how can one install Maple 2024 again on same PC when there is already one installed? I only have one PC. Will not the installer detect that Maple 2024 is already installed and not install it again?

Even if there is a way (may be ask it to use different folder), Is one even allowed to install two Maple's of same version on same PC? May be I have to try to find out. But this is all too much work. Also I am afraid I might end up breaking current installation and end up with no Maple to use and have to start all over again.

Another software I use, simply asks when installing new update/version if they want to keep the earlier one or not. This is for point/minor releases as well for Major releases. i.e. each installation is FULL installation,. Even for mior point releases.

It will be nice if Maple does the same. I do not see what technical reason prevents doing so. Download size is no issue these days with very fast internet everywhere.

I know for Major releases one can have them on same PC side by side, but I am asking for the minor/point releases like 2024.1.

 

@C_R 

why Maple did not list the type dAlembert. Maybe it is done on purpose to suggest/advise most suitable methods.

My understanding it checks all possible types.  For first order ode, these are given by

[`odeadv/1st_order/class`[0]]

Which gives

[`odeadv/quadrature`, 
`odeadv/separable`, 
`odeadv/linear/A`, 
`odeadv/linear/B`, 
`odeadv/linear/C`, 
`odeadv/linear`, 
`odeadv/homogeneous_A`, 
`odeadv/homogeneous_D`, 
`odeadv/homogeneous_G`, 
`odeadv/homogeneous_C`, 
`odeadv/homogeneous_B`, 
`odeadv/exp_sym`, 
`odeadv/lin_sym`, 
`odeadv/exact`,
 `odeadv/rational`, 
`odeadv/Clairaut`, 
`odeadv/Bernoulli`, 
`odeadv/sym_pat/[F(x),G(y)]`, 
`odeadv/sym_pat/[F(x)*G(y),0]`, 
`odeadv/sym_pat/[F(x),G(x)]`, 
`odeadv/sym_pat/[F(x)+G(y),0]`, 
`odeadv/RiccatiS`, 
`odeadv/Riccati`, 
`odeadv/Abel`, 
`odeadv/Abel2/A`, 
`odeadv/Abel2/B`, 
`odeadv/Abel2/C`, 
`odeadv/dAlembert`, 
`odeadv/Chini`, 
`odeadv/sym_implicit`, 
`odeadv/pot_sym`, 
`odeadv/sym_pat/[F(x),G(x)*y+H(x)]`, 
`odeadv/y=_g(y')`, 
`odeadv/x=_g(y')`, 
`odeadv/0=_G(x,y')`, 
`odeadv/0=_G(y,y')`, 
`odeadv/y=_G(x,y')`, 
`odeadv/x=_G(y,y')`]

The fact that odeadvisor did not say that this ode is dAlembert also means it failed to detect it is? Because it is supposed to check each of the above types one by one and returns the ones that check true.

@C_R 

I cannot match Maples definition

It is dAlembert:

In Maple code

restart;

ode:=diff(y(x), x) = (3*x - y(x) + 1)/(3*y(x) - x + 5);
eval(ode,diff(y(x),x)=_Z);
PDEtools:-Solve(%,y(x));
expand(%);
collect(%,x);
eval(%,_Z=diff(y(x),x))

dAlembert always has singular solutions but the question is, what happens when the singular solution does not satisfy the IC. Should it still be returned? When I go back to school, I have to remeber to ask my ODE teacher on this.  Since singular solution is the envelope of the family of solutions, may be it does not have to. It just needs to satisfy the ode itself only. So Maple could be  correct by returning the singular solution y=x-1 even though it does not satisfy the IC. This is why I asked this question.

If no IC is given, then there is no issue of course.

@Khair Muhammad Saraz 

 i want to edit it is edit able again i  have to restart the file

I assume what you mean by restart the file is that you have to close the worksheet and open it again?

This is strange, Did you by any chance set the editable box off when you run the code? There is a little option at bottom of the worksheet like this:

If you have turned that off somehow, then you can't edit the worksheet any more.

But this is not something that will turn off on its own as far as I know, unless you did that.

Other than this, I do not know why you can't make changes to your worksheet again.

It will help to post version information, OS, and example worksheet. May be someone can figure it out.

 

It happens on second and all next calls. Not on first call. May be it is a bug.

interface(version);

`Standard Worksheet Interface, Maple 2024.0, Windows 10, March 01 2024 Build ID 1794891`

restart:

27752

ts_standard:=proc(k::anything)    
     interface(typesetting=standard):
     print(k);
     interface(typesetting=extended):
     NULL;
end proc:
k:=3/8*ln(55/52)+sin(x)+3/4*exp(x):

ts_standard(k);

(3/8)*ln(55/52)+sin(x)+(3/4)*exp(x)

ts_standard(k);

3*ln(55/52)*(1/8)+sin(x)+3*exp(x)*(1/4)

ts_standard(k);

3*ln(55/52)*(1/8)+sin(x)+3*exp(x)*(1/4)

 

 

Download fix_interface.mw

@C_R 

Could you please try with larger timeout to see if it will hang? 30,40,50 seconds? As it depends on the timeout and how fast the PC is. 

@C_R 

Thanks for checking. Does this mean it did hang for you on Maple 2024.0 but not on 2024.1?

I have no access to Maple 2024.1, I thought it was not released yet to try it.  But once it is out officially will upgrade and try for sure.

@Carl Love 

I meant to say implicit. Similar to Maple's solution. will correct now.

any reason integration by parts can not be used to isolate get implicit y solution?

 

@Joseph Poveromo 

Your ode has invalid syntax, You are using [ ] for grouping terms

May be it is a copy paste issue. I do not know. But you can't use [ ] in place of ( )

Maple 2024 on windows

do you have to use version()? Why not  one of these:

p1:=interface(version):
p2:=kernelopts(version):

They do not print anything on screen. Do not know if these will do what you want but they have the Maple version in there, You'd have to just parse it out which is easily done. on my PC  these give

@C_R 

Thanks for the investigation.

The point of this test is not parrallel rich or even int.  But just to show that Maple behavior is not deterministic where timelimit sometimes work and sometimes do not work (either very late, or completely lock). 

It is the only small test case I could make that clearly shows this.

I've been having this problem in Maple for many years, with random hangs at different places using same code with no solution. And this test is meant to show this.

In my main program I actually use 

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

To force Maple not to use threads and to use one core only in the hope this will prevent the random hangs. But unfortunately this did not solve the problem in my program. It still hangs at random places even thought I do not use parrallel risch.

Below is V4 of the trial worksheet which is the same as the one in my post, but I added the above code for each trial to prevent Maple from using more than one core and more than one thread. 

This now shows that indeed each trial now take similar but very long time to finish. Instead of around one minute, each now takes about 24 minutes to complete. So timelimit is still not working as was claimed in 2021 release. I understand that timelimit can't return at exact time asked. But to ask for one minute timeout and get 24 minutes timeout means the function is broken. I can understand 10 to 20 or even 30 percent off.

I do not understand why Maplesoft is unable to make timelimit work after all these years. It can't be that hard to fix.

So using one core core and one thread solved the problem of getting different timing for this test.

But since I am not using parallel risch in my main program and still get random hangs at different places in code, this means there is another Maple function I am using which does not support timelimit but I have no idea what it is in order to try not to use it or replace it with something else.

But for this specific question, I think your answer here solves it as it shows the cause of the different times was using threads.

 

``

restart;

24108

interface(version);

`Standard Worksheet Interface, Maple 2024.0, Windows 10, March 01 2024 Build ID 1794891`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1762 and is the same as the version installed in this computer, created 2024, June 13, 11:3 hours Pacific Time.`

 

Trial #1

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]();
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

48.761

Error, (in sdmp:-mul) time expired

"time taken ", 1464.989

 

Trial #2

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]():
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

Error, (in sdmp:-mul) time expired

"time taken ", 1454.596

 

Trial #3

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]():
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

Error, (in sdmp:-mul) time expired

"time taken ", 1420.149

 

Trial #4

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]():
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

Error, (in sdmp:-mul) time expired

"time taken ", 1418.282

 

 

 

Trial #5

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]():
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

Error, (in sdmp:-mul) time expired

"time taken ", 1418.214

 

Trila #6

 

restart;

24108

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);

24

numcpus

_EnvProbabilistic:=0;
expr:=-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp(4*I*(polylog(2,exp(I*x)))-polylog(2,-exp(I*x) ))*csc(x)*x*(tan(x)^2-1);
st:=time[real]():
timelimit(60,int(expr,x,method=_RETURNVERBOSE));
print("time taken ",time[real]()-st);

0

-4*(1-exp(I*x))^(-4*x)*(exp(I*x)+1)^(4*x)*exp((4*I)*polylog(2, exp(I*x))-polylog(2, -exp(I*x)))*csc(x)*x*(tan(x)^2-1)

Error, (in sdmp:-mul) time expired

"time taken ", 1417.225

 

 


 

Download hangs_int_V4_june_16_2024.mw

@Thomas Richard 

opps. I was looking at this for 2 hrs and did not see this. I copied it by hand from a book.

Sorry about this noise. Should I then delete this now?

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