nm

11533 Reputation

20 Badges

13 years, 109 days

MaplePrimes Activity


These are questions asked by nm

I can't figure the correct syntax for using overloaded proc name as an exported method for an object. Maple gives

Error, static procedure `person:-set_name` refers to non-static local or export `person:-_name::string` in surrounding scope

Tried different places of where to put the ::static spec but none worked.

Here is a version which does not use overload which works. But I wanted to merge the two procs called set_name_one() and set_name_two() shown below into one called set_name().

restart;

module person()
  option object;
  local _name::string;
  export ModuleCopy::static := proc(_self,proto::person,the_name::string)
        _name:=the_name;
  end proc;

  export set_name_two::static:= proc(_self,first_name::string,last_name::string,$)
       print("in proc which takes two arguments");
       _name:=cat(first_name," ",last_name);
  end proc;

  export set_name_one::static:= proc(_self,the_name::string,$)
       print("in proc which takes one argument");
       _name:=the_name;
  end proc;

  export get_name::static:=proc(_self,$)
        _name;
  end proc;
end module;

module person () local _name::string; option object; end module

o:=Object(person,"me")

module person () local _name::string; option object; end module

o:-set_name_two("me","joe");

"in proc which takes two arguments"

"me joe"

o:-set_name_one("me");

"in proc which takes one argument"

"me"

 

Download working_version_OOP_nov_1_2025.mw

 

This below now uses overload. It seems inside the overloaded proc, one can't refere to _self local methods such as _name in this example?

interface(version);

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

restart;

module person()
  option object;
  local _name::string;
   export ModuleCopy::static := proc(_self,proto::person,the_name::string)
        _name:=the_name;
    end proc;

    export set_name::static := overload(
        [
             proc(_self,first_name::string,last_name::string,$) option overload;
                last_name;
                print("in proc which takes two arguments");
                _name:=cat(first_name," ",last_name);
            end,

            proc(_self,the_name::string,$) option overload;
                  print("in proc which takes one argument");
                  _name:=the_name;
            end
        ]
    );

    export get_name::static:=proc(_self,$)
        _name;
    end proc;
end module;

  

module person () local _name::string; option object; end module

o:=Object(person,"me")

Error, static procedure `person:-set_name` refers to non-static local or export `person:-_name::string` in surrounding scope

 

 

Download overload_in_OOP_nov_1_2025.mw

Next, I tried without using static:: on the overload. Now the initial error is gone, But the method call to set_name() gives an error. (see below)

Is there something I am doing wrong? Or overload does not work for object methods? Is there a workaround?

interface(version);

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

restart;

module person()
  option object;
  local _name::string;
   export ModuleCopy::static := proc(_self,proto::person,the_name::string)
        _name:=the_name;
    end proc;

    export set_name := overload(
        [
             proc(_self,first_name::string,last_name::string,$) option overload;
                last_name;
                 print("in proc which takes two arguments");
                _name:=cat(first_name," ",last_name);
            end,

            proc(_self,the_name::string,$) option overload;
                   print("in proc which takes one argument");
                  _name:=the_name;
            end
        ]
    );

    export get_name::static:=proc(_self,$)
        _name;
    end proc;
end module;

  

module person () local _name::string; export set_name; option object; end module

o:=Object(person,"me")

module person () local _name::string; export set_name; option object; end module

o:-set_name("me");

"in proc which takes one argument"

Error, invalid input: no implementation of set_name matches the arguments in call, 'set_name("me")'

 

 

Download overload_in_OOP_nov_1_2025_V2.mw

Here is another version where static:: is kept on the overload, but now code changed to use _self:-_name to refer to the private object variable instead of just _name (even though this is not needed). Now the initial error is gone, but now calling object:-set_name("me") result in new error Error, (in person:-set_name) `me` does not evaluate to a module

interface(version);

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

restart;

module person()
  option object;
  local _name::string;
   export ModuleCopy::static := proc(_self,proto::person,the_name::string)
        _name:=the_name;
    end proc;

    export set_name::static := overload(
        [
             proc(_self,first_name::string,last_name::string,$) option overload;
                last_name;
                print("in proc which takes two arguments");
                _self:-_name:=cat(first_name," ",last_name);
            end,

            proc(_self,the_name::string,$) option overload;               
                  print("in proc which takes one argument");
                  _self:-_name:=the_name;
            end
        ]
    );

    export get_name::static:=proc(_self,$)
        _name;
    end proc;
end module;

  

module person () local _name::string; option object; end module

o:=Object(person,"me")

module person () local _name::string; option object; end module

o:-set_name("me");

"in proc which takes one argument"

Error, (in person:-set_name) `me` does not evaluate to a module

 

 

Download overload_in_OOP_nov_1_2025_V3.mw

I am starting to think overload does not work for object procs but only for standard procs or for standard module procs which is does not have option object;  That will be too bad.

I wonder if there is alternative to overload for Maple object if this was the case.

 

