MathGroup Archive 2006

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

Search the Archive

Re: Re: Simplification and Arg[]

  • To: mathgroup at
  • Subject: [mg66615] Re: [mg66603] Re: [mg66593] Simplification and Arg[]
  • From: "David Park" <djmp at>
  • Date: Wed, 24 May 2006 03:01:53 -0400 (EDT)
  • Sender: owner-wri-mathgroup at


Well, it was a rhetorical question. Technically ComplexExpand may be the
correct term. Yet, I think that in most cases where it is used, users expect
a simplification. Also it is a real problem for new users that they so
frequently overlook ComplexExpand. It is a source of many postings to
MathGroup. They don't overlook Simplify and FullSimplify! I'll bet if it was
called ComplexSimplify it wouldn't be overlooked. Of course, it's too late
now anyway.

David Park
djmp at

From: Andrzej Kozlowski [mailto:akoz at]
To: mathgroup at

On 23 May 2006, at 07:14, David Park wrote:

> Andrew,
> For doing complex algebra the BIG, BIG command is ComplexExpand.
> One can
> hardly get along without it. But for some reason, users starting
> out with
> complex algebra on Mathematica frequently overlook it. (Maybe they
> should
> have called it ComplexSimplify?)

I don't think so: it quite properly called ComplexExpand because it
"expands". In fact, for purely real expressions it will usually
return the same output as Expand:

ComplexExpand[(a + b)*(c + d)]

a*c + b*c + a*d + b*d

On the other hand if a and b are complex, the expression returned by
ComplexExpand will certainly in general not be simpler than the
original one:

ComplexExpand[(a + b)*(c + d), {a, b, c, d}]

(-Im[a])*Im[c] - Im[b]*Im[c] - Im[a]*Im[d] - Im[b]*Im[d] + Re[a]*Re
[c] + Re[b]*Re[c] + Re[a]*Re[d] + Re[b]*Re[d] +
   I*(Im[c]*Re[a] + Im[d]*Re[a] + Im[c]*Re[b] + Im[d]*Re[b] + Im[a]*Re
[c] + Im[b]*Re[c] + Im[a]*Re[d] + Im[b]*Re[d])

I do not think I would call this "simplifying",  would you? ;-)

Andrzej Kozlowski
Tokyo, Japan

  • Prev by Date: Re: Interval[{a,b}]-Interval[{a,b}] = 0?
  • Next by Date: Re: Re: Simplification and Arg[]
  • Previous by thread: Re: Re: Simplification and Arg[]
  • Next by thread: Re: Re: Simplification and Arg[]