Re: simplifying first-order diff eq solution
- To: mathgroup at smc.vnet.net
- Subject: [mg46228] Re: simplifying first-order diff eq solution
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Thu, 12 Feb 2004 07:15:54 -0500 (EST)
- Organization: The University of Western Australia
- References: <bvq7gc$5ma$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <bvq7gc$5ma$1 at smc.vnet.net>,
"J.S." <childrenoflessergod at yahoo.com> wrote:
> Hi, I want to solve a first-order simple non-linear differential
> equation. Incidentally, I even know the solution. Now try to solve this
> using Mathematica:
>
> DSolve[{G'[t] == -( s + t) G[t] + 1 + G[t]^2, G[0] == 0}, G[t], t]
>
> You will get a horrible series of Erfi[], while the answer is simply
>
> s+t - s Exp[t^2 + st]/(1+s Int_{0}^{t} {dt' Exp[t'^2 / 2 + s t']})
But Mathematica can, and does, compute the definite integral
Integrate[Exp[u^2/2 + s u], {u, 0, t}]
obtaining
Sqrt[Pi/2] (Erfi[(s + t)/Sqrt[2]] - Erfi[s/Sqrt[2]]) / E^(s^2/2)
You may find this horrible -- but it is an explicit closed form
expression for the integral, which is the best you can hope for.
> I am sure Mathematica is intelligent enough to reduce the results to
> this simple form, but how do I do it?
In general, a closed-form expression in terms of known special functions
is better than a definited integral.
> For example, why does Mathematica try to express the answer in Erfi[]
> (instead of erf[]), using complex variables?
Because Erfi is the simplest way of expressing this result. E.g., try
Integrate[Exp[u^2/2], {u, 0, t}]
You could express this in terms of Erf using complex variables -- but
why do you want to. It is not "simpler".
Cheers,
Paul
--
Paul Abbott Phone: +61 8 9380 2734
School of Physics, M013 Fax: +61 8 9380 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul