MathGroup Archive 2005

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

Search the Archive

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



  • Prev by Date: Re: ever gotten SVG Export to work?
  • Next by Date: Re: Does ContourPlot behave correctly?
  • Previous by thread: Re: Simplifying Conjugate[] with 5.2 Mac
  • Next by thread: Re: Simplifying Conjugate[] with 5.2 Mac