Re: Two questions about DSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg93147] Re: Two questions about DSolve
- From: Aaron Fude <aaronfude at gmail.com>
- Date: Wed, 29 Oct 2008 05:47:36 -0500 (EST)
- References: <gdug9e$jon$1@smc.vnet.net> <ge0t4f$75c$1@smc.vnet.net>
Thanks, Bob. That helps.
But how do I find out what MeijerG[...] and HypergeometricPFQ[...]
mean in terms of elementary functions?
Thanks again,
Aaron
On Mon, Oct 27, 2008 at 10:28 PM, Bob Hanlon <hanlonr at cox.net> wrote:
Send your questions to MathGroup.
eqn = r^2 y''[r] + r y'[r] + (r^2 - m^2) y[r] ==
BesselJ[m, r];
soln = y[r] /. DSolve[eqn, y[r], r][[1]] //
FullSimplify
(BesselJ[-m, r]*Gamma[-m]*HypergeometricPFQ[{m, m + 1/2},
{m + 1, m + 1, 2*m + 1}, -r^2]*r^(2*m))/
(2^(2*(m + 1))*(m^2*Gamma[m])) - (1/8)*Pi*BesselJ[m, r]*
Csc[m*Pi]*HypergeometricPFQRegularized[{1, 1, 3/2},
{2, 2, 2 - m, m + 2}, -r^2]*r^2 + BesselY[m, r]*C[2] +
BesselJ[m, r]*(C[1] + Log[r]/(2*m))
Take the special case of m = 1
eqn21 = eqn /. m -> 1;
soln21 = y[r] /. DSolve[eqn21, y[r], r][[1]]
BesselJ[1, r]*C[1] + BesselY[1, r]*C[2] +
(1/4)*((-Pi)*HypergeometricPFQ[{1/2}, {1, 2}, -r^2]*
BesselY[1, r] + Pi*BesselY[1, r] +
Sqrt[Pi]*BesselJ[1, r]*MeijerG[{{1/2}, {-(1/2)}},
{{0, 0}, {-1, -(1/2)}}, r, 1/2])
Choose the arbitrary constants to simplify the solution
soln21 = soln21 /. {C[1] -> 0, C[2] -> 0} // FullSimplify
(1/4)*(Sqrt[Pi]*BesselJ[1, r]*MeijerG[{{1/2}, {-(1/2)}},
{{0, 0}, {-1, -(1/2)}}, r, 1/2] -
Pi*(BesselJ[0, r]^2 + BesselJ[1, r]^2 - 1)*
BesselY[1, r])
Finding the limit as r -> 0
Needs["NumericalCalculus`"]
NLimit[soln21, r -> 0, WorkingPrecision -> 20]
3.24*10^-7
Plot[soln21, {r, 0, 5}]
Bob Hanlon
---- Aaron Fude <aaronfude at gmail.com> wrote:
=============
Thanks Bob.
Would you be able to help me in the case m is a positive integer?
Obviously, I can't have Csc[m Pi].
Many thanks in advance,
Aaron
On Sat, Oct 25, 2008 at 12:08 PM, Bob Hanlon <hanlonr at cox.net> wrote:
> $Version
>
> 6.0 for Mac OS X x86 (64-bit) (May 21, 2008)
>
> eqn = r^2 y''[r] + r y'[r] + (r^2 - m^2) y[r] == BesselJ[m, r];
>
> soln = y[r] /. DSolve[eqn, y[r], r][[1]] // FullSimplify
>
> (BesselJ[-m, r]*Gamma[-m]*
> HypergeometricPFQ[{m, m + 1/2}, {m + 1, m + 1, 2*m + 1}, -r^2]*r^(2*m))/
> (2^(2*(m + 1))*(m^2*Gamma[m])) - (1/8)*Pi*BesselJ[m, r]*Csc[m*Pi]*
> HypergeometricPFQRegularized[{1, 1, 3/2}, {2, 2, 2 - m, m + 2}, -r^2]*
> r^2 + BesselY[m, r]*C[2] +
> BesselJ[m, r]*(C[1] + Log[r]/(2*m))
>
> Set the arbitrary constant C[2] to zero to eliminate the BesselY term
>
> soln2 = soln /. C[2] -> 0;
>
> Looking for some special cases
>
> Limit[soln2 /. {m -> 1/2}, r -> 0]
>
> 0
>
> soln2 /. m -> 1/2 // FullSimplify
>
> (Sqrt[2/Pi]*((C[1] + CosIntegral[2*r] - Log[2] - EulerGamma + 1)*Sin[r] -
> Cos[r]*SinIntegral[2*r]))/
> Sqrt[r]
>
> Set the arbitrary constant C[1] to simplify soln2
>
> sc1 = soln2 /. {m -> 1/2, C[1] -> Log[2] + EulerGamma - 1} // Simplify
>
> (Sqrt[2/Pi]*(CosIntegral[2*r]*Sin[r] - Cos[r]*SinIntegral[2*r]))/Sqrt[r]
>
> d1 = NestList[Simplify[D[#, r]] &, y[r] -> sc1, 2];
>
> Verifying that the solution satisfies the equation
>
> eqn /. m -> 1/2 /. d1 // Simplify
>
> True
>
> Plot[sc1, {r, 0, 10}, Frame -> True, Axes -> False]
>
> Next special case
>
> Limit[soln2 /. m -> 3/2, r -> 0]
>
> 0
>
> soln2 /. m -> 3/2 // FullSimplify
>
> (Sqrt[2/Pi]*((-9*C[1] + 3*Cos[2*r] - 3*CosIntegral[2*r] + Log[8] +
> 3*EulerGamma - 10)*
> (r*Cos[r] - Sin[r]) +
> 3*(Cos[r] + r*Sin[r])*(Sin[2*r] - SinIntegral[2*r])))/(9*r^(3/2))
>
> Set the arbitrary constant C[1] to simplify soln2
>
> sc2 = soln2 /. {m -> 3/2, C[1] -> (Log[8] + 3 EulerGamma - 10)/9} //
> FullSimplify
>
> (Sqrt[2/Pi]*(r*Cos[r] + Sin[r] + CosIntegral[2*r]*(Sin[r] - r*Cos[r]) -
> (Cos[r] + r*Sin[r])*SinIntegral[2*r]))/(3*r^(3/2))
>
> d2 = NestList[Simplify[D[#, r]] &, y[r] -> sc2, 2];
>
> Verifying that the solution satisfies the equation
>
> eqn /. m -> 3/2 /. d2 // Simplify
>
> True
>
> Plot[sc2, {r, 0, 10}, Frame -> True, Axes -> False]
>
>
> Bob Hanlon
>
> ---- Aaron Fude <aaronfude at gmail.com> wrote:
>
> =============
> Hi,
>
> My goal is to solve
>
> DSolve[r^2 y''[r] + r y'[r] + (r^2 - m^2) y[r] == BesselJ[m, r],
> y[r], r]
>
> Question 1. Is there a way to tell Mathematica that I want the
> solutions that are finite at r=0?
>
> Question 2. I get answers in terms of MeijerG. How does one obtain the
> special form of this function from the special combination of
> arguments. For example, I'm would like to learn what function
>
> MeijerG[{{1/2}, {-(1/2), 1}}, {{0, 0, 0}, {-(1/2), 0}}, r, 1/2]
>
> is in terms of more elementary functions.
>
> Many thanks in advance,
>
> Aaron
>
>
> --
>
> Bob Hanlon
>
>
--
Bob Hanlon