I am finding many problems using overload in OOP.

But for starter, here is a basic one that does not use Object. Will make separate question for other issues once I figure this basic one out.

I have overload with two procs.

First proc takes 2 arguments of type string, and the second proc one argument also of type string.

When calling the overloaded proc with one argument or two arguments, it always calls the first one which takes 2 arguments.

It never calls the second, even though the call is using one argument only. It always matchs the first proc.

It seems Maple just checks if the first argument match and stops.

I also made sure to use $ for end of arguments flag.

Now when changing the order and putting as the first proc the one that take one argument and the second proc which takes two arguments, now it works. Maple calls the correct proc based on the number of arguments.

How could this be possible? Is order of procs in overload important?? How does one then figure the correct order. It should be based on match of signature of proc, not the order. i.e. match made based on number and type of arguments. 

Is there a way to make the first one work as is without having to worry about order? Or Am I making mistake somewhere?

restart;

interface(version);

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

restart;

set_name :=overload(
        [     
            proc(first_name::string,last_name::string,$) option overload;
                print("in proc which takes two arguments");
            end,
       
            proc(the_name::string,$) option overload;
                 print("in proc which takes one argument");
            end          
        ]
    ):

set_name("me"); #why this call the first proc and not the second?

"in proc which takes two arguments"

set_name("me","joe");

"in proc which takes two arguments"

restart;

#change order of procs in list
set_name :=overload(
        [            
            proc(the_name::string,$) option overload;
                 print("in proc which takes one argument");
            end,      

            proc(first_name::string,last_name::string,$) option overload;
                print("in proc which takes two arguments");
            end       
        ]
    ):

set_name("me");

"in proc which takes one argument"

set_name("me","joe");

"in proc which takes two arguments"

 

 

Download why_order_makes_differenence_in_overload_nov_1_2025.mw

I am able to reproduce a case where same exact code, which is in .mla library, when called from worksheet produces Maple internal errors when calling odetest, which happens at random places

     Error, (in depends) too many levels of recursion 

     Error, (in anonymous procedure called from depends) too many levels of recursion 

But when calling same exact proc in the mla from the command line using 

/home/me/maple2025/bin/maple  -q BUILD_ALL.mpl

Where BUILD_ALL.mpl has same command used in worksheet, which is say my_command() where my_command() is proc in my .mla library, the code runs with no erros.

Both worksheet and command use the same exact initialization code before running the command, which is read from this file

dsolve(diff(y(x),x$20)=0,arbitraryconstants=traditional):

interface(warnlevel=0):
kernelopts('assertlevel'=2):

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);
interface(rtablesize=100);

latex:-Settings(useimaginaryunit=i,
      usecolor = false,
      powersoftrigonometricfunctions= mixed, ## computernotation,
      leavespaceafterfunctionname = true,
      cacheresults = false,
      spaceaftersqrt = true,
      usetypesettingcurrentsettings=true,
      linelength=1000000
):

plots[setoptions](font=[TIMES,12], labelfont=[TIMES,16]);
plots[setoptions3d](font=[TIMES,12], labelfont=[TIMES,24]);

_EnvUseHeavisideAsUnitStep:=true;
local gamma;

libname := "/home/me/my.mla", libname:

I see from the print messages I have, that both codes run exactly the same steps as ofcourse should be the case as it is the same function. But when running from worksheet, I keep getting these internal Maple errors when calling odetest in the function called after running for sometime. But no errors from command line.

In the worksheet I have it setup so that each worksheet uses its own math engine.

This also happens when starting from clean worksheet with restart.

So there must be something different in running code in .mla from worksheet vs. command to cause this. 

Some sort of memory or stack issue or something like this?. But I have no idea what it can be as I expected same code to run the same way.

I am not able to make MWE so far since it uses the whole .mla and code is very large also code uses SQL database. I tried to make small MWE, but the error from worksheet do not show up then. Only when running the whole program it shows up. 

But why does odetest behave different when running code from worksheet vs. command line Maple?

This always happens when calling odetest inside timelimit in the function in question. I also use 

                  `assuming/restore_previous_state`;

In all my try/catch calls. I wonder if this has anything to do with this difference in behavior. I will try next to remove all calls to the above and see if this is what causing the problem. But stil the question is, why behaves different when called from worksheet vs. command line?

I am asking general question here: Should there be difference in how proc() in .mla behaves when called from command line vs. worksheet? Any one had similar experience in Maple?

Any ideas or guesses what can cause this, Or anything I can try to help find the cause? I will try them as I gave up figuring this one.   

Does Maple math engine internally makes any checks if it called from worksheet vs. command line? Or does the worksheet itself changes some settings that can cause some math engine function such as odetest to behave different? I do not see how this is can be the case.

Any additional information needed, will be happy to provide it,

