Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Re: Complex Oddity

  • To: mathgroup at smc.vnet.net
  • Subject: [mg57670] Re: [mg57631] Re: Complex Oddity
  • From: Chris Chiasson <chris.chiasson at gmail.com>
  • Date: Fri, 3 Jun 2005 05:34:34 -0400 (EDT)
  • References: <d79enu$lbl$1@smc.vnet.net> <d7hahj$3q6$1@smc.vnet.net> <200506020917.FAA11965@smc.vnet.net>
  • Reply-to: Chris Chiasson <chris.chiasson at gmail.com>
  • Sender: owner-wri-mathgroup at wolfram.com

f = E^(I*d)
Refine[f*Conjugate[f], Element[d, Reals]]

On 6/2/05, jfeth at azlink.com <jfeth at azlink.com> wrote:
> I use Jones matrices to evaluate optical circuits and always need to
> find the intensity of two interfering electric fields.  The intensity
> (or brightness) of a field is found as a positive real value from a
> complex field as the field times the complex conjugate of the field.
> As you can see below, Mathematica gives yet another complex value when
> one does this straightforward multiplication instead of the real value
> that, I might add, is drilled into all students at the first glimpse of
>  root(-1).  For several weeks I struggled to use Mathematica in my
> circuit evaluation until one inspired Saturday, after several pots of
> coffee, dumb luck and iteration brought forth Intensity[expr_]:= below.
>  I don't know why it works, I don't know how it works, and I
> don't know another way to do the job, but, even as ugly as it is, at
> least it works and it works very quickly.  Importantly, it also gives
> me answers as cosines with arguments that are (real)sums and
> differences of characteristic delays, misalignments, and phase
> modulation terms.
> 
> f=E^(I*d)
> 
> In[1]:=
> f*Conjugate[f]
> 
> Out[1]=
>  E^ (I*d - I*Conjugate[d])
> 
> In[2]:=
> Intensity[expr_]:=
> TrigReduce[ExpToTrig[expr*TrigToExp[ComplexExpand[Conjugate[ExpToTrig[expr]]]]]]
> 
> In[3]:=
> Intensity[f]
> 
> Out[3]=
> 1
> 
> With this solution in hand, as an optical engineer, I now have the
> luxury of wondering 1) exactly what mathematical elegance (or utility)
> is gained by Mathematica's assumption that every variable is always
> complex, and 2) why there is apparently no way in Mathematica to
> globally define a variable as a real number (i.e., its own conjugate).
> 
> Regards,
> 
> John Feth
> 
> 
> John Reed wrote:
> > Thanks to all who explained what is happening and how to work this problem
> > correctly.  Now I know one facet of working with complex numbers.  I don't
> > feel much better about this however.  I received one e-mail that said this
> > was my fault for not reading the documentation closely enough.  This problem
> > came up in the book "Mathematica for Physics" second edition by Zimmerman
> > and Olness.  They solve a problem using the Complex[a_,b_]->a rule, ( see
> > page 91) but not the b part.  The b part was my idea.  Now I know why they
> > didn't solve for the imaginary part this way.  They get the imaginary part
> > by subtracting the real part from the complex expression and dividing by I.
> > How many other gotchas are hidden in the code, waiting to bite the unwary
> > and relatively new user?  What documentation tells about this kind of a
> > problem or do I just have to find them for myself by hopefully catching the
> > errors as they occur?
> >
> > John Reed
> >
> 
> 


-- 
Chris Chiasson
http://chrischiasson.com/
1 (810) 265-3161


  • Prev by Date: Re: Re: Complex Oddity
  • Next by Date: Re: Complex Oddity
  • Previous by thread: Re: Re: Complex Oddity
  • Next by thread: Re: Re: Complex Oddity