Re: Hypergeometric integral looks wrong ?
- To: mathgroup at smc.vnet.net
- Subject: [mg55522] Re: Hypergeometric integral looks wrong ?
- From: Maxim <ab_def at prontomail.com>
- Date: Sun, 27 Mar 2005 02:43:19 -0500 (EST)
- References: <d1tv31$rk0$1@smc.vnet.net> <d20r1q$baq$1@smc.vnet.net> <d234ac$lhp$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
It's not true that the identity doesn't hold for values of the parameter z in [0, 1]. The transformation which I used is valid if the last argument of Hypergeometric2F1 is not in the interval [0, 1]. I denoted this argument as z_, which is not the same as your variable z. Mathematica's result involves Hypergeometric2F1[..., 1/z] and Hypergeometric2F1[..., E^(v*t)/z] (or equivalent Beta functions). It is easy to see that both arguments are not in [0, 1]: In[1]:= FullSimplify[!(0 <= E^(v*t)/z <= 1) // LogicalExpand, v > 0 && z < 1 && t > 0] Out[1]= z != 0 or In[2]:= Reduce[0 <= E^(v*t)/z <= 1 && v > 0 && z < 1 && t > 0] Out[2]= False or In[3]:= E^(v*t)/z /. {v -> Interval[{0, Infinity}], z -> Interval[{-Infinity, 1}], t -> Interval[{0, Infinity}]} Out[3]= Interval[{-Infinity, 0}, {1, Infinity}] and similarly for 1/z (Interval doesn't exclude points 0 and 1, though). Next, (a-b) shouldn't be integer; however, the right-hand side of the rule still makes sense as the limit (we can replace b with b+eps and then take the limit as eps tends to 0). Basically we have a removable singularity which gets cancelled in the final answer, the same as at the point z=0. We can conclude that the transformation is valid everywhere under the conditions that you specified. Also it's quite possible that we may encounter complex quantities such as (-z)^a at intermediate steps; there's nothing wrong with that. Maxim Rytin m.r at inbox.ru On Sat, 26 Mar 2005 07:51:40 +0000 (UTC), luis serven <junk1 at lafaena.com> wrote: > Thanks for your reply. However, the transformation you mention involves > real > powers of (-z) ands is defined for z outside (0,1), while in my case I > need > to allow for 1> z >=0. > > Luigi > > > "Maxim" <ab_def at prontomail.com> wrote in message > news:d20r1q$baq$1 at smc.vnet.net... >> On Thu, 24 Mar 2005 08:51:45 +0000 (UTC), luigi <junk1 at lafaena.com> >> wrote: >> >>> I have to compute the following integral: >>> >>> (1/ bv) Integrate[Exp[- b v s](1 - z Exp[-v s])^(-a), {s, 0, Infinity}, >>> Assumptions -> {Re[b] > 0, Re[v] > 0, Re[b v] > 0}] >>> >>> In my case, z runs over (-Infinity,1), and a, b v are real ( a < 0). >>> Now if the limits of integration were (0, Infinity) then this is just >>> the >>> hypergeometric function 2F1[a, b, b+1, z]. But since I am integrating >>> over >>> the interval (0, t), direct calculation yields >>> >>> 2F1[a, b, b+1, z] - Exp[-b v t] 2F1[a, b, b+1, z Exp [- v t]] >>> >>> But Mathematica 5.0 instead yields >>> >>> (1-z)^(-a) 2F1[a, a-b, 1+a-b , 1/z] ((z-1)/z)^(a) - Exp[-b v t] >>> (1-Exp[v >>> t]/z)^a (1 - Exp[-v t] z)^(-a) 2F1[a, a-b, 1+a-b , Exp[v t]/z ] >>> >>> This looks quite different and, moreover, does not seem to make sense >>> for >>> the range of z I am allowing. Is mathematica's result right ? Am I >>> missing >>> some transformation that links both results ? >>> >>> Thanks for any help. >>> >>> >> >> Yes, it is possible to convert one form of the answer to another, except >> that b*v (and not bv) should be put in the numerator. Mathematica's >> answer >> contains Hypergeometric2F1[..., E^(v*t)/z] rather than >> Hypergeometric2F1[..., z*E^(-v*t)], so we need an appropriate >> transformation identity. Using the formula found at >> http://functions.wolfram.com/07.23.17.0057.01 , we obtain (in version >> 5.1) >> >> In[1]:= >> Assuming[a < 0 && b > 0 && v > 0 && z < 1 && t > 0, >> b*v*Integrate[E^(-b*v*s)*(1 - z*E^(-v*s))^(-a), {s, 0, t}] /. >> Beta[z_, a_, b_] -> >> z^a/a*Hypergeometric2F1[a, 1 - b, a + 1, z] /. >> Hypergeometric2F1[a_, b_, c_, z_] -> >> Gamma[b - a]*Gamma[c]/(Gamma[b]*Gamma[c - a])* >> Hypergeometric2F1[a, a - c + 1, a - b + 1, 1/z]/(-z)^a + >> Gamma[a - b]*Gamma[c]/(Gamma[a]*Gamma[c - b])* >> Hypergeometric2F1[b, b - c + 1, b - a + 1, 1/z]/(-z)^b // >> FullSimplify[#, ExcludedForms -> _Hypergeometric2F1]&] >> >> Out[1]= >> Hypergeometric2F1[a, b, 1 + b, z] - >> Hypergeometric2F1[a, b, 1 + b, z/E^(t*v)]/E^(b*t*v) >> >> as requested. >> >> Maxim Rytin >> m.r at inbox.ru >> > >