Maple 2024 Questions and Posts

These are Posts and Questions associated with the product, Maple 2024

I have used alias for various reasons inside a pagkage. It is useful for coupling old command names to modern ones.

I am trying now to get this to work inside a sub package but no success. Can this be done?

restart

 

pkg:=module()
option package;
export   Sqr, UHG;
alias(XX=Sqr);
#alias(eparm=CirclePramUHG);
Sqr:=proc(x)
   return x^2;
end proc;

 UHG:=module()
          option package;
         
          export
               CircleParmUHG;

alias(eparm=CirclePramUHG);

     CircleParmUHG := proc(T::algebraic, U::algebraic)
       local t, u, P, cp;
         #  P := point;
             t := T*denom(T)*denom(U);
             u := U*denom(T)*denom(U);
         # if P <> NullPoint then
         #   P := 'NullLine';
         #end if;
        if t::numeric and u::numeric and t<>0 and u<>0 then
             cp:=  <u^2 - t^2| 2*u*t| u^2 + t^2>/gcd(gcd(u^2 - t^2, 2*u*t), u^2 + t^2);
          else
             cp:=  <u^2 - t^2| 2*u*t| u^2 + t^2>;
        end if;
        return cp
      end proc;
    end module;
end module;

_m2044017012448

(1)

with(pkg)

[Sqr, UHG]

(2)

Sqr(4)

16

(3)

UHG:-CircleParmUHG(t,u)

[`?`]

(4)

UHG:-eparm(t,u)

Error, eparm is not a command in the pkg:-UHG package

 

with(UHG)

[CircleParmUHG]

(5)

CircleParmUHG(2,7)

Vector[row]([45, 28, 53])

(6)

eparm(2,7)

eparm(2, 7)

(7)

 

XX(3)

9

(8)
 

 

Download 2024-06-29_use_alias_in_a_Sub_Package.mw

Maple formats output depending on typesetting options "extened" and "standard" for the GUI (or interface). An example taken from

restart;
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);
                    3   /55\            3       
               k := - ln|--| + sin(x) + - exp(x)
                    8   \52/            4       

ts_standard(k);
                               

Why is the input two times returned and why one time as a list?
Somehow the first interface statement is responsible for that.

I am only interested in the reformated input inside the list.
Is it possible to fix the code?

Other observation with typesetting=standard:

restart;
interface(typesetting=standard);
expr:=cos(x)^2;
((x->x)=combine[trig])(expr);
                      

((x->x)=combine[trig])(expr);#subsequent call
                          2   1            1
                    cos(x)  = - cos(2 x) + -
                              2            2

(with Maple 2024.1 this only accurs in Math-1D)
but

restart;
expr:=cos(x)^2;
interface(typesetting=standard);
((x->x)=combine[trig])(expr);
                                      2
                        expr := cos(x) 

                            extended

                          2   1            1
                    cos(x)  = - cos(2 x) + -
                              2            2

I need to check inside typeset to see is something evaluates to 1. I can find if something contains 1 and have been using that. But got caught out last night because I forgot my work around. e.g. 1+H contains 1 and my work around is `1+H` so the check doesn't see the 1. The typeset is always the first item in the list.

restart

 

 

foo:=proc(a,{S::list:=[]})
local i,perp::boolean;
if S<>NULL then
  if (S[1])=1 or S[1]::function and has(`or`(seq (op(S[1]),i=1..nops([op(S[1])]))),1)  then
   #if (S[1])=1 or S[1]::function and `or`(seq (is(op(S[1][i]),1),i=1..nops([op(S[1])])))  then  ;#  not working
   
     perp:=true;print(perp);
    else
     perp:=false;print(perp);
  end if;
end if;
end proc:

foo(6,S=["cat"]);

 

false

(1)

foo(6,S=[1]);

true

(2)

foo(6,S=[typeset("cat=",H/H),align={above,left},color=green]); #good

true

(3)

foo(6,S=[typeset("cat=",H),align={above,left}])