(#5654 for my reference)

Update

Good news. I am able to make a MWE which reproduces this bug. 

It happens when running many many such calls.

Here is the worksheet. It is large, because the Maple bug only happens when running this sequence of calling odetest. And it happens in worksheet. I will now make version for command line which should not give error. But for now, this is the worksheet version. For me, it gives this error each time. But if you do not see the error, try again from the top of the worksheet.

Note. I am adding the same initialization code I used in both worksheet and command line. Which is 

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);
interface(rtablesize=100);

to the top of the worksheet.  But the Maple error shows up with or without using the above 3 lines of code.


 

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 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 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;

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);
interface(rtablesize=100);

32

numcpus

[10, 10]

verify_it:=proc(sol,ode,func)
  local the_status;
  try
   the_status:=timelimit(30,odetest(sol,ode,func)):
   if the_statu<>0 then     
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer));
   fi;

   if the_status<>0 then     
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer,positive));
   fi;

   if the_status<>0 then     
       the_status:= timelimit(30, (odetest(sol,ode,func) assuming positive));
   fi;

   if the_status<>0 then     
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming x<1));
   fi;

   if the_status<>0 then     
      timelimit(30, (odetest(sol,ode,func) assuming x>1));
   fi;
  catch:
   NULL;
  end try:
end proc:

#RUN THE next one large cell. If you do not get internal error, try again from restart

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):


sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):


sol:=Intat(1/(6^(1/3)*tau+(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(2/3
))*(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(1/3),tau = x*y(x)) =
6^(1/3)*ln(x^(1/6))+_C2:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):


sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
(27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
(27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=-ln(x) = Intat(-(1+I*3^(1/2))*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(1/3)*6^(2/
3)/_a^(1/2)/(I*3^(5/6)*2^(1/3)+2*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(2/3)-6^
(1/3)),_a = x*y(x))+_C5:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
/3)*z)),z = x(y)*y) = 0:
ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
/2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
2/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
/3)*z)),z = x(y)*y) = 0:
ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
/2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
2/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y(x))-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(
1/2)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^
(2/3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6
^(1/3)*z)),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):


sol:=-ln(x) = Intat(-2/_a^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(1/3)/(-I*3^(5/
6)*2^(1/3)+I*3^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(2/3)-((27*_a-2)^(1/2
)*3^(1/2)-9*_a^(1/2))^(2/3)-6^(1/3))*6^(2/3),_a = x*y(x))+_C9:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

 

Error, (in anonymous procedure called from depends) too many levels of recursion

 

 

Download error_in_worksheet_but_not_in_command_line_oct_28_2025.mw

Below is same exact code but run in command line Maple. It produces no error

#run this A.mpl file using
#/home/me/maple2025/bin/maple A.mpl

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

kernelopts(numcpus=1);
kernelopts(gcmaxthreads=1);
interface(rtablesize=100);

verify_it:=proc(sol,ode,func)
  local the_status;
  try
   the_status:=timelimit(30,odetest(sol,ode,func)):
   if the_statu<>0 then
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer));
   fi;

   if the_status<>0 then
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer,positive));
   fi;

   if the_status<>0 then
       the_status:= timelimit(30, (odetest(sol,ode,func) assuming positive));
   fi;

   if the_status<>0 then
      the_status:=timelimit(30, (odetest(sol,ode,func) assuming x<1));
   fi;

   if the_status<>0 then
      timelimit(30, (odetest(sol,ode,func) assuming x>1));
   fi;
  catch:
   NULL;
  end try:
end proc:


sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):


sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
),z = x*y(x)) = 0:
ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
*y(x)^3 = 0:
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):


sol:=Intat(1/(6^(1/3)*tau+(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(2/3
))*(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(1/3),tau = x*y(x)) =
6^(1/3)*ln(x^(1/6))+_C2:
ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
*y(x))*x^2)^(1/3)-1/x*y(x):
verify_it(sol,ode,y(x)):


sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
(27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
(27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=-ln(x) = Intat(-(1+I*3^(1/2))*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(1/3)*6^(2/
3)/_a^(1/2)/(I*3^(5/6)*2^(1/3)+2*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(2/3)-6^
(1/3)),_a = x*y(x))+_C5:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
/3)*z)),z = x(y)*y) = 0:
ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
/2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
2/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
/3)*z)),z = x(y)*y) = 0:
ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
/2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
2/3)):
verify_it(sol,ode,y(x)):

sol:=ln(y(x))-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(
1/2)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^
(2/3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6
^(1/3)*z)),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
),z = x*y(x)) = 0:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):


sol:=-ln(x) = Intat(-2/_a^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(1/3)/(-I*3^(5/
6)*2^(1/3)+I*3^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(2/3)-((27*_a-2)^(1/2
)*3^(1/2)-9*_a^(1/2))^(2/3)-6^(1/3))*6^(2/3),_a = x*y(x))+_C9:
ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
)-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
verify_it(sol,ode,y(x)):

print("DONE. Did you see any errors?");

exit();

Here is the result

