Re: Conjugate of symbolic expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg108077] Re: [mg108034] Conjugate of symbolic expressions
- From: "David Park" <djmpark at comcast.net>
- Date: Mon, 8 Mar 2010 06:10:29 -0500 (EST)
- References: <28745811.1267954710914.JavaMail.root@n11>
Joe, Have you tried ComplexExpand? It assumes that all symbols are Reals, unless specified otherwise. Also check its TargetFunctions option. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Joseph Gwinn [mailto:joegwinn at comcast.net] 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