Re: How to prevent Solve from DSolve?

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg908] Re: How to prevent Solve from DSolve?*From*: bronstei at inf.ethz.ch (Manuel Bronstein)*Date*: Sun, 30 Apr 1995 03:42:35 -0400*Organization*: Dept. Informatik, Swiss Federal Institute of Technology

In article <3nkbu2$mq8 at news0.cybernetics.net>, Richard Q. Chen <chen at fractal.eng.yale.edu> wrote: >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] -> > > [... large output deleted ...] > >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. > You're right, that's the proper way to return solutions of nonlinear odes. FYI, if you have access to a copy of Axiom, that's exactly the kind of answer it's returning on such problems (the '== C[1]' is not printed, but that's the meaning of the output): (1) ->y := operator y (1) y Type: BasicOperator (2) ->solve(2 * y x + (x + y x) * D(y x,x) = 0, y, x) 2 2y(x) + 6x y(x) (2) ---------------- +----+ 3\|y(x) Type: Union(Expression Integer,...) Interestingly, not as simple a first integral as the one you got by hand. ----------------------------------------------------------------------------- ____________ Manuel Bronstein / / / / bronstein at inf.ethz.ch /--- / /___/ Institute for Scientific Computation / / / / ETH Zurich, Switzerland ---- / / / Tel: [+41] (1) 632-7474 Fax: [+41] (1) 632-1172 http://www.inf.ethz.ch/department/WR/html/people/bronstein.html -----------------------------------------------------------------------------