false

(4)

foo(6,S=[typeset("cat=",1+H)],align={above,left},color=green);#want to fix this

 

 

true

(5)

foo(6,S=[typeset("cat=",`1+H`)]); #work around

false

(6)

foo(6,S=[typeset("cat=",`B/(H+1)`)]); #work around

false

(7)

foo(6,S=[typeset("cat=",`B/(H+1)`,"  height =",1)]); #correct

true

(8)

foo(6,S=[typeset("cat=",H^2/((2*H-H)*H),"  height =",`B/(H+1)`)]); #correct

true

(9)

op(typeset("cat=",B/(H+1)));# this would be false

 

"cat=", B/(1+H)

(10)

op(typeset("cat=",H^2/((2*H-H)*H),"  height =",`B/(H+1)`)) ;  # this would be true

 

 

"cat=", 1, "  height =", `B/(H+1)`

(11)
 

 

Download 2024-06-27_Q_check_inside_typeset.mw

There is an integration method called orering in Maple. But see no mention on it at help page 

It shows up when using option 

method=_RETURNVERBOSE

And that is how I knew about it.

It gives division by zero when asked to integrate zero !

Any one knows what is this method? Will send bug email to Maplesoft suport just in case also.
 

interface(version);

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

int(0,x)

0

int(0,x,method=orering)

Error, (in IntegrationTools:-Indefinite) numeric exception: division by zero

int(1,x,method=orering)

x

 


 

Download division_by_zero_int_orering_method.mw

 

 

Dear all, how can I simplify the following command by using nested SEQ?

tagsCornersPlot := textplot3d([[seq(cornerPoints[1 .. dim, 1]), cornerPoints[1 .. dim, 1]], [seq(cornerPoints[1 .. dim, 2]), cornerPoints[1 .. dim, 2]], [seq(cornerPoints[1 .. dim, 3]), cornerPoints[1 .. dim, 3]], [seq(cornerPoints[1 .. dim, 4]), cornerPoints[1 .. dim, 3]]], align = {above, right}, font = [Courier, bold, 20])

I wanted to keep a running total over a number of independent batch mode Maple scripts.

So I figured I use .m file.   

Each run will read the old variable from .m file, update it, and write it again.

All what it need to do is just check if the .m file exist or not to account for the very first run.

But to my surprise, I found the variable content do not update after doing SAVE A,"TMP.m"

It seems Maple sees A variable already in TMP.m and does not save the new value of A again?. Just guessing. I was expecting that after I do  read "TMP.m" that the variable in the file will overwrite same variable value in the local proc. 

After one time update, each time I read the variable, its value is same.

First time using save myself, so may be I am doing something wrong but do not see it. I was expecting to see   10,20,30,40,50,..... running total, but I see 10,20,20,20,20,...../

What Am I doing wrong? do I need to make the variable global for this to work?

Here is worksheet. Maple 2024 on windows 10.


 

24344

restart;

24344

currentdir("G:/public_html/my_notes/solving_ODE/new_version/tests/");
try  #remove TMP.m first time
    FileTools:-Remove("TMP.m");
catch:
    NULL;
end try;

#this function is called many times.
foo:=proc()
 local A:=0,B;
 A:=A+10;
 if FileTools:-Exists("TMP.m") then
     print("TMP.m exists, will read its content");
     B:=A; #save copy
     read "TMP.m";
     print("Read old value of A from file",A);
     A:= A + B; #update running total
     print("Now A is ",A," will now save this new value");     
     save A,"TMP.m";
  else
     print("TMP.m do not exist, first time saving to it");
     save A,"TMP.m";
  fi;
  print("A=",A);
end proc:
 

"C:\Program Files\Maple 2024"

foo();

"TMP.m do not exist, first time saving to it"

"A=", 10

foo();

"TMP.m exists, will read its content"

"Read old value of A from file", 10

"Now A is ", 20, " will now save this new value"

"A=", 20

foo();