>/home/me/maple2025/bin/maple A.mpl
    |\^/|     Maple 2025 (X86 64 LINUX)
._|\|   |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2025
 \  MAPLE  /  All rights reserved. Maple is a trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
#run this A.mpl file using
#/home/me/maple2025/bin/maple A.mpl


> interface(version);
                               Command-line Interface, Maple 2025.1, X86 64 LINUX, Jun 12 2025, Build ID 1932578

> Physics:-Version();
The "Physics Updates" version in the MapleCloud is 1881 and is the same as the version installed in this computer, created 2025, October 7, \
    16:4 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, 202\
    5, 10:25 hours Eastern Time.


> kernelopts(numcpus=1);
                                                                       32

> kernelopts(gcmaxthreads=1);
                                                                    numcpus

> interface(rtablesize=100);
                                                                    [10, 10]


> verify_it:=proc(sol,ode,func)
>   local the_status;
>   try
>    the_status:=timelimit(30,odetest(sol,ode,func)):
>    if the_statu<>0 then
>       the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer));
>    fi;

>    if the_status<>0 then
>       the_status:=timelimit(30, (odetest(sol,ode,func) assuming integer,positive));
>    fi;

>    if the_status<>0 then
>        the_status:= timelimit(30, (odetest(sol,ode,func) assuming positive));
>    fi;

>    if the_status<>0 then
>       the_status:=timelimit(30, (odetest(sol,ode,func) assuming x<1));
>    fi;

>    if the_status<>0 then
>       timelimit(30, (odetest(sol,ode,func) assuming x>1));
>    fi;
>   catch:
>    NULL;
>   end try:
> end proc:


> sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
> *3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
> ^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
> verify_it(sol,ode,y(x)):
memory used=35.6MB, alloc=108.3MB, time=0.19
memory used=121.3MB, alloc=116.3MB, time=0.54
memory used=200.1MB, alloc=144.3MB, time=0.87
memory used=321.1MB, alloc=176.3MB, time=1.35
memory used=384.3MB, alloc=176.3MB, time=1.63
memory used=474.4MB, alloc=176.3MB, time=2.00
memory used=624.5MB, alloc=184.3MB, time=2.57
memory used=759.0MB, alloc=184.3MB, time=3.14
memory used=893.1MB, alloc=184.3MB, time=3.72


> sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
> 2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
> -2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
> verify_it(sol,ode,y(x)):
memory used=1035.8MB, alloc=184.3MB, time=4.27
memory used=1169.9MB, alloc=184.3MB, time=4.83
memory used=1302.5MB, alloc=184.3MB, time=5.38
memory used=1423.7MB, alloc=184.3MB, time=5.90
memory used=1552.0MB, alloc=184.3MB, time=6.42
memory used=1667.7MB, alloc=184.3MB, time=6.93
memory used=1795.9MB, alloc=184.3MB, time=7.46
memory used=1921.7MB, alloc=184.3MB, time=7.99
memory used=2035.4MB, alloc=184.3MB, time=8.49

> sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
> 1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
> (I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
> ),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
> verify_it(sol,ode,y(x)):
memory used=2154.0MB, alloc=184.3MB, time=9.00
memory used=2278.5MB, alloc=184.3MB, time=9.53
memory used=2399.9MB, alloc=184.3MB, time=10.04
memory used=2509.9MB, alloc=184.3MB, time=10.52
memory used=2627.5MB, alloc=184.3MB, time=11.02
memory used=2732.8MB, alloc=184.3MB, time=11.48
memory used=2849.4MB, alloc=184.3MB, time=11.97
memory used=2955.4MB, alloc=184.3MB, time=12.45
memory used=3069.4MB, alloc=184.3MB, time=12.93

> sol:=ln(x)-_C1+Intat(1/z/(-1-1/6/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)*(-6*z*(z
> *3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^(2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3
> ^(1/2)+27*z-1))^(1/3)+z))/z),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
memory used=3173.5MB, alloc=216.3MB, time=13.41
> verify_it(sol,ode,y(x)):
memory used=3322.2MB, alloc=216.3MB, time=14.05
memory used=3466.2MB, alloc=216.3MB, time=14.68
memory used=3605.1MB, alloc=216.3MB, time=15.29
memory used=3743.9MB, alloc=216.3MB, time=15.89
memory used=3882.0MB, alloc=216.3MB, time=16.51

> sol:=ln(x)-_C2+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
> 2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
> -2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
> verify_it(sol,ode,y(x)):
memory used=4029.8MB, alloc=216.3MB, time=17.11
memory used=4159.8MB, alloc=216.3MB, time=17.70
memory used=4299.4MB, alloc=216.3MB, time=18.29
memory used=4434.6MB, alloc=216.3MB, time=18.86
memory used=4557.8MB, alloc=216.3MB, time=19.42
memory used=4701.2MB, alloc=248.3MB, time=20.00

