C_R

3412 Reputation

21 Badges

5 years, 312 days

MaplePrimes Activity


These are answers submitted by C_R

To sure if this answers fully your question but if you in integrate the lefthand side of expression (2) over r and add an integration constant you will get an equivalent result as shown in DESol.

restart;with(PDETools):declare(omega(r),prime=r)

omega(r)*`will now be displayed as`*omega

 

`derivatives with respect to`*r*`of functions of one variable will now be displayed with '`

(1)

(-48*Pi*ln(r)*Q^3*r^2 + 6*M*r^2 - 3*r^3)*diff(diff(diff(omega(r), r), r), r) + (-96*Pi*Q^3*r - 6*r^2)*diff(diff(omega(r), r), r) + (96*Pi*Q^3*ln(r) + 192*Pi*Q^3 - 12*M + 12*r)*diff(omega(r), r) + 6*omega(r) = 0

(-48*Pi*ln(r)*Q^3*r^2+6*M*r^2-3*r^3)*(diff(diff(diff(omega(r), r), r), r))+(-96*Pi*Q^3*r-6*r^2)*(diff(diff(omega(r), r), r))+(96*Pi*Q^3*ln(r)+192*Pi*Q^3-12*M+12*r)*(diff(omega(r), r))+6*omega(r) = 0

(2)

dsolve({(2)},omega(r))

{omega(r) = DESol({diff(diff(_Y(r), r), r)-(-32*Pi*ln(r)*Q^3*r+16*Pi*Q^3*r+4*M*r-r^2)*(diff(_Y(r), r))/(r^2*(-16*Pi*Q^3*ln(r)+2*M-r))-(-48*Pi*Q^3-2*r)*_Y(r)/(r^2*(-16*Pi*Q^3*ln(r)+2*M-r))+c__1/(r^2*(-16*Pi*Q^3*ln(r)+2*M-r))}, {_Y(r)})}

(3)

int(lhs((2)),r)

3*(48*Pi*Q^3+2*r)*omega(r)+3*(32*Pi*ln(r)*Q^3*r-16*Pi*Q^3*r-4*M*r+r^2)*(diff(omega(r), r))+3*(-16*Pi*ln(r)*Q^3*r^2+2*M*r^2-r^3)*(diff(diff(omega(r), r), r))

(4)

coeff((4),diff(omega(r), r, r))

-48*Pi*ln(r)*Q^3*r^2+6*M*r^2-3*r^3

(5)

add(simplify([(op((4)),c__1)/~(5)]))

(48*Pi*Q^3+2*r)*omega(r)/(r^2*(-16*Pi*Q^3*ln(r)+2*M-r))-(-32*Pi*Q^3*ln(r)+16*Pi*Q^3+4*M-r)*(diff(omega(r), r))/(r*(-16*Pi*Q^3*ln(r)+2*M-r))+diff(diff(omega(r), r), r)+(1/6)*c__1/(r^2*(-8*Pi*Q^3*ln(r)+M-(1/2)*r))

(6)
 

 

Download DESol_Question_reply.mw

The problem with the integral is that ln(V), where V is a physical quantity,  does not evaluate to numerical values.
Here is why Maple can only provide an answer if n and m are and the integration variable are assumed dimensionless:
 

Original problem without units

`assuming`([int(n/V, V = V__1 .. V__2)], [V__1 > 0, V__2 > 0])

-ln(V__1)*n+ln(V__2)*n

(1)

Replacing this by a dimensionless expression

`assuming`([int(n/v, v = v__1 .. v__2)], [v__1 > 0, v__2 > 0])

-ln(v__1)*n+ln(v__2)*n

(2)

were v is a dimensionless value. The unit of the physical quantity V is unit_V  thus defining V as

V = v*unit_V

V = v*unit_V

(3)

Substituting now the integration ranges into the solution (2)

subs(v__1 = n*Unit('m'^3)/unit_V, v__2 = m*Unit('m'^3)/unit_V, -ln(v__1)*n+ln(v__2)*n)

-ln(n*Units:-Unit(m^3)/unit_V)*n+ln(m*Units:-Unit(m^3)/unit_V)*n

(4)

Since

unit_V = Unit('m'^3)

