MathGroup Archive 2006

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

Search the Archive

Re: When is x^y = != E^(y*Log[x])

  • To: mathgroup at
  • Subject: [mg66270] Re: [mg66236] When is x^y = != E^(y*Log[x])
  • From: Andrzej Kozlowski <akoz at>
  • Date: Sat, 6 May 2006 01:54:57 -0400 (EDT)
  • References: <>
  • Sender: owner-wri-mathgroup at

On 5 May 2006, at 18:02, ted.ersek at wrote:

> The Mathematica documentation for Power says:
> For complex numbers (x^y) gives the principal value of  ( E^(y*Log 
> [x] ).
> This is consistent with reference books.
> I wanted to see where in the extended complex plane this identity  
> applies.
> Also when it doesn't apply how do we determine (x^y).
> So consider the following:
> In[1]:=
>   x=0; y=-3;
>   {x^y, E^(y*Log[x])}
> Out[3]=
>   {ComplexInfinity, Infinity}
> The documentation wasn't wrong in the above example because 0, -3  
> are not
> complex numbers.
> However, I have seen books that imply the identity above works for  
> any (x,y).
> Well I can see the above identity doesn't apply when x=0 and y is  
> negative.
> The above identity doesn't apply in the following cases either.
> In[4]:=
>   x=-2;  y=(2+I)*Infinity;
>   {x^y, E^(y*Log[x])}
> Out[6]=
>   {Indeterminate, 0}
> In[7]:=
>   x=5-6*I;  y=-Infinity*I;
>   {x^y, E^(y*Log[x])}
> Out[9]=
>   {Indeterminate, 0}
> In[10]:=
>   x=y=Infinity;
>   {x^y, E^(y*Log[x])}
> Out[11]=
>   {ComplexInfinity, Infinity}
> Then you might say the above identity doesn't apply when Abs[y] 
> ==Infinity,
> but the above identity does apply in the next example.
> In[12]:=
>   x=(1+2*I)*Infinity;  y=(-1+2*I)*Infinity;
>   {x^y, E^(y*Log[x])}
> Out[14]=
>   {0, 0}
> Could somebody provide conditions on (x,y) that are necessary and
> sufficient for
> E^(y*Log[x])  to return the same thing as (x^y).
> -------------
>   Ted Ersek

This issue has been discussed here in the past (see the recent reply  
by David Cantrell to an earlier post of yours) and I do not want to  
repeat it all here again, but so will try to confine myself to what I  
think are the main points.

You can only speak of an "identity" in mathematics if you have at  
least two well defined objects in the same "mathematical context".  
Only then you can speak of them as being identically equal. Objects  
belonging to different contexts can't be compared.

To say that x^y is defined to be the principal value of  ( E^(y*Log 
[x] ) says exactly that: the left hand side is defined to be the  
principal value of the right hand side whenever x and y are complex  
numbers and when both sides are well defined complex numbers. That  
means in particular that no 'Infinities" are included in this  
  In fact,  0 and -3 are complex numbers, but of Infinity or  
ComplexInfinty are not. The issue of what should be returned when  
something in the above expression is "infinite" is a separate one  
from the above definition. It is partly a question of what model of  
"extended complex plane" should be used. This is the main source of  
confusion (but not the only one).

Some of the inconsistencies that appear in your examples are all due  
to the fact that Mathematica uses simultaneously two different  
"compactifications" of the complex plane: the one point  
compactification (where there is only one infinity, denoted by  
ComplexInfinity and the compactified complex plane is topologically  
just the 2-sphere) and "infinitely many point compactification",  
where you have lots of infinities of the form DirectedIfinity[z],  
where z is any complex number. The complex plane with this  
compactification is topologically the closed 2-dimensional disk.
These two models represent two different mathematical contexts, in  
other words they do not fit together into any consistent mathematical  
object. Or to put in yet another way, Infinity and ComplexInfinity do  
not "live in the same world": one lives on the disc the other on the  
sphere.  Moreover, the "disk model" itself has serious problems,  
since analytic functions cannot be extended continuously to the disk  
so inevitably one will sometimes obtain contradictory results if one  
assumes that they do.

If you only allow one  Infinity: ComplexInfinity - then all the above  
computations will return the same result, although in most cases it  
will be the rather useless Indeterminate. This approach, although  
mathematically the most satisfactory and the one that is almost  
always used in texts on complex analysis, is not fully satisfactory  
when you consider Mathematica as a computational tool rather than as  
a logical system. It can be argued that having ComplexInfinity as the  
only kind of Infinity would involve "loosing" useful information in  
certain situations, and as a result Mathematica would not be able to  
solve some problem that it can do now. (On the other hand it would  
not get into the kind of contradictions that it does get into now).  
Also, the "many infinities" disc model allows one to "embed" the  
standard model of the extended real line (the two point  
compactification = closed interval) in the extended complex plane, by  
thinking of Infinity as DirectedInfinity[1], and -Infinity as  
DirectedInfinity[-1], which is attractive in a program like  
Mathematica where you do not declare in advance the mathematical  
context you are working in.

To summarise: x^y === principal part of E^(y*Log[x]) for complex  
numbers is not an identity: it is a definition. What values either  
side should take when something becomes "infinite" is a matter of the  
model of the complex plane that you use and of how you decide to  
extend the definition. There is no unique or fully satisfactory way  
of doing this. Having chosen a model, one tries to find the most  
useful definition, which means that the function will be "as  
continuous as possible". Note however that even for genuine complex  
numbers the function x^y will never be continuous everywhere since  
even the function x^(1/2)  can't be defined continuously on the  
standard complex plane.

As I already mentioned above: the standard model of the extended  
complex plane called the Riemann sphere, has only one infinity:  
ComplexInfinity. We know that on the Riemann sphere the functions z- 
 >z^a can be defined continuously for all real a>0, so we have  
ComplexInfinity^a = ComplexInfinity for a>0 and ComplexInfinity^a=0  
for a<0. ComplexInfinity^0 would be best defined as 1, but as that  
has a discontinuity with respect to the exponent Mathematica chooses  
to define it as Indeterminate. On the other hand a^ComplexInfinity  
does not have any definition with good properties so Mathematica  
leaves it undefined.

When you use the other model of the extended complex plane you into a  
confusing situation, which is due to the fact that there are more  
"useful" extensions for various kinds of infinite expressions, but  
they often tend to be inconsistent with one another. In fact, the  
answers that you get often depend on such things as the order in  
which you perform arithmetical operations (in other words the usual  
laws of arithmetic do not hold). Some of them are hard to explain: I  
can't see any good reason at all why Infinity^Infinity is  
ComplexInfinity, and it seems to contradict the the most basic rule  
that x^y is always real when x and y are positive reals. Besides, as  
I mentioned earlier, Infinity and ComplexInfinity do not belong  
together in any topological model known to me (you need a  
"topological model" to be able to consider the issue of continuity)  
and should never appear in the same formula. I can only consider this  
as a bug, and a rather silly one.

But the fact is that there is no accepted standard way in mathematics  
of dealing with such matters and I do not know of any way that would  
be satisfactory. In Mathematica in such cases pragmatic computational  
considerations tend to decide the issue.

So to return to your question: the sufficient condition is that x and  
y and both sides of your "identity" be complex numbers. As for the  
necessary condition the question is not really well defined if you  
allow infinite quantities, since there is neither a single accepted  
model of the extended complex plane nor, for any given model, a  
standard accepted way of extending x^y or E^(y*Log[x]) to take  
account of various kinds of infinities.

Andrzej Kozlowski

  • Prev by Date: Re: Problems with FindRoot
  • Next by Date: Re: When is x^y = != E^(y*Log[x])
  • Previous by thread: When is x^y = != E^(y*Log[x])
  • Next by thread: Re: When is x^y = != E^(y*Log[x])