> sol:=ln(x)-_C3+Intat(1/z/(-1-1/4/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)*((-I*3^(
> 1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*
> (I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/z
> ),z = x*y(x)) = 0:
> ode:=2*x^3*diff(y(x),x)^3+6*x^2*y(x)*diff(y(x),x)^2-(1-6*x*y(x))*y(x)*diff(y(x),x)+2
> *y(x)^3 = 0:
> verify_it(sol,ode,y(x)):
memory used=4863.9MB, alloc=248.3MB, time=20.70
memory used=5031.5MB, alloc=248.3MB, time=21.41
memory used=5195.2MB, alloc=248.3MB, time=22.11
memory used=5346.8MB, alloc=248.3MB, time=22.76
memory used=5505.1MB, alloc=248.3MB, time=23.42
memory used=5662.7MB, alloc=248.3MB, time=24.09
memory used=5819.2MB, alloc=248.3MB, time=24.76

> sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
> (2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
> 2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
> x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
> *y(x))*x^2)^(1/3)-1/x*y(x):
> verify_it(sol,ode,y(x)):
memory used=5967.8MB, alloc=248.3MB, time=25.44
memory used=6122.7MB, alloc=248.3MB, time=26.17
memory used=6282.9MB, alloc=280.3MB, time=26.88
memory used=6458.2MB, alloc=280.3MB, time=27.67
memory used=6632.0MB, alloc=280.3MB, time=28.47
memory used=6824.1MB, alloc=280.3MB, time=29.31

> sol:=ln(x)-_C1+Intat(1/z/(-1-1/6*(-6*z*(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)+6^
> (2/3)*((z^3*(-3*(27*z^2-2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z))/(z*3^(1/2)*(27*z^
> 2-2*z)^(1/2)-9*z^2)^(1/3)/z),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
> x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
> *y(x))*x^2)^(1/3)-1/x*y(x):
> verify_it(sol,ode,y(x)):
memory used=6997.3MB, alloc=280.3MB, time=30.11
memory used=7185.8MB, alloc=280.3MB, time=30.94
memory used=7352.2MB, alloc=280.3MB, time=31.70
memory used=7511.5MB, alloc=280.3MB, time=32.44
memory used=7691.1MB, alloc=280.3MB, time=33.23


> sol:=Intat(1/(6^(1/3)*tau+(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(2/3
> ))*(-3^(1/2)*(3*3^(1/2)*tau-(tau*(27*tau-2))^(1/2))*tau)^(1/3),tau = x*y(x)) =
> 6^(1/3)*ln(x^(1/6))+_C2:
> ode:=diff(y(x),x) = 1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(
> x))*x^2)^(1/3)+1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9
> *y(x))*x^2)^(1/3)-1/x*y(x):
> verify_it(sol,ode,y(x)):
memory used=7852.5MB, alloc=312.3MB, time=33.99
memory used=8061.4MB, alloc=312.3MB, time=34.94
memory used=8272.3MB, alloc=312.3MB, time=35.84


> sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
> (27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
> *(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=8467.0MB, alloc=312.3MB, time=36.70
memory used=8678.4MB, alloc=312.3MB, time=37.59
memory used=8886.0MB, alloc=344.3MB, time=38.46
memory used=9099.1MB, alloc=344.3MB, time=39.43
memory used=9317.0MB, alloc=344.3MB, time=40.39
memory used=9549.3MB, alloc=344.3MB, time=41.36

> sol:=ln(x)-_C3+Intat(1/z/(-1-1/4*((-I*3^(1/6)*2^(2/3)-1/3*6^(2/3))*(z^3*(-3*3^(1/2)*
> (27*z^2-2*z)^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)-1/3*6^(2/3)-4*(z*3^(1/2)
> *(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)))/(z*3^(1/2)*(27*z^2-2*z)^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=9758.9MB, alloc=344.3MB, time=42.33
memory used=9986.7MB, alloc=344.3MB, time=43.29
memory used=10213.4MB, alloc=376.3MB, time=44.25
memory used=10438.1MB, alloc=376.3MB, time=45.26
memory used=10674.2MB, alloc=376.3MB, time=46.31
memory used=10939.1MB, alloc=376.3MB, time=47.36

> sol:=-ln(x) = Intat(-(1+I*3^(1/2))*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(1/3)*6^(2/
> 3)/_a^(1/2)/(I*3^(5/6)*2^(1/3)+2*(-(27*_a-2)^(1/2)*3^(1/2)+9*_a^(1/2))^(2/3)-6^
> (1/3)),_a = x*y(x))+_C5:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=11157.9MB, alloc=376.3MB, time=48.37
memory used=11397.1MB, alloc=376.3MB, time=49.36
memory used=11635.9MB, alloc=376.3MB, time=50.33
memory used=11843.8MB, alloc=376.3MB, time=51.27
memory used=12045.3MB, alloc=408.3MB, time=52.21
memory used=12325.2MB, alloc=408.3MB, time=53.28
memory used=12596.4MB, alloc=408.3MB, time=54.33

> sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
> )-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
> 3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
> /3)*z)),z = x(y)*y) = 0:
> ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
> /2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 2/3)):
> verify_it(sol,ode,y(x)):