unit_V = Units:-Unit(m^3)

(5)

We get the same output as Maple provides

subs(unit_V = Units:-Unit(m^3), -ln(n*Units:-Unit(m^3)/unit_V)*n+ln(m*Units:-Unit(m^3)/unit_V)*n)

-ln(n)*n+ln(m)*n

(6)

Edit: variant without auxiliary variable unit_V

 

v__1 = V__1*%/Unit('m'^3), v__2 = V__2*%/Unit('m'^3)

v__1 = `%/`(V__1, Units:-Unit(m^3)), v__2 = `%/`(V__2, Units:-Unit(m^3))

(7)

V__1 = n*Unit('m'^3), V__2 = m*Unit('m'^3)

V__1 = n*Units:-Unit(m^3), V__2 = m*Units:-Unit(m^3)

(8)

subs(V__1 = n*Units:-Unit(m^3), V__2 = m*Units:-Unit(m^3), [v__1 = `%/`(V__1, Units:-Unit(m^3)), v__2 = `%/`(V__2, Units:-Unit(m^3))])[]

v__1 = `%/`(n*Units:-Unit(m^3), Units:-Unit(m^3)), v__2 = `%/`(m*Units:-Unit(m^3), Units:-Unit(m^3))

(9)

value(subs(%, -ln(v__1)*n+ln(v__2)*n))

-ln(n)*n+ln(m)*n

(10)

NULL


Updated worksheet: Download Units_Int_reply_2.mw

Former worksheet: Download Units_Int_reply.mw

Assumptions on names having a unit such as

       assuming V::[m^3]

would be of great value for mixed expression containing names/symbols and units since Maple could detect conflicts and errors

In you code: Have you tried to remove these brackets?

If working without a Unit package (which is already quite powerfull in combination with simplify and convert) is accepable, try

Maple 2024, by the way, simplifies also with Units:-Simple loaded

Solving by hand an explicit solution can be derived

sol:=dsolve(ode);
subs(x=a,y(a)=b,%):
map(tan,%);
solve(%,{c__1});
simplify(subs(%[1],sol));

This solution is too complex for odetest. However, when arctan(y,x) is converted to arctan the IC is correctly reproduced.
 

Try removing the square bracket in D1. Square brackets are used in Maple to create a list.

For inequalties you might need assumptions as well depending on the expression.

I have tried to verify G1 with odetest which worked for + but not for -

y(x) = -sqrt(-epsilon)*tanh((x+lambda)*sqrt(-epsilon)):
odetest(%,ode);

                /         /                         (1/2)\\
      2 epsilon \-1 + cosh\2 (x + lambda) (-epsilon)     //
    - -----------------------------------------------------
                    /                         (1/2)\       
            1 + cosh\2 (x + lambda) (-epsilon)     /       

So maybe the list is incorrect in some details.

Here are other solutions (without lambda) that can be obtained straight out of the library using the option method.  Anything else, I am afraid, requires advanced skills and/or manipulation by hand. Were you looking for something like that?

restart;kernelopts(version);
with(DEtools):
ode := diff(y(x), x) = epsilon - y(x)^2;
                                  

sol := dsolve(ode);
                 
    

P := particularsol(ode);

`Maple 2024.1, X86 64 WINDOWS, Jun 25 2024, Build ID 1835466`

 

diff(y(x), x) = epsilon-y(x)^2

 

y(x) = tanh(epsilon^(1/2)*(c__1+x))*epsilon^(1/2)

 

y(x) = epsilon^(1/2), y(x) = -epsilon^(1/2), arctanh(y(x)/epsilon^(1/2))-x*epsilon^(1/2)+c__1 = 0

(1)

indices(`dsolve/methods`)

[1], [2, nonlinear], [1, high_degree], [2, "linear_homogeneous other"], [2, "linear_homogeneous all methods"], [2, "hypergeometric"], [3, linear_homogeneous], [2, "special_functions"], [2, linear_homogeneous], [1, "special"], [high, linear_homogeneous], [high, linear_nonhomogeneous], [3, linear_nonhomogeneous], [2, "linear_homogeneous as given"], [2, linear_nonhomogeneous], [high, nonlinear], [high, "development"], [1, semiclass], [2, "development"], [2, "linear_homogeneous in Normal Form"], [1, extra], [3, nonlinear], [3, "development"], [1, "development"]

