Lecture 3: the logarithm and power functions

Complex analysis, lecture 2
(January 28, 2026)

1.  The logarithm

Last time, we saw our first “nontrivial” example of inverting a function: the square root function as the inverse of the squaring function. We call this “nontrivial” because the squaring function is not a bijection, so in the usual sense it doesn’t have an inverse. Nevertheless, we saw we could define two partial inverses, which were continuous after forming a branch cut in the complex plane, and we could even combine these together to give a full inverse after replacing the complex plane with a more complicated surface given by gluing together two copies of the slit plane (in fact, we saw that this can be manipulated into something closely resembling the plane, via the squaring function!).

This is a common phenomenon, and we’ll see more examples today. We start by returning to the complex exponential, which we saw last time is a periodic function with period 2π. This means that, even worse than the squaring function which in general has two preimages over every point (other than zero), zez has infinitely many preimages over every point (other than zero). So its inverse, logz, is going to be a very multivalued function.

More precisely, logz should be a complex number such that elogz=z. Let’s write X+iY=logz, i.e. X=Re(logz) and Y=Im(logz). Then elogz=eX+iY=eXeiY=z, so since X and Y are real eX is a positive real number and eiY is a point on the unit circle, so this is a polar form for z: |z|=eX and argz=Y. Hence X=log|z|, a well-defined real number so long as z0, and Y=argz, a multivalued function; so

logz:=log|z|+iarg(z).

Since arg(z) is defined up to multiples of 2π, logz is defined up to multiples of 2πi. For example, recall that we chose a principal branch Arg(z) of the argument, with values between π and π; we can also define a principal branch of the logarithm

Logz:=log|z|+iArg(z),

so that we can think of logz as having values Log(z)+2πin for integers n.

Note that this gives a close connection between arg and log, or respectively Arg and log: if |z|=1, then logz=iarg(z), or arg(z)=1ilog(z). This gives an “analytic”-looking formula for the argument, although it is only of occasional use in practice.

The fact that the complex exponential satisfies the same good properties as the real exponential implies something similar for the logarithm. For example,

Log(ab)=Log(a)+Log(b),Log(ab)=bLog(a)

(up to this making sense in the first place—we’ll come back to this!).

For example, consider z=1+i. Since z=21+i2=2eπi/4, we have

Log(1+i)=log2+πi4=12log2+πi4,

and the other values of the logarithm are given by shifting by 2πi:

log(1+i)={12log2+πi4+2πin|n}.

Just like for the square root, our definition of Log depends on the choice of the principal value of the argument Arg, and so when we cross from argument near π to argument near π—very close to each other in the complex plane, but far apart in argument—there will be a jump discontinuity:

Log(ei(πϵ))=(πϵ)i,Log(ei(ϵπ))=(ϵπ)i,

even as ϵ0. (Again, we could resolve this particular issue by choosing a different branch of the argument, hence of the logarithm, but the same issue will just occur somewhere else.) So we make a branch cut along the negative real axis, so that Log(z) can be viewed as continuous along this slit plane.

For concreteness, let’s define functions fn(z)=Log(z)+2πin, so Log(z)=f0(z). Each of these is naturally defined on a version of the complex plane slit along the negative real axis, which we label as Sn. As with the square root function, we would like to somehow glue these together to get a single surface on which logz is naturally defined, inverse to the exponential ez; but now instead of just gluing two surfaces together, we have infinitely many surfaces! How can we deal with this?

Well, let’s consider what happens when we cross the negative real axis. For the example above, as ϵ0 we have

Log(ei(πϵ))=f0(ei(πϵ))=(πϵ)iπi,Log(ei(ϵπ))=f0(ei(ϵπ))=(ϵπ)iπi;

so the value after crossing the negative real axis in the counterclockwise direction, i.e. as ϵ approaches zero from above and then becomes negative, jumps by 2πi. In other words, the value of f0 on the negative side of the branch cut matches the value of f1 on the positive side; and correspondingly, the value of f0 on the positive side matches f1 on the negative side, and so on. Thus we should glue the positive edge of Sn to the negative edge of Sn+1 for every n. This gives a chain of surfaces glued together in this way, which we can think of as a sort of helix or spiral stairway around the origin. The logarithm logz=f(z) can be defined on this whole space S: if zS lives on the nth surface Sn, then we set f(z)=fn(z), which can be thought of as keeping track of the “height” of z on this stairway together with the usual data of Log(z).

