# Complex exponentiation

## Main Question or Discussion Point

Mathworld seems to be the only place which explicitly defines complex exponentiation. I'll be even more explicit than Wolfram and write out the full formula (I'm guessing there's no shorter way for the general case):

(a+bi)^(c+di) =

(a2+b2)^(c/2) * e^(-d*atan2(b,a)) * cos(c*atan2(b,a)+0.5*d*ln(a2+b2) )
+
(a2+b2)^(c/2) * e^(-d*atan2(b,a)) * sin (c*atan2(b,a)+0.5*d*ln(a2+b2) ) i

My question is this:
Wikipedia says that the result for complex exponentiation is multivalued when the exponent is irrational - in other words, there's more than one possible solution. How would I change the above formula to produce the other solution/s?

If anyone could give the other answers to say (2.2+3.3i)^(4.4+5.5i) to clarify the answer to the above, then that would be a great example too. Or are there an infinite number of possible answers?

Finally, if complex exponentiation is supposed to give multiple answers when the exponent is irrational, then why do certain calculator applets on the internet that deal with complex arithmetic only give one answer?

Last edited:

matt grime
Homework Helper
Um, normally one defines x^y as exp{y log x} which is multivalued as log is multivalued. This is a lot more compact than your answer, though I don't dispute it.

What does atan2(b,a) mean? That might well be multivalued as everything else there is single valued.

I don't know why you want such a complicated example, and I will do i^i instead.

i^i=exp{i log i}

so we need to know what log(i) is.

i=exp{i pi/2 +2npi} for any integer n, so log{i} = {i pi/2 +2npi}

hence i^i = exp{-pi/2 -2npi}

where n is an integer. Normally, one takes a canonical choice of argument, i.e. Arg(i)=pi/2, so we usually define

i^i=exp{-pi/2}.

Last edited:
Um, normally one defines x^y as exp{y log x} which is multivalued as log is multivalued. This is a lot more compact than your answer, though I don't dispute it.
At its lowest level (separating the complex and real parts), I'm guessing that would be no less convoluted than mine, as one would then need to calculate the logarithm of the complex numbers etc.

Atan2 is a very useful function often used in computer science to automatically sort out the quadrant business as well as 'degenerate' cases such as atan(1/0) which would throw up an error. It's really handy - be nice for it to be a standard everywhere really.

That might well be multivalued as everything else there is single valued.
I doubt atan or atan2 is. I think it would be the ln() part that's multivalued if anything...

I don't know why you want such a complicated example, and I will do i^i instead.
The example I gave had the exponent as non-integer. According to Wikipedia, this means that there should be multiple (possibly infinite) solutions, (or maybe that only applies only to irrational numbers, rather than merely non-integer ones?). Because of that, I'm still confused why certain calculator applets on the internet that deal with complex arithmetic only give one answer...

Last edited:
matt grime
Homework Helper
Right, so I'm going to guess that Atan means inverse tan. Tan is periodic, hence its inverse is a multivalued 'function', but you can pick a principal branch. Which is exactly what you have done.

Your ln in the context above is not the mutlivalued bit - its argument is a positive real number - so it is just the ordinary logarithm.

The reason why (online) calculators give a single answer for complex exponentiation is exactly because your Atan function chooses a single value, and the genuine multivaluedness comes from the fact that actually there are infinitely many choices for it.

Aha, thank you - it's all starting to piece together now! Am I right in saying then that the DFT definition for example (which uses a complex exponent) would use this "principal branch" thing? (I'm sure the exponent term in that DFT formula can be reduced regardless).

Just one more question now (as long as there's a relatively simple answer - don't worry otherwise):
Why does the exponent have to be irrational to produce the multivalue thing? It makes sense to me that if it was merely non-integer (e.g. 2.35), or even just integer, that the multivalue thing would come into play.

Last edited:
matt grime