(2)

NULL

[entries(`dsolve/methods`[1])];
seq([%[i],dsolve(ode,%[i])],i=1..nops(%));

[[quadrature], [linear], [Bernoulli], [separable], [inverse_linear], [homogeneous], [Chini], [lin_sym], [exact], [Abel], [pot_sym]]

 

[[quadrature], -c__1+x-arctanh(y(x)/epsilon^(1/2))/epsilon^(1/2) = 0], [[linear]], [[Bernoulli]], [[separable], y(x) = tanh(epsilon^(1/2)*(c__1+x))*epsilon^(1/2)], [[inverse_linear], y(x) = -tanh(c__1*epsilon^(1/2)-x*epsilon^(1/2))*epsilon^(1/2)], [[homogeneous]], [[Chini], y(x) = I*tan(-I*x*epsilon^(1/2)+c__1)*epsilon^(1/2)], [[lin_sym], y(x) = tanh(epsilon^(1/2)*(c__1+x))*epsilon^(1/2)], [[exact], y(x) = tanh(c__1*epsilon^(1/2)+x*epsilon^(1/2))*epsilon^(1/2)], [[Abel]], [[pot_sym]]

(3)

[entries(`dsolve/methods`[1,high_degree])];
seq([%[i],dsolve(ode,%[i])],i=1..nops(%));

[[WeierstrassP], [WeierstrassPPrime], [JacobiSN], [linearizable_by_differentiation], [missing], [dAlembert], [homogeneous_B], [sym_implicit]]

 

[[WeierstrassP]], [[WeierstrassPPrime]], [[JacobiSN]], [[linearizable_by_differentiation]], [[missing], y(x) = -epsilon^(1/2), y(x) = epsilon^(1/2), y(x) = -tanh(c__1*epsilon^(1/2)-x*epsilon^(1/2))*epsilon^(1/2)], [[dAlembert], y(x) = epsilon^(1/2), [x(_T) = arctanh((-_T+epsilon)^(1/2)/epsilon^(1/2))/epsilon^(1/2)+c__1, y(_T) = (-_T+epsilon)^(1/2)], y(x) = -epsilon^(1/2), [x(_T) = -arctanh((-_T+epsilon)^(1/2)/epsilon^(1/2))/epsilon^(1/2)+c__1, y(_T) = -(-_T+epsilon)^(1/2)]], [[homogeneous_B]], [[sym_implicit]]

(4)

[entries(`dsolve/methods`[1,semiclass])];
seq([%[i],dsolve(ode,%[i])],i=1..nops(%));

[[Riccati], [inverse_Riccati], [equivalent_to_Abel], [linearizable], [linearizable_by_differentiation]]

 

[[Riccati], y(x) = (1/2)*tan(-(1/2)*x*(-4*epsilon)^(1/2)+(1/2)*c__1*(-4*epsilon)^(1/2))*(-4*epsilon)^(1/2)], [[inverse_Riccati]], [[equivalent_to_Abel]], [[linearizable]], [[linearizable_by_differentiation]]

(5)

[entries(`dsolve/methods`[1,extra])];
seq([%[i],dsolve(ode,%[i])],i=1..nops(%));

[[inverse_Riccati], [Abel_AIL], [`sym_pat/[F(x)*G(y),0]`], [`sym_pat/[F(x),G(x)]`], [`sym_pat/[F(x),G(y)]`], [`sym_pat/[F(x)+G(y),0]`], [`sym_pat/[F(x),G(x)*y+H(x)]`], [sym_pat], [exp_sym]]

 

