RE: RE: ExpIntegralEi
- To: mathgroup at smc.vnet.net
- Subject: [mg18632] RE: [mg18491] RE: [mg18463] ExpIntegralEi
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Tue, 13 Jul 1999 01:01:44 -0400
- Sender: owner-wri-mathgroup at wolfram.com
My previous post on this problem left a lot to be desired. I think I might have it right this time. -------------------- In[86]:= c2 = -0.05018627683354541 - 0.153047656745338 I; c3 = -0.7828709924214918 + 0.2780791279205129 I; c5 = -0.6758555487562639 - 0.04753624179417532 I; In[89]:= est = NIntegrate[Exp[beta*c2 + s*(c3 + beta*c5)], {s, 0, 1}, {beta, 0, 1}]; In[90]:= est - Integrate[Exp[beta*c2 + s*(c3 + beta*c5)], {s, 0, 1}, {beta, 0, 1}] Out[90]= 0.8153547071046455 - 10.545250247508731*I --------------------- Above we see the result of NIntegrate doesn't agree with the result from Integrate. Below (foo) is the result of integrating with upper and lower limits for (s) but an indefinite integral with respect to (beta). The I plot the real and imaginary parts of (foo) and see they both have a discontinuity at about (beta = 0.6515665901). I found that point using a manual binary search. In[91]:= foo = Integrate[Exp[beta*c2 + s*(c3 + beta*c5)], {s, 0, 1}, beta]; In[92]:= Plot[Re[foo], {beta, -0.05, 1.05}]; (* Graphics not shown *) In[94]:= Plot[Im[foo], {beta, -0.05, 1.05}]; (* Graphics not shown *) Below I split up the integrating interval and avoid the discontinuity in (foo). Doing it this way the results from Integrate and NIntegrate more or less agree. Well it seems Integrate failed to correctly account for this discontinuity. In[95]:= b1 = 0.6515665901; b2 = b1 + 10^-10; In[97]:= est - (Integrate[Exp[beta*c2 + s*(c3 + beta*c5)], {s, 0, 1}, {beta, 0, b1}] + Integrate[Exp[beta*c2 + s*(c3 + beta*c5)], {s, 0, 1}, {beta, b2, 1}] ) Out[97]= -1.322374432177753*^-10 - 4.0688140356959224*^-11*I ---------------- Regards, Ted Ersek