Integrate Bug?
- To: mathgroup at smc.vnet.net
- Subject: [mg13123] Integrate Bug?
- From: Ed Hall <teh1m at virginia.edu>
- Date: Tue, 7 Jul 1998 03:44:26 -0400
- Organization: University of Virginia
- Sender: owner-wri-mathgroup at wolfram.com
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]==0
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~