[[inverse_Riccati]], [[Abel_AIL]], [[`sym_pat/[F(x)*G(y),0]`], y(x) = -tanh(c__1*epsilon^(1/2)-x*epsilon^(1/2))*epsilon^(1/2)], [[`sym_pat/[F(x),G(x)]`], y(x) = tanh(epsilon^(1/2)*(c__1+x))*epsilon^(1/2)], [[`sym_pat/[F(x),G(y)]`]], [[`sym_pat/[F(x)+G(y),0]`], y(x) = tanh(c__1*epsilon^(1/2)+x*epsilon^(1/2))*epsilon^(1/2)], [[`sym_pat/[F(x),G(x)*y+H(x)]`], y(x) = tanh(epsilon^(1/2)*(c__1+x))*epsilon^(1/2)], [[sym_pat], y(x) = -tanh(c__1*epsilon^(1/2)-x*epsilon^(1/2))*epsilon^(1/2)], [[exp_sym]]

(6)

NULL

Download dsolve_methods.mw

I cannot run your worksheet because

with(Syrup);
Error, invalid input: with expects its 1st argument, pname, to be of type {`module`, package}, but received Syrup

However, what I see in your assumptions is too restrictive. Instead of "and" try comma
 

assumptions := 0 < `&omega;0p`, 0 < `&omega;0s`, 0 < Lp, 0 < Ls, 0 < k, 0 < Rp, 0 < Rs, 0 < omega, 0 < L, 0 < Idc, 0 < Vbat

 

Maple tries to evaluate your integral symbolically. You can force it to integrate numerically by

evalf(Int(Int(F[1](x,y),x=0..1.),y=0..1.));

or

int(int(F[1](x,y),x=0..1.,numeric=true),y=0..1.);


See ?evalf,Int

dharrs version seems to switch automatically to numerical integration.

In your worksheet you compute coeff from expression (5) which is the length of the expression.

If you remove the length statement, you can compute some coefficients from the third operand of the product

Using Typesetting you can textplot items above each other. Here gamma2 is printed over an invisible character which provides the space to the point.

display(point(Pgamma2,symbol=solidcircle,symbolsize=14),textplot([Pgamma2[],Typesetting:-mover(Typesetting:-mo("&InvisibleTimes;"),Typesetting:-mo("&gamma;2")),align={above}]))

It is solve that cannot deal with the two solutions in the same way.

In the "good" case solve returns a warning

solve(ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2), y(x));
Warning, solutions may have been lost

and stops searching for "further" solutions. In the "bad" case solve tries hard to find an explicit solution (which I  doubt exists). This way odestest can never apply methods for implicit solutions.
 

solve(ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))), y(x)); #hangs


 

interface(version);

`Standard Worksheet Interface, Maple 2024.1, Windows 10, June 05 2024 Build ID 1828976`