"TMP.m exists, will read its content"

"Read old value of A from file", 10

"Now A is ", 20, " will now save this new value"

"A=", 20

foo();

"TMP.m exists, will read its content"

"Read old value of A from file", 10

"Now A is ", 20, " will now save this new value"

"A=", 20

foo();

"TMP.m exists, will read its content"

"Read old value of A from file", 10

"Now A is ", 20, " will now save this new value"

"A=", 20

 


 

Download T.mw

Just found very serious problem.

Was trying my code in command line maple (cmaple.exe) only to find latex() command fails now.

Same code works with no problem in worksheet.  Here is first the worksheet version.
 

33308

restart;

33308

interface(version);

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

ode:=diff(y(x),x)=x;
try
    s:=latex(ode,'output'=string):
    print("Latex command worked on ode");
catch:
    error lastexception;
end try:


the_output:=Student:-ODEs:-ODESteps(ode,y(x)):
try
    s:=latex(the_output,'output'=string):
    print("Latex command worked");
catch:
    error lastexception;
end try:

diff(y(x), x) = x

"Latex command worked on ode"

"Latex command worked"

 


 

Download worksheet_version_latex_OK_june_21_2024.mw

Now I do same thing but from command line. I put the above code in A.mpl file in some folder on windows:

ode:=diff(y(x),x)=x;
try
    s:=latex(ode,'output'=string):
    print("Latex command worked on ode");
catch:
    error lastexception;
end try:


the_output:=Student:-ODEs:-ODESteps(ode,y(x)):
try
    s:=latex(the_output,'output'=string):
    print("Latex command worked");
catch:
    error lastexception;
end try:

 

Then opened a command windows terminal and cd to the above folder and typed this command

"C:\Program Files\Maple 2024\bin.X86_64_WINDOWS\cmaple.exe"  -q A.mpl

And this is what happens. Latex works OK on generating latex for the ode, but not for the steps!It gives error

 

Error, latex, invalid input: %1 uses a %-2 argument, %3 (of type %4), which is missing, latex:-ModuleApply, 1, e, anything

Also I was not able to suppress the display of the odesteps on the terminal even though they do not display in worksheet, they still print in the terminal. But this is a side issue.

Why does Latex gives error in command line? 

I think it is related to those funny looking characters (bullets?) signs at the start of each ODE step that show in the terminal? 

But in worksheet latex has no problem converting the ODE steps to Latex. It is only in cmaple. 

Is there a way to correct this? It seems to be some character encoding is causing the problem for Latex on command line vs. worksheet.

 

Windows 10, Maple 2024

 

 

 

Hi -- I have used this valuable platform many times to ask technical questions, but I am facing a particularly annoying problem in Maple 24 that did not exist in Maple 23. When I work on a Maple sheet and press Shift + Enter to move the cursor to a new line, an unwanted space appears. The issue is that when I use this combination twice on existing Maple sheets to create whitespace, the variable name often gets split up. Additionally, when I try to move back to the previous line to add something, I simply cannot. This issue did not exist in Maple 23 or any version since Maple 15. I have checked Tools > Options under both Display and Interface, but I have not found a solution. Is there a way to eliminate this annoying space?

  I would like to print my help pages to pdf. Is there a way to install A3 paper size. That would help in maintaining the layout as seen on the screen. 

Maybe there is an alternative approach.

How did Student:-ODEs:-ODESteps([ode,ic]); managed to get this zero solution to this ode? I can't follow the logic it did.

Any ideas what it is doing in the 4th step there?
 

13496

interface(version);

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

ode := diff(y(x), x) = y(x)*(2*y(x) - x)/(x*(-2*x + 3*y(x)));
ic:=y(1)=-1;
dsolve([ode,ic]);

diff(y(x), x) = y(x)*(2*y(x)-x)/(x*(-2*x+3*y(x)))

y(1) = -1

