Re: Simplifying Conjugate[] with 5.2 Mac
- To: mathgroup at smc.vnet.net
- Subject: [mg59784] Re: Simplifying Conjugate[] with 5.2 Mac
- From: sbjensen at midway.uchicago.edu (Steuard Jensen)
- Date: Sun, 21 Aug 2005 03:51:32 -0400 (EDT)
- Organization: The University of Chicago
- References: <de45i8$qtf$1@smc.vnet.net> <de6m64$ci0$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
[Reversing quote order to make the discussion easier to read:] Quoth "Steve Luttrell" <steve_usenet at _removemefirst_luttrell.org.uk> in article <de6m64$ci0$1 at smc.vnet.net>: > "Steuard Jensen" <sbjensen at midway.uchicago.edu> wrote: > > I've just upgraded from Mathematica 5.0 to 5.2 for the Mac... > > Specifically, I have used $Assumptions to define some variables as > > real. I apply Conjugate to various expressions, and then Simplify the > > results. In version 5.0, I _never_ saw a case in which Conjugate[] > > remained after this step. But in 5.2, I find that even simple forms > > like Conjugate[x + I y] often remain unsimplified. (Refine[x + I y] > > still seems to work, though.) > FullSimplify does what you want in Mathematica 5.2 for Windows. > > $Assumptions = {{x, y} \[Element] Reals}; > > FullSimplify[Conjugate[x + I*y]] > > x - I*y Well, that's really weird! It works for me, too. Now, mind you, I'm hesitant to use this solution in practice because FullSimplify so often takes painfully long relative to Simplify (especially when applied to complicated expressions). But seeing this got me thinking: what if Simplify in 5.2 just doesn't like to apply Refine on its own (except in very simple cases)? So I discovered that this also works (at least on this case): In[5]:= Simplify[Conjugate[x + I y], TransformationFunctions->{Automatic,Refine}] Out[5]= x - I y Now that's just weird, given that the help for Refine already explains that "Refine is one of the transformations tried by Simplify." But unfortunately, it looks like none of this actually solves my problem, because _everything_ seems to fail on even slightly more complicated expressions: In[1]:= $Assumptions = {Element[{x, y, w, z}, Reals]}; ... In[6]:= Simplify[Conjugate[(x+I y)(w+I z)], TransformationFunctions\[Rule]{Automatic,Refine}] Out[6]= Conjugate[(x+I y) (w+I z)] In[7]:= FullSimplify[Conjugate[(x+I y)(w+I z)]] Out[7]= Conjugate[(x+I y) (w+I z)] In[8]:= Refine[Conjugate[(x+I y)(w+I z)]] Out[8]= Conjugate[(x+I y) (w+I z)] That last one is the real kicker: it looks like Refine itself can no longer handle complicated expressions as of 5.2! Every one of these examples simplifies properly in 5.0. So what's up with this behavior? It's hard to imagine that these changes in behavior were intentional, so I can only assume that they were side effects of some other change in the program. Anyone have any idea what that might have been? And more to the point, who should I talk to if I hope to see it fixed in the future? In the meantime, I'll keep looking for workarounds for my own purposes (maybe I'll try defining Conjugate[expr_Plus]:=Map[Conjugate,expr] and similar rules by hand, for instance; that could potentially help, though it seems too clumsy to be entirely reliable). But the Mathematica experience has suddenly gotten a lot more painful! Steuard Jensen
- Follow-Ups:
- Re: Re: Simplifying Conjugate[] with 5.2 Mac
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: Simplifying Conjugate[] with 5.2 Mac