(1)

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1767 and is the same as the version installed in this computer, created 2024, June 28, 12:19 hours Pacific Time.`

(2)

restart;

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

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

(3)

bad_sol:=ln(x) - c__1 - 1/2*ln((y(x)^2 - 6*x)/x) - 3*ln((sqrt(3)*y(x) + sqrt((3*y(x)^2 - 16*x)/x)*sqrt(x))/sqrt(x)) + 1/2*arctanh(1/2*(-16*sqrt(x) + 3*y(x)*sqrt(2)*sqrt(3))*sqrt(2)/(sqrt((3*y(x)^2 - 16*x)/x)*sqrt(x))) + 1/2*arctanh(1/2*(16*sqrt(x) + 3*y(x)*sqrt(2)*sqrt(3))*sqrt(2)/(sqrt((3*y(x)^2 - 16*x)/x)*sqrt(x))) = 0;

ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))) = 0

(4)

good_sol:=ln(x) - c__1 - 1/2*ln((y(x)^2 - 6*x)/x) - 3*ln((sqrt(3)*y(x) + sqrt(x)*sqrt((3*y(x)^2 - 16*x)/x))/sqrt(x)) + 1/12*sqrt(3)*sqrt(6)*sqrt(2)*arctanh(1/2*(-16*sqrt(x) + 3*y(x)*sqrt(6))*sqrt(2)/(sqrt(x)*sqrt((3*y(x)^2 - 16*x)/x))) + 1/12*sqrt(3)*arctanh(1/2*(16*sqrt(x) + 3*y(x)*sqrt(6))*sqrt(2)/(sqrt(x)*sqrt((3*y(x)^2 - 16*x)/x)))*sqrt(6)*sqrt(2) = 0;
 

ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2) = 0

(5)

simplify(bad_sol-good_sol)

0 = 0

(6)

trace(solve);

solve

(7)

odetest(good_sol,ode); #instant answer

{--> enter solve, args = ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2), y(x)

 

[ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2), y(x)]

 

false

 

_MaxSols

 

100

 

true

 

_SolutionsMayBeLost

 

{y(x)}

 

false

 

{}

 

{}

 

{}

 

[ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2), y(x)]

 

false

 

true

 

proc (x) options operator, arrow; evalb(normal(SolveTools:-CancelInverses(x)) = 0) end proc

 

{ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/12)*3^(1/2)*6^(1/2)*2^(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/12)*3^(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*6^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))*6^(1/2)*2^(1/2)}

 

{}

 

[]

 

_MaxSols

 

[]

 

{}

 

[]

 

[]

 

[]

 

[]

 

[]

 

[]

 

[]

 

[]

 

y(x)

 

<-- exit solve (now in \`ODEtools/Solve/EnvDropMultiplicity\`) = }

 

0

(8)

odetest(bad_sol,ode); #hangs

{--> enter solve, args = ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))), y(x)

 

[ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))), y(x)]

 

false

 

_MaxSols

 

100

 

true

 

_SolutionsMayBeLost

 

{y(x)}

 

false

 

{}

 

{}

 

{}

 

[ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))), y(x)]

 

false

 

true

 

proc (x) options operator, arrow; evalb(normal(SolveTools:-CancelInverses(x)) = 0) end proc

 

{ln(x)-c__1-(1/2)*ln((y(x)^2-6*x)/x)-3*ln((3^(1/2)*y(x)+((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2))/x^(1/2))+(1/2)*arctanh((1/2)*(-16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))+(1/2)*arctanh((1/2)*(16*x^(1/2)+3*y(x)*2^(1/2)*3^(1/2))*2^(1/2)/(((3*y(x)^2-16*x)/x)^(1/2)*x^(1/2)))}

 

{}

(9)

 

radnormal(bad_sol)

odetest(%,ode); #instant answer

 


 

Download why_same_sol_hangs_july_7_2024_-_reply.mw

In your code you need to add colons (yellow) to assign y1(x) and y2(x) to names. You also had a space too much (red)

Alternativley, if you do not want to assign to names, you can use subs

y1(x) = 2*sin(x) - sin(2*x) + cos(2*x);
y2(x) = 4*sin(x) + sin(2*x) - cos(2*x);
1/2*(diff(y1(x), x)^2 + diff(y2(x), x)^2) + 1/2*(3*y1(x)^2 - y1(x)*y2(x) + y2(x)^2);
simplify(subs(%%%, %%, %));

I just did it with a Maple 2024.0 installer file that I still had in my download folder. You have to download a full installation (not an upgrade) from here and intal Maple in a separate folder.

Now I have 2024.0 and 2024.1 in my start menu on Windows and both are running.

Concerning methods:

odeadvisor (according to ?DEtools,odeadvisor) tries to classify an ODE and to suggest solution methods.

This could be interpreted in the way that each classification (i.e. a displayed type) has a corresponding method named similarly. This is, IMO, not the case, for several reasons:

  • Entering a classification (as outputted from odeadvisor) as method for dsolve often leads to the error message that this method is not implemented. With some edits dsolve might accept the input, which does not mean that the method is appropriate.
  • Some types copied literally from odeadvisor as method for dsolve produce solutions that do not pass odetest.
  • odeadvisor output does not suggest directly: Starting from odeadvisor output to ?odeadvisor to ?odeadvisor,<TYPE> leads to the help page of a type where Maple suggests how to solve this type. Rarely (if at all) a method is used explicitly on these help pages in a call for dsolve. Sometimes more than on way to solve a particular ode is described.

Concerning the ode:
I cannot match Maples definition

dAlembert_ode := y(x)=x*f(diff(y(x),x))+g(diff(y(x),x));

with the ode.

The solution y(x) = x - 1 is also obtained by

dsolve(ode,[dAlembert]);

which tells me that the IC is not used with that method (I remember a similar case we discussed before).

Where is the information comming from that this ode is also of type dAlembert? I see "Abel 2nd type class A" listed for which I find it difficult to identify the appropriate method under dsolve\method.

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