Re: << Getting all solutions from DSolve >>
- To: mathgroup at smc.vnet.net
- Subject: [mg85890] Re: << Getting all solutions from DSolve >>
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Tue, 26 Feb 2008 07:57:04 -0500 (EST)
- Organization: Uni Leipzig
- References: <fq0uii$kda$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi,
as you already observe, the Mathematica solution include
I and a quick look in a book about function
of mathematica physics show that
{
BesselJ[\[Nu]_, I z_] :> ((I z)^\[Nu] BesselI[\[Nu], z])/z^\[Nu],
BesselY[\[Nu]_, (-I) z_] :> -((2 BesselK[\[Nu],
z])/(Pi (-I)^\[Nu])) + ((2 (-I)^\[Nu])/
Pi) (Log[-((I z)/2)] - Log[z/2]) BesselI[\[Nu],
z] /; \[Nu] \[Element] Integers
}
and
<< VectorAnalysis`
sol = DSolve[
J + \[ScriptCapitalD]*
Laplacian[ns[Rr], Cylindrical[Rr, \[Theta], z]] -
ns[Rr]/\[Tau] == 0, ns[Rr], Rr]
sol1 = FullSimplify[sol /. {
BesselJ[\[Nu]_, I z_] :> ((I z)^\[Nu] BesselI[\[Nu], z])/z^\[Nu],
BesselY[\[Nu]_, (-I) z_] :> -((2 BesselK[\[Nu],
z])/(Pi (-I)^\[Nu])) + ((2 (-I)^\[Nu])/
Pi) (Log[-((I z)/2)] - Log[z/2]) BesselI[\[Nu],
z] /; \[Nu] \[Element] Integers},
Element[\[Nu], Integers] &&
Element[{Rr, \[ScriptCapitalD], \[Tau]}, Reals] &&
Rr > 0 && \[ScriptCapitalD] > 0 && \[Tau] > 0]
gives
{{ns[Rr] -> J*\[Tau] + BesselI[0,
Rr/Sqrt[\[ScriptCapitalD]*\[Tau]]]*(C[1] - I*C[2]) - (2*BesselK[0,
Rr/Sqrt[\[ScriptCapitalD]*\[Tau]]]*C[2])/Pi}}
and only the free constants C[1] and C[2] must be redefined
to match the "solution published in a scientific journal paper"
perfect.
And so, Mathematica has already "all the possible solutions" and
you need to get some more knowlege on special functions.
Regards
Jens
Hatuey Hack wrote:
> Hello,
>
> I am trying to solve a diffusion problem using the following equation (in
> cylindrical coordinates):
>
> DSolve[J + D*Laplacian[ns[Rr]] - ns[Rr]/\[Tau] == 0, ns, Rr]
>
>
> The solution published in a scientific journal paper was:
>
> Paper = J*\[Tau] + BesselI[0, Rr/Sqrt[D/\[Tau]]]*C[1] + BesselK[0,
> Rr/Sqrt[D/\[Tau]]]*C[2]
>
> The solution from DSolve was:
>
> My = J*\[Tau] + BesselI[0, Rr/Sqrt[D/\[Tau]]]*C[1] + BesselY[0,
> -I*Rr/Sqrt[D/\[Tau]])]*C[2]
>
> So, the two solutions are very different, one is a real function (Paper) and
> the other one is a complex function (My).
>
> I would like to know how can I "force" DSolve to give me all the possible
> solutions or at less a constrained solution (something like give me only the
> real ones).
>
> My system: Mathematica 6, Linux
>
> Thanks in advance.
>
> Hatuey
>
>