MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

How to prevent Solve from DSolve?

  • Subject: [mg888] How to prevent Solve from DSolve?
  • From: chen at fractal.eng.yale.edu (Richard Q. Chen)
  • Date: Fri, 28 Apr 1995 00:45:48 -0400
  • Apparently-to: mathgroup-send at christensen.cybernetics.net
  • Organization: Yale University

Hi,
	I find it very frustrating that Mma always tries
to give explicit solutions to an ODE, even if the solutions are
so complicated as to be useless. For example

In[2]:= Needs["Calculus`DSolve`"]

In[3]:= DSolve[2 y[x] + (x + y[x]) y'[x] == 0, y[x], x]

Out[3]= {{y[x] -> 
 
                  1/3  2
>      -2 x + (3 2    x ) / 
 
              3                         6        3           2  1/3
>        (54 x  + 27 C[1] + Sqrt[-2916 x  + (54 x  + 27 C[1]) ])    + 
 
             3                         6        3           2  1/3       1/3
>       (54 x  + 27 C[1] + Sqrt[-2916 x  + (54 x  + 27 C[1]) ])    / (3 2   )}
 
>     , {y[x] -> 
 
                                  2
>      -2 x - (3 (1 + I Sqrt[3]) x ) / 
 
           2/3      3                         6        3           2  1/3
>        (2    (54 x  + 27 C[1] + Sqrt[-2916 x  + (54 x  + 27 C[1]) ])   ) - 
 
                              3
>       ((1 - I Sqrt[3]) (54 x  + 27 C[1] + 
 
                          6        3           2  1/3        1/3
>             Sqrt[-2916 x  + (54 x  + 27 C[1]) ])   ) / (6 2   )}, 
 
                                         2
>    {y[x] -> -2 x - (3 (1 - I Sqrt[3]) x ) / 
 
           2/3      3                         6        3           2  1/3
>        (2    (54 x  + 27 C[1] + Sqrt[-2916 x  + (54 x  + 27 C[1]) ])   ) - 
 
                              3
>       ((1 + I Sqrt[3]) (54 x  + 27 C[1] + 
 
                          6        3           2  1/3        1/3
>             Sqrt[-2916 x  + (54 x  + 27 C[1]) ])   ) / (6 2   )}}


I would like to have Mma out put something like f(x,y) == C[1] so
that I will know what kind of simpler function f(x,y) may be. I can
then choose to solve for y in terms of x if it is desirable.

In this particular case I had to use pencil and paper and I obtained
the much simpler implicit solution

f(x,y) = y*(y+2x)^2 = C[1]

This is the kind of solution I wanted.

How can I prevent DSolve from using Solve to give complicated
solution?

Thanks for any info.

-- 
Richard Q. Chen
chen at fractal.eng.yale.edu




  • Prev by Date: Re: How do I define a range of a symbol?
  • Next by Date: Re: PlotRange Limitation?
  • Previous by thread: Cantor set
  • Next by thread: Re: How to prevent Solve from DSolve?