Re: Integrate Bug?
- To: mathgroup at smc.vnet.net
- Subject: [mg13190] Re: [mg13123] Integrate Bug?
- From: "Jrgen Tischer" <jtischer at col2.telecom.com.co>
- Date: Mon, 13 Jul 1998 07:42:40 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Hi Ed, I took your equations and deleted everything which was literally equal. I ended up with Log[2 + b*Nt*u*W - Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W] against Log[-2 - b*Nt*u*W + Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W]. I think now everything is clear, isn't it? (In case you don't agree look at the following: In[1]:= f=Log[1-x] Out[1]= Log[1-x] In[2]:= fp=D[f,x] Out[2]= -(1 /(1 - x)) In[3]:= f1=Integrate[fp,x] Out[3]= Log[-1+x ] In[4]:= f/.x->.3 Out[4]= -0.356675 In[5]:= f1/.x->.3 Out[5]= -0.356675+3.14159 I ) Jrgen -----Original Message----- From: Ed Hall <teh1m at virginia.edu> To: mathgroup at smc.vnet.net Subject: [mg13190] [mg13123] Integrate Bug? >Folks, > >The following integration problem appears to be a bug in Mathematica's >Integrate function and Wolfram's technical support has been unable to >help so far. I was hoping someone reading this newsgroup might be able >to come up with a solution. > >I can create the expression below (from the Peng-Robinson equation of >state) which is real, differentiate w.r.t the variable W, followed by >indefinite integration w.r.t. to W to get a complex result rather >than the original real expression. I've tried adding Im[W]==3D0 >assumption to the Integrate command w/o success. > >Composing the expression to be differentiated. > >In[5]:= V = 1/W; d = Sqrt[u^2*Nt^2*b^2 - 4*w*b^2*Nt^2]; F = -(Nt *Log[(V >- Nt*b)/V]) + (a*Nt^2*Log[(2*V + u*Nt*b - d)/ (2*V + u*Nt*b + >d)])/(R*T*d) > >Out[6]= (a*Nt^2*Log[(b*Nt*u - Sqrt[b^2*Nt^2*u^2 - 4*b^2*Nt^2*w] + 2/W)= / > (b*Nt*u + Sqrt[b^2*Nt^2*u^2 - 4*b^2*Nt^2*w] + 2/W)])/ > (R*T*Sqrt[b^2*Nt^2*u^2 - 4*b^2*Nt^2*w]) - Nt*Log[(-b*Nt + 1/W)*W] > >In[7]:= F = FullSimplify[F] > >Out[7]= 1/(R*T)*Nt*(-R*T*Log[1 - b*Nt*W] + (a*Nt*Log[(2 + b*Nt*u*W - > Sqrt[b^2*Nt^2* (u^2 - 4*w)]*W)/ (2 + b*Nt*u*W + >Sqrt[b^2*Nt^2* > (u^2 - 4*w)]*W)])/ Sqrt[b^2*Nt^2*(u^2 - 4*w)]) > > >Taking partial derivative w.r.t. W > > >In[8]:= test = D[F, W] > >Out[8]= 1/(R*T)*Nt*((b*Nt*R*T)/(1 - b*Nt*W) + > (a*Nt*(2 + b*Nt*u*W + Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W)* > (-(((b*Nt*u + Sqrt[b^2*Nt^2*(u^2 - 4*w)])* > (2 + b*Nt*u*W - Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W))/ > (2 + b*Nt*u*W + Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W)^2) + > (b*Nt*u - Sqrt[b^2*Nt^2*(u^2 - 4*w)])/ > (2 + b*Nt*u*W + Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W)))/ > (Sqrt[b^2*Nt^2*(u^2 - 4*w)]* > (2 + b*Nt*u*W - Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W))) > > >Performing indefinite integration on result of differentiation. > > >In[9]:= F1 = FullSimplify[Integrate[test, W]] > >Out[9]= 1/(R*T)*Nt*(-R*T*Log[-1 + b*Nt*W] + (a*Nt*(Log[-2 - b*Nt*u*W + > Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W] - > Log[2 + b*Nt*u*W + Sqrt[b^2*Nt^2*(u^2 - 4*w)]*W]))/ > Sqrt[b^2*Nt^2*(u^2 - 4*w)]) > > >Substituting numeric values into the original expression F (before >differentiation and integration). > > >In[10]:= N[F /. {b -> 1, Nt -> 2, u -> 2, w -> -1, W -> 0.25, a -> 1, > R -> 1, T -> 1}] > >Out[10]= 0.662394 > > >Substituting numeric values into the expression F1 after differentiation >and integration. > > >In[11]:= N[F1 /. {b -> 1, Nt -> 2, u -> 2, w -> -1, W -> 0.25, a -> 1, > R -> 1, T -> 1}] > >Out[11]= 0.662394 - 4.06174 I > > >The result F1 of the integration is complex whereas the original >expression F before differention is real. How can I insure F1 will be >real and equal to F? > > >Thanks in advance, >Ed > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~ > Ed Hall Research Computing Support > edhall at virginia.edu Information Technology and Communication > 804-924-0620 The University Virginia >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~ >