> sol:=ln(y)-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2
> )-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^(2/
> 3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6^(1
> /3)*z)),z = x(y)*y) = 0:
> ode:=diff(x(y),y) = (3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 1/3)*x(y)^2*6^(2/3)*(I*3^(1/2)-1)/(-1/12*6^(2/3)*(I*3^(1/2)-1)*(-I*6^(2/3)*3^(1
> /2)+6^(2/3)+12*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 1/3))*x(y)*y+2*(3^(1/2)*(-3*3^(1/2)*y+(y*(27*x(y)*y-2)/x(y))^(1/2))*y*x(y)^2)^(
> 2/3)):
> verify_it(sol,ode,y(x)):

> sol:=ln(y(x))-_C6+Intat(1/z/(-1-(1-I*3^(1/2))*z*6^(2/3)*(z^2*(((27*z-2)/z)^(1/2)*3^(
> 1/2)-9))^(1/3)/(-2*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(2/3)+z*(3*I*3^(1/6)*2^
> (2/3)-6^(2/3))*(z^2*(((27*z-2)/z)^(1/2)*3^(1/2)-9))^(1/3)+I*3^(5/6)*2^(1/3)*z+6
> ^(1/3)*z)),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)-1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=12834.3MB, alloc=408.3MB, time=55.38
memory used=13093.0MB, alloc=408.3MB, time=56.51
memory used=13325.7MB, alloc=440.3MB, time=57.54
memory used=13576.1MB, alloc=440.3MB, time=58.67
memory used=13834.9MB, alloc=440.3MB, time=59.79
memory used=14096.1MB, alloc=440.3MB, time=60.95

> sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
> 2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
> -2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=14339.1MB, alloc=440.3MB, time=62.07
memory used=14599.6MB, alloc=440.3MB, time=63.21
memory used=14905.7MB, alloc=504.3MB, time=64.42
memory used=15179.6MB, alloc=488.3MB, time=65.73
memory used=15487.1MB, alloc=488.3MB, time=67.03

