nm

11373 Reputation

20 Badges

13 years, 41 days

MaplePrimes Activity


These are questions asked by nm

I've been evaluating Grid but I found some problems with SQLite DB when not using numnodes.

So I am now using numnodes option to setup explicitly number of nodes to use with Grid.

But the problem is now print() do not show on the screen from node code. So hard to debug. So I changed code to send debug messages to print files.

But now I find that the files do even get created when using numnodes. 

When removing numnodes option, the text file gets created. 

I am using FileTools:-Text:-WriteString() and FileTools:-Text:-Close() in the node code.
I also tried using fopen(). Both do not work. 

Same code works OK if I do not use numnodes. 

Any idea why the file do not get created when using numnodes? Worksheet to produce this is below.

I use C:\\tmp folder for testing. Feel free to change this. When I run the code and look in the folder, I do not see the text file there when using numnodes. 

It is possible the file is created but saved somewhere else on the system even though the full file name is given?

It seems to me now that when using numnodes option, there are some things that work and some things that do not work. I do not know if this is by design or a bug. Any one knows?

restart;

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1843 and is the same as the version installed in this computer, created 2025, January 25, 22:5 hours Pacific Time.`

Why task running on node do not create text file?

 

restart;

currentdir("C:\\TMP"): #change as needed

foo:=proc(n::integer)   
   local file_name::string;
   currentdir("C:\\TMP"): #change as needed
   file_name:=cat(currentdir(),"\\",n,"_file.txt");
   FileTools:-Text:-WriteString(file_name,cat("processing at node =",n));
   FileTools:-Text:-Close(file_name);
end proc:

Grid:-Set(foo):
Grid:-Setup("local",numnodes=1);
Grid:-Run(0,foo,[0]):
Grid:-Wait();

#No file "0_file.txt" is created in my C:\\TMP\ folder

 

 

 

Another version using fopen instead of FileTools. This also do not work

 

restart;

currentdir("C:\\TMP"): #change as needed

foo:=proc(n::integer)   
   local file_name::string, fileID;
   currentdir("C:\\TMP"): #change as needed
   file_name:=cat(currentdir(),"\\",n,"_file.txt");
   try
        fileID := fopen(file_name,WRITE);
    catch:
        error StringTools:-FormatMessage(lastexception[2..-1]);
    end try;   

   fprintf(fileID,"%s",cat("processing at node =",n));
   fclose(fileID);        
end proc:

Grid:-Set(foo):
Grid:-Setup("local",numnodes=1);
Grid:-Run(0,foo,[0]):
Grid:-Wait();


Download grid_question_jan_29_2025.mw

To see the file 0_file.txt get created in the folder, simply remove the numnodes option.

I first tried Threads and found that Maple dsolve does not work in threads (see https://www.mapleprimes.com/questions/239602-Error-in-Dsolve-Type-System-Does)

It was suggested there to use Grid instead of Threads. 

Now I got time to try Grid. My first test shows that Grid does not work with dsolve also.

Here is an example where dsolve solves this system of odes,. But when using Grid, Maple gives an internal error 

         Error, (in evalapply) cannot apply non-operator differential equation

Does this means one can't use Threads and also can't use Grid with dsolve? Or Am I doing something wrong?

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1841 and is the same as the version installed in this computer, created 2025, January 3, 8:59 hours Pacific Time.`

restart;

P:=[diff(x(t),t)=t*x(t)-y(t)+exp(t)*z(t),diff(y(t),t)=2*x(t)+t^2*y(t)-z(t),diff(z(t),t)=exp(-t)*x(t)+3*t*y(t)+t^3*z(t)]:

dsolve(P); #no error, Long answer

