Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

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




  • Prev by Date: Re: Function pure for Select
  • Next by Date: Re: notation using # with exponents and &
  • Previous by thread: Re: Two questions about DSolve
  • Next by thread: ODE solution problem