Re: Integration Bug
- To: mathgroup at smc.vnet.net
- Subject: [mg65279] Re: Integration Bug
- From: "Chris H. Fleming" <chris_h_fleming at yahoo.com>
- Date: Thu, 23 Mar 2006 06:58:48 -0500 (EST)
- References: <dvj4s8$1j$1@smc.vnet.net><dvrcbt$a66$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Valeri Astanoff wrote: > Hi Chris, > > Seems to me that if you convert to Ei form, > care has to be taken of the argument sign : > > In[1]:=toEiForm = {CosIntegral[x_ /; x \[Element] Reals] -> > (1/2)*ExpIntegralEi[(-I)*x] + (1/2)*ExpIntegralEi[I*x] + > I*Pi*(1 - UnitStep[x]), SinIntegral[x_ /; x \[Element] Reals] -> > (1/2)*I*(ExpIntegralEi[(-I)*x] - ExpIntegralEi[I*x] + > I*Pi*Sign[x])}; > > In[2]:={CosIntegral[1],CosIntegral[1] /. toEiForm} > Out[2]={CosIntegral[1], ExpIntegralEi[-I]/2 + ExpIntegralEi[I]/2} > > In[3]:=%//N > Out[3]={0.337404, 0.337404 + 0.*I} > > In[4]:={CosIntegral[-1],CosIntegral[-1] /. toEiForm} > Out[4]={CosIntegral[-1], I*Pi + ExpIntegralEi[-I]/2 + > ExpIntegralEi[I]/2} > > In[5]:=%//N > Out[5]={0.337404 + 3.14159*I, 0.337404 + 3.14159*I} > > > hth > > Valeri Astanoff Oh I agree. E1 has a branch cut singularity exactly like log, and Ei opposite of that. I am pretty sure that Mathematica gives incorrect integrals because it is integrating across branch cuts in a discontinuous fashion. But one can carefully convert from Si, Ci to E1 and I have done so to get the answer in the form I want. The problem is that I have more complicated integrals that I have to do by hand because Mathematica wont attempt them unless I cast them as purely exponential and thus give an incorrect answer.