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: [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


  • Prev by Date: Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
  • Next by Date: Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
  • Previous by thread: Re: Simplifying Conjugate[] with 5.2 Mac
  • Next by thread: Re: Re: Simplifying Conjugate[] with 5.2 Mac