y(x) = (1/6)*(I*((-27*x^2+x^3+3*3^(1/2)*(-2*x^5+27*x^4)^(1/2))^(2/3)-x^2)*3^(1/2)-((-27*x^2+x^3+3*3^(1/2)*(-2*x^5+27*x^4)^(1/2))^(1/3)-x)^2)/(-27*x^2+x^3+3*3^(1/2)*(-2*x^5+27*x^4)^(1/2))^(1/3)

#now try ODEsteps
Student:-ODEs:-ODESteps([ode,ic]);
 

"[[,,"Let's solve"],[,,[(&DifferentialD;)/(&DifferentialD;x) y(x)=(y(x) (2 y(x)-x))/(x (-2 x+3 y(x))),y(1)=-1]],["&bullet;",,"Highest derivative means the order of the ODE is" 1],[,,(&DifferentialD;)/(&DifferentialD;x) y(x)],["&bullet;",,"Solve for the highest derivative"],[,,(&DifferentialD;)/(&DifferentialD;x) y(x)=(y(x) (2 y(x)-x))/(x (-2 x+3 y(x)))],["&bullet;",,"Use initial condition" y(1)=-1],[,,0],["&bullet;",,"Solve for" 0],[,,0=0],["&bullet;",,"Substitute" 0=0 "into general solution and simplify"],[,,0],["&bullet;",,"Solution to the IVP"],[,,0]]"

odetest(y(x)=0,[ode,ic])

[0, -1]

 


 

Download strange_ode_steps_solution_june_20_2024.mw

I noticed when doing Vector([a,b,c])  and if a,b,c are too long to fit current worksheet width, Maple adds extra [], so it looks like this

          [[a]
           [b]
           [c]]

When I am expecting

          [a
           b
           c]


It is confusing as it looks now like a Matrix. The extra [] go away when the screen is made wide. If each entry is too wide for worksheet, it can wrap it, no problem there, but without adding those extra [].

I spend sometime trying to figure why I am getting a Matrix like output because of this, until by chance I changed worksheet width and noticed the [] suddenly disappeared. I do not think this is good design.

For reference, I have disabled the new Matrix scrolling in Maple 2024 per this question. I do not know if this has anything to do with what is going on here. 

Here is worksheet

28548

interface(version);

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

ode:=(3*x*y(x) - 2*x^2)*diff(y(x), x) = 2*y(x)^2 - x*y(x);
ic:=y(1)=-1;

(3*x*y(x)-2*x^2)*(diff(y(x), x)) = 2*y(x)^2-x*y(x)

y(1) = -1

sol:=[dsolve(ode)]:

Vector(sol);

Vector(3, {(1) = y(x) = (1/6)*4^(1/3)*(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)/c__1+(1/6)*x^2*c__1*4^(2/3)/(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)+(1/3)*x, (2) = y(x) = -(1/12)*4^(1/3)*(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)/c__1-(1/12)*x^2*c__1*4^(2/3)/(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)+(1/3)*x-((1/2)*I)*sqrt(3)*((1/6)*4^(1/3)*(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)/c__1-(1/6)*x^2*c__1*4^(2/3)/(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)), (3) = y(x) = -(1/12)*4^(1/3)*(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)/c__1-(1/12)*x^2*c__1*4^(2/3)/(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)+(1/3)*x+((1/2)*I)*sqrt(3)*((1/6)*4^(1/3)*(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3)/c__1-(1/6)*x^2*c__1*4^(2/3)/(x^2*(3*sqrt(3)*sqrt(4*c__1*x+27)+2*c__1*x+27)*c__1^2)^(1/3))})

 

 


Download vector_format_june_20_2024.mw

Here is screen show when I changed the width of the worksheet using the mouse so the equation fits

You see, now there is only ONE edge on each side as expected. Compare to this screen shot where now I make worksheet width smaller

This is confusing, since it looks like Matrix or listlist now and not Vector.

Is this by design?

Have a list of four projective points. I need to check that they are colinear projectively. If one point is at infinity i.e. 0 in z position I can chech if combination of cross product and dot product is 0.
a)  What is a good way to find if one ot the four has zero in z position?