{x(t) = (exp(t)*y(t)*t^5-(diff(y(t), t))*exp(t)*t^3-2*(exp(t))^2*y(t)*t^2-(diff(y(t), t))*exp(t)*t^2+2*(diff(y(t), t))*(exp(t))^2+t*y(t)*exp(t)+(diff(diff(y(t), t), t))*exp(t)+2*exp(t)*y(t))/(-2*t^3*exp(t)+4*(exp(t))^2+2*exp(t)*t-1), y(t) = DESol({diff(diff(diff(_Y(t), t), t), t)+(-4*(exp(t))^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-2*(exp(t))^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-exp(t)/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^3*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-2*(exp(t))^2*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^3*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^2*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+exp(t)*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+2*(exp(t))^2*t^6/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+2*(exp(t))^2*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^3*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+exp(t)*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+exp(t)*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t)))*(diff(diff(_Y(t), t), t))+(-4*(exp(t))^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-exp(t)/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-exp(t)*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^3*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-6*(exp(t))^2*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-exp(t)*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-2*(exp(t))^2*t^8/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-2*(exp(t))^2*t^7/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^3*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^3*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+2*(exp(t))^2*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^3*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-2*(exp(t))^2*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+2*(exp(t))^2*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*exp(t)*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+exp(t)*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t)))*(diff(_Y(t), t))+(-4*(exp(t))^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-8*(exp(t))^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-3*exp(t)/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+1/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-exp(t)*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-24*(exp(t))^4*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-8*(exp(t))^3*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^2*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-5*exp(t)*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^3*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+16*(exp(t))^2*t^2/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*exp(t)*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+6*(exp(t))^2*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+2*(exp(t))^2*t^9/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^3*t^6/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-6*(exp(t))^2*t^7/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+4*(exp(t))^2*t^6/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+20*(exp(t))^3*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+8*(exp(t))^2*t^5/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))+exp(t)*t^6/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-12*(exp(t))^3*t^3/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-4*(exp(t))^2*t^4/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t))-3*exp(t)*t/(-2*(exp(t))^2*t^3+4*(exp(t))^3+2*(exp(t))^2*t-exp(t)))*_Y(t)}, {_Y(t)}), z(t) = (2*exp(t)*y(t)*t^3-2*(diff(y(t), t))*exp(t)*t^2-2*(diff(y(t), t))*exp(t)*t+2*t*y(t)*exp(t)-t^2*y(t)+2*(diff(diff(y(t), t), t))*exp(t)+4*exp(t)*y(t)+diff(y(t), t))/(-2*t^3*exp(t)+4*(exp(t))^2+2*exp(t)*t-1)}

restart;

 

P:=[diff(x(t),t)=t*x(t)-y(t)+exp(t)*z(t),diff(y(t),t)=2*x(t)+t^2*y(t)-z(t),diff(z(t),t)=exp(-t)*x(t)+3*t*y(t)+t^3*z(t)]:

Grid:-Run(0,dsolve(P)); #gives internal error
Grid:-Wait();

Error, (in evalapply) cannot apply non-operator differential equation

 


This error happens on this specific ode. I tried 2-3 others and did not see an error. So it seems to depend to what the ode is.

Download dsolve_also_fail_in_grid.mw

in help for Grid:-Wait, it has an example where it says

And in help for Grid:-Setup it says

"The numnodes option allows you to specify the number of nodes to be used in subsequent computations.  This option is only available in "local" mode."

Is numnodes supposed to be the same as number of cores on my PC?  If so, then why numnodes=4 says this will insure it run run on 2 core machine?

Is this typo and it should be 4 core machine?

in this link   https://maplesoft.com/applications/Preview.aspx?id=123874  there is paper/application 

which is supposed to have Maple package called with(PSsolver);

But when downloading the application (by clicking on the download link) and opening it, it only has one file 

              an_extension_of_prelle-singer_method_and_maple_implementatio.mws

Where will the package (source code) itself PSolver be?  I can't see any other link in the Maple page above to download additional files which might include the package itself.

The worksheet above says this

Before actualy introducing the ideas concerning our program, let us first load it to the Maple section. (Please, put the library file into directory `c:/DirectoryWhereIputtheLibrary`).

I googled and not able to find it also. This was written almost 24 years ago, so trying to contact the author now might not be good idea.

Should not the Maple application be all self contained with all the files needed to run it?

Any one has copy of this package by any chance?

Is there something one can do to make Maple give same result each time? It seems all random.

