MathGroup Archive 2008

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

Search the Archive

Re: NIntegrate HypergeometricU

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84849] Re: NIntegrate HypergeometricU
  • From: sashap <pavlyk at gmail.com>
  • Date: Wed, 16 Jan 2008 23:01:41 -0500 (EST)
  • References: <fmkf3a$9fg$1@smc.vnet.net>

On Jan 16, 2:26 am, "subo_... at yahoo.com" <subodh... at gmail.com> wrote:
> I am trying to NIntegrate the function HypergeometricU[a,b,z]  with
> a>=1, b>=1,z=R/sin[x]^2 where integration is from 0 to Pi/2. For lower
> values of R  this gives answers and for Higher values of R this is
> giving errors .

You could avoid using NIntegrate altogether, by finding the integral
exactly.
Do the substitution Sin[t]^2 = x, and then it reduces to

Integrate[
  HypergeometricU[a, b, R/x] (2 Sqrt[x] Sqrt[1 - x]), {x, 0, 1},
  Assumptions -> R > 0 && a > 1 && b > 1]

which gives a complicated expansion of hypergeometric functions that
disguises

res[a_,b_,R_] := Sqrt[Pi]/(Gamma[a] Gamma[a + 1 - b])
 MeijerG[{{1 - a}, {3}}, {{3/2, 0, 1 - b}, {}}, R]

This result is correct under your assumptions (a>=1, b>=1 and R>0)
provided
a+1-b is not a non-negative integer. The answer admits the limit at
this point.

Let b = a + n + 1. Then

Table[HypergeometricU[a, a + n + 1, R/x] ==
   Sum[Binomial[n, n - k] Pochhammer[a, k] (x/R)^(k + a), {k, 0,
     n}], {n, 0, 5}] // Simplify[#, x > 0 && R > 0] &

Using this definition

Integrate[
  HypergeometricU[a, a+n+1, R/x] (2 Sqrt[x] Sqrt[1 - x]), {x, 0, 1},
  Assumptions -> R > 0 && a > 1 && n >  0] ==
  (Sqrt[Pi]*(1/R)^a*Gamma[3/2 + a]*
   HypergeometricPFQ[{a, 3/2 + a, -n}, {3 + a}, -(1/R)])/Gamma[3 + a]

Indeed:

In[141]:= Sum[
 Binomial[n, n - k]*Pochhammer[a, k]*
  Integrate[(x/R)^(a + k)*2*Sqrt[x]*Sqrt[1 - x], {x, 0, 1},
   Assumptions -> a >= 1 && k > 0], {k, 0, n}]

Out[141]= (Sqrt[Pi]*(1/R)^a*Gamma[3/2 + a]*
   HypergeometricPFQ[{a, 3/2 + a, -n}, {3 + a}, -(1/R)])/Gamma[3 + a]

Hope this helps,
Oleksandr Pavlyk
Special Functions Developer
Wolfram Research Inc


>
> \!\(NIntegrate::"singd" \(\(:\)\(\ \)\) "NIntegrate's singularity
> handling
>       has failed at point \
> \!\({x}\)=\!\({8.145014137541`5.15492657977389*^-15}\) for the
> specified \
> precision goal. Try using larger values for any of $MaxExtraPrecision
> or the \
> options WorkingPrecision, or SingularityDepth and MaxRecursion"\)
>
> Even though I change the working precisio,SingularityDepth and
> MaxRecursion it is not helping me much. Please advice me how to solve
> this problem.
>
> Subodha



  • Prev by Date: Re: Version 6 graphics can be painfully slow
  • Next by Date: On placement of controls around Manipulate display area and positioning of control varibles relative to the control itself.
  • Previous by thread: NIntegrate HypergeometricU
  • Next by thread: Re: NIntegrate HypergeometricU