Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Conjugate of symbolic expressions
Replies: 7   Last Post: Mar 10, 2010 1:44 AM

 Messages: [ Previous | Next ]
 Kevin J. McCann Posts: 220 Registered: 5/24/07
Re: Conjugate of symbolic expressions
Posted: Mar 10, 2010 1:44 AM

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
>

Date Subject Author
3/7/10 Joseph Gwinn
3/8/10 AES
3/9/10 Joseph Gwinn
3/8/10 sjoerd.c.devries@gmail.com
3/8/10 Bob Hanlon
3/8/10 John Feth
3/9/10 Joseph Gwinn
3/10/10 Kevin J. McCann