Calling odetest sometimes gives internal error. 

            Error, (in trig/normal/sincosargs) too many levels of recursion

But it is random when and how it happens. Worksheet below shows that sometimes when adding infolevel[odetest]:=5; make the error go away. sometimes trying 2 or 3 times also makes the error go away.

This makes it impossible to reason about things, as sometimes I get different result using same exact code.

Is there something one can do to remove this internal error? Why it happens sometimes only?  Do I need to clear something before calling odetest to make sure same result is obtained each time?

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1841 and is the same as the version installed in this computer, created 2025, January 3, 8:59 hours Pacific Time.`

libname;

"C:\Users\Owner\maple\toolbox\2024\Physics Updates\lib", "C:\Program Files\Maple 2024\lib"

restart;

sol:=y(x) = 1/2*x*(-1-(1+I*3^(1/2))*((I*2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(2/3)-2*((I*
2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(1/3)-I*((I*2^(1/2)+I)^2-1)*3^(1/2)+(I*2^(1/2)+
I)^2)/((I*2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(1/3)/(I*2^(1/2)+I);
ode:=x^3+3*x*y(x)^2+(y(x)^3+3*x^2*y(x))*diff(y(x),x) = 0

y(x) = (1/2)*x*(-1-(1+I*3^(1/2))*((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(2/3)-2*((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(1/3)-I*((I*2^(1/2)+I)^2-1)*3^(1/2)+(I*2^(1/2)+I)^2)/(((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(1/3)*(I*2^(1/2)+I))

x^3+3*x*y(x)^2+(y(x)^3+3*x^2*y(x))*(diff(y(x), x)) = 0

odetest(sol,ode,y(x));

Error, (in trig/normal/sincosargs) too many levels of recursion

odetest(sol,ode);

Error, (in trig/normal/sincosargs) too many levels of recursion

infolevel[odetest]:=5;

5

odetest(sol,ode);

odetest: Performing an implicit solution test

odetest: Performing an explicit (try hard) solution test

odetest: Performing an implicit solution (II) test

odetest: Performing another explicit (try soft) solution test

0

odetest(sol,ode,y(x));

odetest: Performing an implicit solution test

odetest: Performing an explicit (try hard) solution test

odetest: Performing an implicit solution (II) test

odetest: Performing another explicit (try soft) solution test

0

infolevel[odetest]:=0;

0

odetest(sol,ode,y(x));

0

restart;

sol:=y(x) = 1/2*x*(-1-(1+I*3^(1/2))*((I*2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(2/3)-2*((I*
2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(1/3)-I*((I*2^(1/2)+I)^2-1)*3^(1/2)+(I*2^(1/2)+
I)^2)/((I*2^(1/2)-1+I)*(I*2^(1/2)+1+I)^2)^(1/3)/(I*2^(1/2)+I);
ode:=x^3+3*x*y(x)^2+(y(x)^3+3*x^2*y(x))*diff(y(x),x) = 0

y(x) = (1/2)*x*(-1-(1+I*3^(1/2))*((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(2/3)-2*((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(1/3)-I*((I*2^(1/2)+I)^2-1)*3^(1/2)+(I*2^(1/2)+I)^2)/(((I*2^(1/2)+(-1+I))*(I*2^(1/2)+1+I)^2)^(1/3)*(I*2^(1/2)+I))

x^3+3*x*y(x)^2+(y(x)^3+3*x^2*y(x))*(diff(y(x), x)) = 0

odetest(sol,ode,y(x));

Error, (in trig/normal/sincosargs) too many levels of recursion

odetest(sol,ode,y(x));

Error, (in trig/normal/sincosargs) too many levels of recursion

odetest(sol,ode,y(x));

0

Download why_odetest_sometimes_fail_internal.mw

Add tracelast; after an error gives long output with this at end

...
#(\`trig/normal\`,8): sincosargs := [\`trig/normal/sincosargs\`(a)];
 \`trig/normal/sincosargs\` called with arguments: ((-2472*2^(1/2)+3496)*3^(1/2)-4288*2^(1/2)+6064)*(10+7*2^(1/2))^(1/2)+(6008*6^(1/2)-8496*3^(1/2)+10408*2^(1/2)-14720)*cos((1/24)*Pi)
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))
 \`trig/normal/sincosargs\` called with arguments: ((-2472*2^(1/2)+3496)*3^(1/2)-4288*2^(1/2)+6064)*(10+7*2^(1/2))^(1/2)
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))
 \`trig/normal/sincosargs\` called with arguments: (-2472*2^(1/2)+3496)*3^(1/2)-4288*2^(1/2)+6064
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))
 \`trig/normal/sincosargs\` called with arguments: (-2472*2^(1/2)+3496)*3^(1/2)
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))
 \`trig/normal/sincosargs\` called with arguments: -2472*2^(1/2)+3496
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))
 \`trig/normal/sincosargs\` called with arguments: -2472*2^(1/2)
 #(\`trig/normal/sincosargs\`,2): return op(map(procname,{op(x)}))

Not only is it random error, it also can not be cought using try/catch. So the whole program now stop and there is no way around it. If it was at least possible to trap the error, then it will not be a big deal. But when not even possible to trap Maple errors, then what is one to do? 


Update Jan 18, 2025

I did not want to make new post on this, even though the error is different, but it is similar issue to this post.

I found another example of this random failure of odetest using same input.  May be this will help Maplesoft find the cause. 

The internal error this time is Error, (in depends) too many levels of recursion

In this worksheet below. the same ode and 3 solutions were used. As you see, sometimes odetest do not generate internal error, and sometimes it does. All happen on 3rd call to odetest. 

So it is completely random why this happen. The first and 4ht tries generate no error, but the second and the third do. All were run after restart is called. So one would expect same output from each try,

restart;

interface(version);
Physics:-Version();

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

`The "Physics Updates" version in the MapleCloud is 1841 and is the same as the version installed in this computer, created 2025, January 3, 8:59 hours Pacific Time.`

First Try

 

ode:=1+y(x)^2+(x-exp(-arctan(y(x))))*diff(y(x),x) = 0;
sol_1:=y(x) = -tan(LambertW(-x/exp(_C1))+_C1);
timelimit(30,odetest(sol_1,ode,y(x)));

sol_2:=x*exp(arctan(y(x)))-arctan(y(x)) = _C1;
timelimit(30,odetest(sol_2,ode,y(x)));

sol_3:=y(x) = tan(-LambertW(-x*exp(_C2))+_C2);
timelimit(30,odetest(sol_3,ode,y(x)));

1+y(x)^2+(x-exp(-arctan(y(x))))*(diff(y(x), x)) = 0

y(x) = -tan(LambertW(-x/exp(_C1))+_C1)

4*LambertW(-x*exp(-c__1))*exp(-I*arctanh(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)-1/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1))+(2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2*x*(1+LambertW(-x*exp(-c__1))))+4*exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2*(1+LambertW(-x*exp(-c__1))))

x*exp(arctan(y(x)))-arctan(y(x)) = c__1

0

y(x) = tan(-LambertW(-x*exp(_C2))+_C2)

Error, (in depends) too many levels of recursion

 

 

 

 

Second Try

 

restart;

ode:=1+y(x)^2+(x-exp(-arctan(y(x))))*diff(y(x),x) = 0;
sol_1:=y(x) = -tan(LambertW(-x/exp(_C1))+_C1);
timelimit(30,odetest(sol_1,ode,y(x)));

sol_2:=x*exp(arctan(y(x)))-arctan(y(x)) = _C1;
timelimit(30,odetest(sol_2,ode,y(x)));

sol_3:=y(x) = tan(-LambertW(-x*exp(_C2))+_C2);
timelimit(30,odetest(sol_3,ode,y(x)));

1+y(x)^2+(x-exp(-arctan(y(x))))*(diff(y(x), x)) = 0

y(x) = -tan(LambertW(-x/exp(_C1))+_C1)

4*exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2*(1+LambertW(-x*exp(-c__1))))+4*LambertW(-x*exp(-c__1))*exp(-I*arctanh(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)-1/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1))+(2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((1+LambertW(-x*exp(-c__1)))*x*(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2)

x*exp(arctan(y(x)))-arctan(y(x)) = c__1

0

y(x) = tan(-LambertW(-x*exp(_C2))+_C2)

4*LambertW(-x*exp(c__2))*exp((2*I)*LambertW(-x*exp(c__2))+(2*I)*c__2+I*arctanh(-exp((2*I)*LambertW(-x*exp(c__2)))/(exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))+exp((2*I)*c__2)/(exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))))/((exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))^2*(1+LambertW(-x*exp(c__2)))*x)+4*exp((2*I)*c__2+(2*I)*LambertW(-x*exp(c__2)))/((exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))^2*(1+LambertW(-x*exp(c__2))))

 

 

 

Third  Try

 

restart;

ode:=1+y(x)^2+(x-exp(-arctan(y(x))))*diff(y(x),x) = 0;
sol_1:=y(x) = -tan(LambertW(-x/exp(_C1))+_C1);
timelimit(30,odetest(sol_1,ode,y(x)));

sol_2:=x*exp(arctan(y(x)))-arctan(y(x)) = _C1;
timelimit(30,odetest(sol_2,ode,y(x)));

sol_3:=y(x) = tan(-LambertW(-x*exp(_C2))+_C2);
timelimit(30,odetest(sol_3,ode,y(x)));

1+y(x)^2+(x-exp(-arctan(y(x))))*(diff(y(x), x)) = 0

y(x) = -tan(LambertW(-x/exp(_C1))+_C1)

4*LambertW(-x*exp(-c__1))*exp(-I*arctanh(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)-1/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1))+(2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((1+LambertW(-x*exp(-c__1)))*x*(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2)+4*exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2*(1+LambertW(-x*exp(-c__1))))

x*exp(arctan(y(x)))-arctan(y(x)) = c__1

0

y(x) = tan(-LambertW(-x*exp(_C2))+_C2)

Error, (in depends) too many levels of recursion

 

 

 

4th  Try

 

restart;

ode:=1+y(x)^2+(x-exp(-arctan(y(x))))*diff(y(x),x) = 0;
sol_1:=y(x) = -tan(LambertW(-x/exp(_C1))+_C1);
timelimit(30,odetest(sol_1,ode,y(x)));

sol_2:=x*exp(arctan(y(x)))-arctan(y(x)) = _C1;
timelimit(30,odetest(sol_2,ode,y(x)));

sol_3:=y(x) = tan(-LambertW(-x*exp(_C2))+_C2);
timelimit(30,odetest(sol_3,ode,y(x)));

1+y(x)^2+(x-exp(-arctan(y(x))))*(diff(y(x), x)) = 0

y(x) = -tan(LambertW(-x/exp(_C1))+_C1)

4*LambertW(-x*exp(-c__1))*exp(-I*arctanh(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)-1/(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1))+(2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((1+LambertW(-x*exp(-c__1)))*x*(exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2)+4*exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)/((exp((2*I)*LambertW(-x*exp(-c__1))+(2*I)*c__1)+1)^2*(1+LambertW(-x*exp(-c__1))))

x*exp(arctan(y(x)))-arctan(y(x)) = c__1

0

y(x) = tan(-LambertW(-x*exp(_C2))+_C2)

4*exp((2*I)*c__2+(2*I)*LambertW(-x*exp(c__2)))/((exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))^2*(1+LambertW(-x*exp(c__2))))+4*LambertW(-x*exp(c__2))*exp((2*I)*LambertW(-x*exp(c__2))+(2*I)*c__2+I*arctanh(-exp((2*I)*LambertW(-x*exp(c__2)))/(exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))+exp((2*I)*c__2)/(exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))))/((exp((2*I)*LambertW(-x*exp(c__2)))+exp((2*I)*c__2))^2*(1+LambertW(-x*exp(c__2)))*x)

 

Download bug_odetest_jan_18_2025.mw

First 10 11 12 13 14 15 16 Last Page 12 of 200