b) Having found that is there a neat way of piching the next two/three points by making the count wrap automatically. e.g 3  then 4,5,6 i.e. 3,4,1,2

restart

with(LinearAlgebra)

pt := [`<,>`(1, 1, 1), `<,>`(2, 1, 1), `<,>`(3, 1, 0), `<,>`(4, 1, 1)]

pt := [Vector(3, {(1) = 1, (2) = 1, (3) = 1}), Vector(3, {(1) = 2, (2) = 1, (3) = 1}), Vector(3, {(1) = 3, (2) = 1, (3) = 0}), Vector(3, {(1) = 4, (2) = 1, (3) = 1})]

(1)

ListTools(Occurences([anything, anything, 0], pt))

ListTools(Occurences([anything, anything, 0], [Vector(3, {(1) = 1, (2) = 1, (3) = 1}), Vector(3, {(1) = 2, (2) = 1, (3) = 1}), Vector(3, {(1) = 3, (2) = 1, (3) = 0}), Vector(3, {(1) = 4, (2) = 1, (3) = 1})]))

(2)

``

`&x`(pt[1]-pt[3], pt[1]-pt[3]).(pt[4]-pt[3])

0

(3)

NULL

Download 2024-06-18_Q_4_points_projective_colinear.mw

I am getting Maple server crash each time running this solve command.

Could others reproduce it? I am using windows 10. Maple 2024.  Why does it happen?

Will report it to Maplesoft in case it is not known. Worksheet below.

22396

restart;

23484

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

sol:=(3^(1/2)*u(x)-1/3*3^(1/2)+(3*u(x)^2-2*u(x)-1)^(1/2))^(1/3*3^(1/2)) = x^(1/3*3^(1/2))*c__1;

(3^(1/2)*u(x)-(1/3)*3^(1/2)+(3*u(x)^2-2*u(x)-1)^(1/2))^((1/3)*3^(1/2)) = x^((1/3)*3^(1/2))*c__1

eval(sol,u(x) = u);

(3^(1/2)*u-(1/3)*3^(1/2)+(3*u^2-2*u-1)^(1/2))^((1/3)*3^(1/2)) = x^((1/3)*3^(1/2))*c__1

timelimit(30,[solve(%,u)]);


 

Download maple_crash_calling_solve_june_18_2024.mw

This bug seems to have been introduced in Maple 2023 since it crashes there also.

But not in Maple 2022. No crash there. Same PC.

22396

restart;

interface(version);

