MathGroup Archive 2010

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

Search the Archive

Re: Conjugate of symbolic expressions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108192] Re: Conjugate of symbolic expressions
  • From: "Kevin J. McCann" <Kevin.McCann at umbc.edu>
  • Date: Wed, 10 Mar 2010 01:45:12 -0500 (EST)
  • References: <hmvqlg$1gg$1@smc.vnet.net>

S1 = Exp[k1 x + I \[Omega] (t + \[Tau])]

If k1, omega, t, and tau are real, then you can do the following:

S1 /. Complex[x_, y_] -> Complex[x, -y]

You can even make this nicer:


\!\(\*SuperscriptBox["x_", "*"]\) :=
  x /. Complex[a_, b_] -> Complex[a, -b]

Then

\!\(\*SuperscriptBox["S1", "*"]\)

Gives this result:

E^(k1 x - I (t + \[Tau]) \[Omega])

You have to drop each of these into a notebook to see them.

Kevin


Joseph Gwinn wrote:
> I have been using Mathematica 7 to do the grunt work in solving some 
> transmission-line problems, using the exponential form of the equations.  
> 
> A typical form would be S1 = Exp[k1*x + I*omega*(t+tau)], describing signal one, 
> where K1 is the attenuation in nepers per meter, I is the square root of minus 
> one, omega is the angular frequency in radians per second, t is time and tau is 
> a fixed time delay, t and tau being in seconds.
> 
> Often I need the complex conjugate of S1, so I write Conjugate[S1].  The problem 
> is that Mathematica does nothing useful, leaving the explicit Conjugate[] in the 
> output expression, which after a very few steps generates a mathematically 
> correct but incomprehensible algebraic hairball.
> 
> Clearly Mathematica feels that it lack sufficient information to proceed.  In 
> particular, it has no way to know that all variables are real until explicitly 
> told.
> 
> One way to solve this problem is 
> FullSimplify[Conjugate[S1],Element[_Symbol,Reals]], and this often works.  
> 
> But equally often, it works too well, yielding the trignometric expansion of the 
> desired exponential-form answer.  Nor is it clear why it sometimes works and 
> sometimes works too well.  
> 
> Using Simplify[] instead of FullSimplify[] doesn't seem to work at all. 
> 
> 
> So my questions are:
> 
> 1.  What controls FullSimplify[]'s behaviour here?
> 
> 2.  What other ways are there to cause Mathematica to apply the Conjugate[] 
> without holding back?
> 
> 
> Thanks,
> 
> Joe Gwinn
> 


  • Prev by Date: Re: Mathieu function zeros
  • Next by Date: Re: Re: Re: Mathematica function to calculate correlation coefficient?
  • Previous by thread: Re: Conjugate of symbolic expressions
  • Next by thread: Dynamic function application problem