MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: stange result with complex numbers

  • To: mathgroup at smc.vnet.net
  • Subject: [mg36263] Re: [mg36251] stange result with complex numbers
  • From: BobHanlon at aol.com
  • Date: Thu, 29 Aug 2002 01:37:46 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 8/28/02 5:47:55 AM, pnagy at gwdg.de writes:


> I am having a strange problem with a function giving a complex number as 
> a result. I did the following:
> - define a function:
> denom[x_, p_, d_] := Sqrt[1 + (x*Tan[p]/d)^2]
> 
> Integrate and simplify it with the assumption that d is larger than 0:
> FullSimplify[Integrate[denom[x, p, d], {x, 0, d}], d > 0]
> 
> The result of the above line is 
> d/2*(1+i*Sqrt[2]*d*Cos[p]^2)*Sqrt[Sec[p]^2] where i is Sqrt[-1]
> 
> I assing it to a function called peter in the following way:
> peter[p_, d_] := FullSimplify[Integrate[denom[x, p, d], {x, 0, d}], d>0]
> 
> and check the value of the function at [0,1]
> peter[0,1]
> 
> and the result is 1.
> How is it possible that the result doesn't have an imaginary part???
> I would expect the result to be 0.5+Sqrt[2]/2*i
> 
You are evaluating the integral each time that you call peter.   When
you call it with p=0 denom is evaluated to 1 before the integration.
Define peter with Evaluate or else don't use a delayed set.

denom[x_,p_,d_]:=Sqrt[1+(x*Tan[p]/d)^2];


peter[p_,d_]:=Evaluate[FullSimplify[Integrate[denom[x,p,d],{x,0,d}],d>0]];


peter2[p_,d_]:=FullSimplify[Integrate[denom[x,p,d],{x,0,d}],d>0];


peter[0,1]


(1/2)*(1 + I*Sqrt[2])


peter2[0,1]


1


peter2[10^-6,1]//N


0.5 + 0.707107*I


peter2[-10^-6,1]//N


0.5 + 0.707107*I



Bob Hanlon
Chantilly, VA   USA




  • Prev by Date: Re: ReadList and NumberPoint ?
  • Next by Date: Re: SIR epidemic Model
  • Previous by thread: Re: stange result with complex numbers
  • Next by thread: SIR epidemic Model