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