`Standard Worksheet Interface, Maple 2022.2, Windows 10, October 23 2022 Build ID 1657361`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1762. The version installed in this computer is 1401 created 2023, March 2, 10:49 hours Pacific Time, found in the directory C:\Users\Owner\maple\toolbox\2022\Physics Updates\lib\`

sol:=(3^(1/2)*u(x)-1/3*3^(1/2)+(3*u(x)^2-2*u(x)-1)^(1/2))^(1/3*3^(1/2)) = x^(1/3*3^(1/2))*c__1;

(3^(1/2)*u(x)-(1/3)*3^(1/2)+(3*u(x)^2-2*u(x)-1)^(1/2))^((1/3)*3^(1/2)) = x^((1/3)*3^(1/2))*c__1

eval(sol,u(x) = u);

(3^(1/2)*u-(1/3)*3^(1/2)+(3*u^2-2*u-1)^(1/2))^((1/3)*3^(1/2)) = x^((1/3)*3^(1/2))*c__1

solve(%,u);

(1/18)*3^(1/2)*(3*(x^((1/3)*3^(1/2))*c__1)^(3^(1/2))+2*3^(1/2)+4*(x^((1/3)*3^(1/2))*c__1)^(-3^(1/2)))

 

 

Download maple_NO_crash_calling_solve_june_18_maple_2022.mw

odeadvisor says that this ode is _homogeneous, `class A`, but I am not able to verify this. Also when asking dsolve to solve it as 'homogeneous' it returns no solution. 

This type is described in https://www.maplesoft.com/support/help/maple/view.aspx?path=odeadvisor%2fhomogeneous

Here is worksheet with my tries.

Would someone be able to confirm if this is really an _homogeneous, `class A` ?

my own code checking says no.  But if it is, then why dsolve do not solve it when asking it to use homogeneous method? Is the method I asked it to use it do not apply to class A?

30348

restart;

30348

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

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

[[_homogeneous, `class A`], _dAlembert]

infolevel[dsolve]:=5;
dsolve(ode,y(x))

 

5

Methods for first order ODEs:

   *** Sublevel 2 ***

   Methods for first order ODEs:

   -> Solving 1st order ODE of high degree, 1st attempt

   trying 1st order WeierstrassP solution for high degree ODE

   trying 1st order WeierstrassPPrime solution for high degree ODE

   trying 1st order JacobiSN solution for high degree ODE

   trying 1st order ODE linearizable_by_differentiation

   trying differential order: 1; missing variables

   trying simple symmetries for implicit equations

   <- symmetries for implicit equations successful

y(x) = -((1/2)*I)*2^(1/2)*x, y(x) = ((1/2)*I)*2^(1/2)*x, y(x) = RootOf(-ln(x)+Intat(-(-2*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*_a^2+2*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*_a^3-((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)+_a*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)+_a^2)/(((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*(2*_a^4+3*_a^2+1)), _a = _Z)+c__1)*x, y(x) = RootOf(-2*ln(x)+Intat(((2*I)*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*3^(1/2)*_a^2+I*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*3^(1/2)-2*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*_a^2-4*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*_a^3+I*3^(1/2)*_a^2-((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)-2*_a*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)+_a^2)/(((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*(2*_a^4+3*_a^2+1)), _a = _Z)+2*c__1)*x, y(x) = RootOf(-2*ln(x)-Intat(((2*I)*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*3^(1/2)*_a^2+I*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*3^(1/2)+I*3^(1/2)*_a^2+2*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)*_a^2+4*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*_a^3+((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(2/3)+2*_a*((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)-_a^2)/(((_a^2-(2*_a^2+1)^(1/2)+1)*_a/(2*_a^2+1)^(3/2))^(1/3)*(2*_a^4+3*_a^2+1)), _a = _Z)+2*c__1)*x

dsolve(ode,y(x),[homogeneous])

Classification methods on request

Methods to be used are: [homogeneous]

Successful isolation of dy/dx: 3 solutions were found. Trying to solve each resulting ODE.

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

* Tackling ODE using method: homogeneous

--- Trying classification methods ---

trying homogeneous types:

sol:=PDEtools:-Solve(ode,diff(y(x),x));

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

map(X->DEtools:-odeadvisor(X),[sol])

[[[_homogeneous, `class A`], _dAlembert], [[_homogeneous, `class A`]], [[_homogeneous, `class A`]]]

map(X->dsolve(X,y(x),[homogeneous]),[sol])

Classification methods on request

Methods to be used are: [homogeneous]

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

* Tackling ODE using method: homogeneous

--- Trying classification methods ---

trying homogeneous types:

Classification methods on request

Methods to be used are: [homogeneous]

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

* Tackling ODE using method: homogeneous

--- Trying classification methods ---

trying homogeneous types:

Classification methods on request

Methods to be used are: [homogeneous]

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

* Tackling ODE using method: homogeneous

--- Trying classification methods ---

trying homogeneous types:

[]

 

 

Download checking_homogo_ode_type_june_18_2024.mw

Hello guys, I am doing the numercial error analysis study, but now I meet such problem:
how to change the 2d dot plot to the 3d plot? I mean extending like the generatrix of a cylinder.
It can be understood as the inverse operation of projecting a three-dimensional xyz surface onto the xy plane. the code is attached. Welcome all you discuss.

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