Message Boards Message Boards

0
|
5583 Views
|
9 Replies
|
2 Total Likes
View groups...
Share
Share this post:

DSolve & Wolfram|Alpha miss ODE solution?

Posted 2 years ago

While solving ODE x^2*y'''[x] == (y''[x])^2, DSolve and Wolfram|Alpha miss the solution y(x)=(x^3)/ 6 + c1*x + c2:
https://www.wolframalpha.com/input?i=x%5E2*y%27%27%27%5Bx%5D+%3D%3D+%28y%27%27%5Bx%5D%29%5E2

Any idea why Wolfram|Alpha & DSolve lose the solution above?

POSTED BY: VolMike VolMike
9 Replies

Why? Good question? Because things are sometimes full of surprises?

dgl = D[y[x], x]^2 - x D[y[x], x] + y[x] == 0
lsg = DSolve[dgl, y[x], x][[1, 1]]
dgl /. {y[x] :> x^2/4, y'[x] :> x/2}

Two totally different solutions........ Why doesn't Mathematica find the solution (x^4) /2 ?

POSTED BY: Hans Dolhaine

According to Live CEOing Ep 591, a new option called SingularSolutions is coming for DSolve. Hopefully it will take care of this example too.

POSTED BY: Gianluca Gorni
Posted 2 years ago

This is a third order ODE. Shouldn't it have three integration constants?

POSTED BY: lara wag

Sometimes it's worth looking at what happens as the parameters approach the boundaries of their domains. For instance, the DSolve result, C[1] cannot be 0. But the limit of the DSolve solution as C[1] -> 0 yields the desired solution:

Limit[x/C[1]^2 - x^2/(2 C[1]) + C[2] + 
  x C[3] + ((1 - x C[1]) Log[1 - x C[1]])/C[1]^3, C[1] -> 0]

(*  x^3/6 + C[2] + x C[3]  *)
POSTED BY: Michael Rogers

Thanks for approach!

POSTED BY: VolMike VolMike

As Michael Rogers mentioned below, this solution occurs when c[1]->0, thus, it has 2 constants.

POSTED BY: VolMike VolMike
Posted 2 years ago

Yes, it has 2 constants.

However, it is not the general solution but a special case. I expect Mma to give the general solution. At least to me, your original question suggested that your solution is the general one. I just wanted to express that I do not believe that this can be the correct (general) solution.

POSTED BY: lara wag

Hi Hans,

I will note that there are two ways that DSolve (currently) can miss solutions assuming the problem is generally solvable, or at least two ways I know. The OP's example shows one way, and your example shows the other way.

In the OP's example, the general solution is "generic"; that is, it is missing a component of its boundary (in a suitable function space), which may be found by taking a limit (C[1] -> 0 in this case, but C[..] -> Infinity seems more common in my experience).

The other way is when there is a disconnected component, and in the case of a Clairaut equation like yours, it is traditional to call it the "singular solution," which you probably know already. This is solution is not contain in the general solution or its limiting boundary (in function space), although it is the envelope of the general solution (in the xy plane). As you also may know, one can derive the singular solution without integration.

Here, as a supplement to DSolve, is a function for deriving singular solutions. It comes from a differential equations package I wrote; the function may also be found here:

singularSolve[de_Equal, form : y_[x_] | y_, x_] := 
 Module[{p, q, u, fn, rads, a, b, ode, discriminant}, 
  fn = de /. {y[x] -> y, y'[x] -> p, Equal -> Subtract};
  rads = DeleteDuplicates@Cases[fn, Power[a_, b_Rational], Infinity];
  ode = First@
    GroebnerBasis[
     Flatten@{fn /. Power[a_, b_Rational] :> u[a, b], 
       rads /. Power[a_, b_Rational] :> 
         u[a, b]^Denominator[b] - a^Numerator[b]}, 
     rads /. Power[a_, b_Rational] :> u[a, b]];
  discriminant = Solve[{ode == 0, D[ode, p] == 0}, {y}, {p}];
  Pick[Which[
      MatchQ[form, y[x]], {y[x] -> (y /. #)}, 
      MatchQ[form, y], {y -> Function @@ {{x}, y /. #}}, 
      True, # /. p -> y'[x]] & /@ discriminant, 
   TrueQ@Simplify[ode == 0 /. Flatten@{#, p -> D[y /. #, x]}] & /@ 
    discriminant]];

singularSolve[dgl, y[x], x]
(*  {{y[x] -> x^2/4}}  *)

The system for the envelope is given by the ODE and its partial derivative with respect to y' (Clairaut's equation admits a simpler approach). The ode dgl is written in the function in terms of p = y'[x], and the system to solve, eliminating p, is the following:

{p^2 - p x + y == 0, 2 p - x == 0}
POSTED BY: Michael Rogers

@Michael

As you also may know, one can derive the singular solution without integration. Blockquote

No, I didn't know that.

POSTED BY: Hans Dolhaine
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract