Re: Symbolic complex conjugation
- To: mathgroup at smc.vnet.net
- Subject: [mg26195] Re: Symbolic complex conjugation
- From: "David Bailey" <db at salford-software.com>
- Date: Thu, 30 Nov 2000 22:02:12 -0500 (EST)
- Organization: University of Salford, Salford, Manchester, UK
- References: <8vvpo5$34g@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"A. E. Siegman" <siegman at stanford.edu> wrote in message news:8vvpo5$34g at smc.vnet.net... > Suppose one wishes to do symbolic complex conjugation on a complicated > symbolic expression in which all symbols are assumed purely real -- that > is, given a symbolic expression of arbitrary complexity with multiple > instances of I occuring inside it, change every instance of I to -I, and > nothing more. > > The best approach I'm aware of seems to be the method described in the > 4.0 Help files, namely > > new_expr = old_expr /. Complex[0, n_] -> -Complex[0, n] > > Is there a better approach than this? > > And, for educational purposes, can someone explain how and why this > approach works? In particular, why isn't the rule something like > > Complex[a_, b_] -> Complex[a, -b] > > Is the "0" significant? Is the "n" supposed to be integer? > The first method you describe is clearly wrong! Try applying it to the expression (1+I)a for example. Your alternative will work as required. One alternative approach is to use the Conjugate function and then explicitly remove the variable conjugations that are not required because you know your variables are real: Cunjugate[expr] /.Conjugate[x_]->x David Bailey Salford Software