Re: simplifying first-order diff eq solution
- To: mathgroup at smc.vnet.net
- Subject: [mg46282] Re: simplifying first-order diff eq solution
- From: drbob at bigfoot.com (Bobby R. Treat)
- Date: Fri, 13 Feb 2004 21:56:46 -0500 (EST)
- References: <bvq7gc$5ma$1@smc.vnet.net> <c0fsbg$c2d$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I get an error in version 5.0.1 (Windows).
\!\(\*
RowBox[{\(DSolve::"bvfail"\), \(\(:\)\(\ \)\), "\<\"For some branches
of the general solution, unable
to solve the conditions. \\!\\(\\*ButtonBox[\\\"More?\\\", \
ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"DSolve::bvfail\\\"]\\)\"\>"}]\)
Bobby
Paul Abbott <paul at physics.uwa.edu.au> wrote in message news:<c0fsbg$c2d$1 at smc.vnet.net>...
> 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