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