Although this is a more complicated shape than the Riemann surface for z, we can see that it is still isomorphic to a punctured sphere: indeed, the logarithm function on it defined above gives a map to , i.e. S2{}, with inverse given roughly by the exponential: for z=x+iy, if y=y0+2πn for π<yπ (satisfied by exactly one n) then we map it to ez on the nth sheet. You might be tempted to guess that something similar will always happen, so that the Riemann surface will always be isomorphic to a sphere with some number of punctures. This is partially true: when it is constructed for the inverse of some function like this to correct multivalued-ness, then the resulting inverse function will give a bijection with the punctured sphere. In general however we can ask for Riemann surfaces for solutions to more general equations: a classic example is something like

w2=z3+1.

Here neither w nor z is obviously a well-defined function of the other; but it turns out you can still construct a Riemann surface “solving” this equation, i.e. with points corresponding to solutions, so that projection to one factor or the other can be viewed as solving for that variable. This Riemann surface is not isomorphic to a sphere, even with punctures; in fact it is an example of an elliptic curve, a very interesting kind of object with which we will not be otherwise concerned in this course. Generally the Riemann surfaces we see will come from inverting a function like this, but it’s good to keep in mind that this isn’t a general property, and it’s more useful to think of their “natural shape” (like the helix for the logarithm) than the isomorphism with .

2.  Power functions

A priori, a function like zzα only makes sense when α is a natural number; but it’s straightforward, as in calculus, to extend to at least the case when α is a real number. For example, writing z=reiθ in polar coordinates, we can define

zα=rαeiαθ.

For a complex exponent, this is unclear: what would e.g. zi be? Now that we understand the logarithm though we can make sense of this: for any complex number α and z{0}, we define

zα=eαlogz.

(For z=0, we’ll define 0α=0 for α0, and leave 00 undefined.) So we’re essentially defining the power operation such that the property

log(zα)=αlogz

holds: the left-hand side is, by definition, log(eαlogz)=αlogz.

Now, recall that logz is, when understood on the complex numbers, only defined up to adding multiples of 2πi. When α is an integer, there’s no issue:

eα(logz+2πi)=eαlogze2απi=eαlogz,

so there’s no ambiguity. When α is not an integer, though, multiplying it by factors of 2πi can change the argument of the result. More precisely, if we replace logz by the branch Log(z)+2πin, we get

zα=eαLog(z)+2απin=eαLog(z)e2απin

and so zα is a multivalued function, with values given by eαLog(z)e2απin for various n.

For example, if α=12, e2απin is either 1 (if n is even) or 1 (if n is odd). This gives rise to the two branches of the square root z1/2. More generally, z1/d for any positive integer d is multivalued with d possible values, given by multiplying any given choice by the d roots of unity e2πin/d. Similarly when α is any rational number with denominator d (in lowest form), there will be d branches.

If α is not a rational number, there will in general be infinitely many branches of zα. Consider for example the expression ii. This should be given by eilogi. Since i=eπi/2, the principal value of logi is πi/2; but it also has infinitely many other values πi/2+2πin. So ii has values

ei(πi/2+2πin)=eπ/22πn.

Note, by the way, that these are all real numbers! So the principal value of ii is

ii=eπ/20.207879576,

quite unexpectedly. But it also has infinitely many other values as n ranges; as n+ these tend to 0, while as n they tend to .

Similarly, ii=eilog(i)=ei(πi/2+2πin)=eπ/22πn has infinitely many values. Notice that iiii therefore also has infinitely many values, and so cannot be evaluated as just 1! (Though this is its principal value.)

For α not an integer, to define zα unambiguously we again need to introduce a branch cut. For variety, let’s put it along the positive real axis this time, so we’re taking the argument to be 0θ<2π. Then we can define a principal branch on this slit plane via

z=reiθrαeiθα,

and more generally a branch for each integer n by

z=reiθrαeiθα+2πiαn

(though note that if α is rational, some of these branches will agree: e.g. for α=12, the branches for n even are all the same, as they are for n odd).

When we start just above the positive real axis and move along the unit circle to just below the positive real axis—i.e. move θ from near zero to near 2π—the result changes by a multiple of e2πiα. This is called the phase factor of zα. If we rotated around the origin m times, we would have to multiply the the phase factor m times, i.e. by e2πimα. When α is an integer, the phase factor is 1, so there is a unique branch; for α=12, the phase factor is 1, and more generally for α rational with denominator d in lowest terms the phase factor is a dth root of unity.

More generally, we could shift this to be around any fixed point z0: as z travels in a circle in the counterclockwise direction around z0, the function (zz0)α—after choosing any branch—changes by a factor of e2πiα, i.e. this is its phase factor. More generally, if g(z) is any single-valued function defined near z0, then the function (zz0)αg(z) has phase factor e2πiα around z0 after choosing any continuous branch.

Next time, we’ll look at some concrete examples, and see how trigonometric and hyperbolic functions and their inverses can also be understood via the complex exponential and logarithm. Time permitting, we’ll also quickly review some notions from analysis that will be useful next week.