> sol:=ln(x)-_C7+Intat(1/z/(-1+1/4*((-I*3^(1/6)*2^(2/3)+1/3*6^(2/3))*(z^3*(-3*(27*z^2-\
> 2*z)^(1/2)*3^(1/2)+27*z-1))^(1/3)+z*(I*3^(1/6)*2^(2/3)+1/3*6^(2/3)+4*(z*(27*z^2
> -2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)))/(z*(27*z^2-2*z)^(1/2)*3^(1/2)-9*z^2)^(1/3)/z
> ),z = x*y(x)) = 0:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=15758.8MB, alloc=488.3MB, time=68.34
memory used=16065.9MB, alloc=520.3MB, time=69.68
memory used=16378.3MB, alloc=520.3MB, time=71.08
memory used=16680.5MB, alloc=520.3MB, time=72.47


> sol:=-ln(x) = Intat(-2/_a^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(1/3)/(-I*3^(5/
> 6)*2^(1/3)+I*3^(1/2)*((27*_a-2)^(1/2)*3^(1/2)-9*_a^(1/2))^(2/3)-((27*_a-2)^(1/2
> )*3^(1/2)-9*_a^(1/2))^(2/3)-6^(1/3))*6^(2/3),_a = x*y(x))+_C9:
> ode:=diff(y(x),x) = -1/12/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2)-9*
> y(x))*x^2)^(1/3)-1/12*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*(y(x)*(27*x*y(x)-2)/x)^(1/2
> )-9*y(x))*x^2)^(1/3)-1/x*y(x)+1/2*I*3^(1/2)*(1/6/x^2*6^(1/3)*(y(x)*(3^(1/2)*(y(
> x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)-1/6*y(x)/x*6^(2/3)/(y(x)*(3^(1/2)*
> (y(x)*(27*x*y(x)-2)/x)^(1/2)-9*y(x))*x^2)^(1/3)):
> verify_it(sol,ode,y(x)):
memory used=16982.9MB, alloc=520.3MB, time=73.86
memory used=17292.8MB, alloc=520.3MB, time=75.22
memory used=17593.5MB, alloc=520.3MB, time=76.51
memory used=17860.3MB, alloc=552.3MB, time=77.77
memory used=18212.4MB, alloc=552.3MB, time=79.18
memory used=18534.1MB, alloc=552.3MB, time=80.58

> print("DONE. Did you see any errors?");
                                                        "DONE. Did you see any errors?"


> exit();
                                                                     exit()

> quit
memory used=18554.9MB, alloc=552.3MB, time=80.69

You see, no error.

 

Solving an ode, dsolve says it used exact method and gives two solutions as result (correct result).

But when asking dsolve to solve same ode but now specifying that it uses exact method (i.e. same one it used itself before), now it gives one solution only, not two as before.

Why is that? Should not both commands give same result? i.e. two solutions?

interface(version);

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

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.`

Physics:-Version()

`The "Physics Updates" version in the MapleCloud is 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 hours Pacific Time.`

restart;

ode:=3*y(x)^3*x^2+y(x)^4+(3*x^3*y(x)^2+y(x)^4+4*x*y(x)^3)*diff(y(x),x) = 0;
DEtools:-odeadvisor(ode);
infolevel[dsolve]:=5:

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

[_exact, _rational]

sol:=dsolve(ode); #gives two solutions

Classification methods on request

Methods to be used are: [exact]

----------------------------

* Tackling ODE using method: exact

--- Trying classification methods ---

trying exact

<- exact successful

y(x) = 0, x*y(x)^4+x^3*y(x)^3+(1/5)*y(x)^5+c__1 = 0

maple_sol:=dsolve(ode,[exact]);  #why y=0 solution do not show here??

Classification methods on request

Methods to be used are: [exact]

----------------------------

* Tackling ODE using method: exact

--- Trying classification methods ---

trying exact

<- exact successful

x*y(x)^4+x^3*y(x)^3+(1/5)*y(x)^5+c__1 = 0

sol:=dsolve(ode); #gives two solutions again

Classification methods on request

Methods to be used are: [exact]

----------------------------

* Tackling ODE using method: exact

--- Trying classification methods ---

trying exact

<- exact successful

y(x) = 0, x*y(x)^4+x^3*y(x)^3+(1/5)*y(x)^5+c__1 = 0

 

 

Download why_different_solutions_maple_2025_1_oct_22_2025.mw

Just found strange bug in Maple. 

If I do solve(eq1...) then solve(eq2,...) then the second solve now gives internal error.

But If I do (from clean start)  just solve(eq2,...) then it times out ok, No internal error. So clearly the first call to solve changed something in internal memory/cache to do this.

Is there a way to correctly "clear" solve cache or its memory tables after each call, so that earlier calls to solve do not affect future calls behavior? Was going to add this to my collection of maple bugs post, but thought a new question will be better to make it easier to reply.

The problem is that these internal Maple errors can not be cought by try/catch. Which means the whole program crashes and there is no way to continue automatically.

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 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 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.`

solve timesout OK if no call made before it

 

restart;

kernelopts('assertlevel'=2):

eq_2:=1 = -X*((1/2/(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y*(2*Y
*a+2*a*y0)+1/2/(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0*(
2*Y*a+2*a*y0))/(-2*X*Y*a-2*X*a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)-(-a*Y
-a*y0+(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y+(2*X*Y*a+2*
X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0)/(-2*X*Y*a-2*X*a*y0-2*Y*a*
x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)^2*(-2*Y*a-2*a*y0))/Y/((-a+1/2/(2*X*Y*a+2*X*a*
y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y*(2*X*a+2*a*x0-2*Y-2*y0)+(2*X*Y*a
+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)+1/2/(2*X*Y*a+2*X*a*y0+2*Y*a
*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0*(2*X*a+2*a*x0-2*Y-2*y0))/(-2*X*Y*a-2*X*
a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)-(-a*Y-a*y0+(2*X*Y*a+2*X*a*y0+2*Y*a
*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y+(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2
-2*Y*y0-y0^2)^(1/2)*y0)/(-2*X*Y*a-2*X*a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0
^2)^2*(-2*X*a-2*a*x0+2*Y+2*y0)):
try
    timelimit(30,solve(identity(eq_2,X),[x0,y0]));
catch:
    print("good. No crash");
end try;

"good. No crash"

 

 

Same solve gives internal error when calling another solve before it

 

restart;

kernelopts('assertlevel'=2):

 

 

eq_1:=1 = -X*(1/2*(2*X*Y^3-4*X*Y^2*a+6*X*Y^2*y0-8*X*Y*a*y0+6*X*Y*y0^2-4*X*a*y0^2+2*X*
y0^3+2*Y^3*x0-4*Y^2*a*x0+6*Y^2*x0*y0-8*Y*a*x0*y0+6*Y*x0*y0^2-4*a*x0*y0^2+2*x0*
y0^3+2*X*Y+2*X*y0+2*Y*x0+2*x0*y0)/(X^2*Y*a+X^2*a*y0+2*X*Y*a*x0+2*X*a*x0*y0+Y*a*
x0^2+a*x0^2*y0+X^3+3*X^2*x0+3*X*x0^2+x0^3)-1/2*(X^2*Y^3-2*X^2*Y^2*a+3*X^2*Y^2*
y0-4*X^2*Y*a*y0+3*X^2*Y*y0^2-2*X^2*a*y0^2+X^2*y0^3+2*X*Y^3*x0-4*X*Y^2*a*x0+6*X*
Y^2*x0*y0-8*X*Y*a*x0*y0+6*X*Y*x0*y0^2-4*X*a*x0*y0^2+2*X*x0*y0^3-Y^3*a^2+Y^3*x0^
2-3*Y^2*a^2*y0-2*Y^2*a*x0^2+3*Y^2*x0^2*y0-3*Y*a^2*y0^2-4*Y*a*x0^2*y0+3*Y*x0^2*
y0^2-a^2*y0^3-2*a*x0^2*y0^2+x0^2*y0^3+X^2*Y+X^2*y0+2*X*Y*x0+2*X*x0*y0+Y*x0^2+x0
^2*y0)/(X^2*Y*a+X^2*a*y0+2*X*Y*a*x0+2*X*a*x0*y0+Y*a*x0^2+a*x0^2*y0+X^3+3*X^2*x0
+3*X*x0^2+x0^3)^2*(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0+3*X^2+6*X*x0+3*x0^2))/Y/
(1/2*(3*X^2*Y^2-4*X^2*Y*a+6*X^2*Y*y0-4*X^2*a*y0+3*X^2*y0^2+6*X*Y^2*x0-8*X*Y*a*
x0+12*X*Y*x0*y0-8*X*a*x0*y0+6*X*x0*y0^2-3*Y^2*a^2+3*Y^2*x0^2-6*Y*a^2*y0-4*Y*a*
x0^2+6*Y*x0^2*y0-3*a^2*y0^2-4*a*x0^2*y0+3*x0^2*y0^2+X^2+2*X*x0+x0^2)/(X^2*Y*a+X
^2*a*y0+2*X*Y*a*x0+2*X*a*x0*y0+Y*a*x0^2+a*x0^2*y0+X^3+3*X^2*x0+3*X*x0^2+x0^3)-1
/2*(X^2*Y^3-2*X^2*Y^2*a+3*X^2*Y^2*y0-4*X^2*Y*a*y0+3*X^2*Y*y0^2-2*X^2*a*y0^2+X^2
*y0^3+2*X*Y^3*x0-4*X*Y^2*a*x0+6*X*Y^2*x0*y0-8*X*Y*a*x0*y0+6*X*Y*x0*y0^2-4*X*a*
x0*y0^2+2*X*x0*y0^3-Y^3*a^2+Y^3*x0^2-3*Y^2*a^2*y0-2*Y^2*a*x0^2+3*Y^2*x0^2*y0-3*
Y*a^2*y0^2-4*Y*a*x0^2*y0+3*Y*x0^2*y0^2-a^2*y0^3-2*a*x0^2*y0^2+x0^2*y0^3+X^2*Y+X
^2*y0+2*X*Y*x0+2*X*x0*y0+Y*x0^2+x0^2*y0)/(X^2*Y*a+X^2*a*y0+2*X*Y*a*x0+2*X*a*x0*
y0+Y*a*x0^2+a*x0^2*y0+X^3+3*X^2*x0+3*X*x0^2+x0^3)^2*(X^2*a+2*X*a*x0+a*x0^2)):
timelimit(30,solve(identity(eq_1,X),[x0,y0]));

[]

 

 

#now try same solve as in first example

eq_2:=1 = -X*((1/2/(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y*(2*Y
*a+2*a*y0)+1/2/(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0*(
2*Y*a+2*a*y0))/(-2*X*Y*a-2*X*a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)-(-a*Y
-a*y0+(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y+(2*X*Y*a+2*
X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0)/(-2*X*Y*a-2*X*a*y0-2*Y*a*
x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)^2*(-2*Y*a-2*a*y0))/Y/((-a+1/2/(2*X*Y*a+2*X*a*
y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y*(2*X*a+2*a*x0-2*Y-2*y0)+(2*X*Y*a
+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)+1/2/(2*X*Y*a+2*X*a*y0+2*Y*a
*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*y0*(2*X*a+2*a*x0-2*Y-2*y0))/(-2*X*Y*a-2*X*
a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0^2)-(-a*Y-a*y0+(2*X*Y*a+2*X*a*y0+2*Y*a
*x0+2*a*x0*y0-Y^2-2*Y*y0-y0^2)^(1/2)*Y+(2*X*Y*a+2*X*a*y0+2*Y*a*x0+2*a*x0*y0-Y^2
-2*Y*y0-y0^2)^(1/2)*y0)/(-2*X*Y*a-2*X*a*y0-2*Y*a*x0-2*a*x0*y0+Y^2+2*Y*y0+a^2+y0
^2)^2*(-2*X*a-2*a*x0+2*Y+2*y0)):
try
    timelimit(30,solve(identity(eq_2,X),[x0,y0]));
catch:
    print("good. No crash");
end try;

Error, (in is/duplicates:-Normal) too many levels of recursion

 

 

Download second_sovle_fail_maple_2025_1_oct_21_2025.mw

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