Re: Simplifying Conjugate[] with 5.2 Mac
- To: mathgroup at smc.vnet.net
- Subject: [mg59868] Re: Simplifying Conjugate[] with 5.2 Mac
- From: "James Gilmore" <james.gilmore at yale.edu>
- Date: Wed, 24 Aug 2005 06:31:14 -0400 (EDT)
- Organization: Yale University
- References: <de45i8$qtf$1@smc.vnet.net> <de6maf$cj5$1@smc.vnet.net> <de9cqi$q5a$1@smc.vnet.net> <debt13$9bu$1@smc.vnet.net> <deeoho$3q9$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Steuard Jensen" <sbjensen at midway.uchicago.edu> wrote in message news:deeoho$3q9$1 at smc.vnet.net... > > I'm not just interested in changing I's to -I's, but this solution is > still awfully intriguing. I hadn't really thought about it before, > and I'm still somewhat nervous that it could miss mathematical > subtleties. But it might be plausible. > > The context in which I'm using this stuff is a package that implements > Grassmann variables using NonCommutativeMultiply. My expressions are > _supposed_ to be written in terms of real or complex numbers, > variables defined to be real, and pairs of variables defined to be > complex conjugates of each other. If variables without a defined real > or complex status somehow slip in, they should be treated as complex. > > At any rate, the upshot is that I know the proper conjugates for each > of those parts. For the pure numbers, {I -> -I} is all that's > necessary. Or, well, hmm. Actually, I've got lots of terms like "-2 > I x" which wouldn't end up being matched by this rule. So I think > what I'd really want is {Complex[r_,i_] :> Complex[r,-i]}. > > Moving on, for real variables no substitution is needed. For defined > complex pairs, just swap them: if {q,qb} are defined as conjugates, > then {q->qb, qb->q}. And for anything undefined, {x_ -> > Conjugate[x]}. > > Now I just need to figure out where a simple replacement rule like > this would give the wrong results. :) >(That's the advantage of > sticking with built-in functions like Refine or ComplexExpand, of > course: I know that a _lot_ of thought has been put into mathematical > subtleties there.) > That is undoubtly true. In general problem solving, I often find that only a small number of features of any given Mathematica command are required to solve a given problem. These features can generally be reproduced from scratch (often through pattern matching), with a faster implementation than the corresponding mathematica command. Although this approach can be unelegent at times, it avoids Mathematica internals. This is benefical when you can avoid functions like: Simplify, FullSimplify, etc , since the internals often contain minor changes between versions and subversions. > >> Extend the definition to include purely complex variables: >> ConjugateVariables[z_] := z /. {w -> -w, -w -> w, > ... > > (Do you mean "purely imaginary variables"? I don't think we have many > quaternions here. :) ) > Yes of course, apoligies. I was studying complex variables for my qualifying exams when I wrote this message... :) All the best with your high energy theory research. James Gilmore Graduate Student Department of Physics Yale University New Haven, CT 06520 USA