Lecture 1: complex numbers and representations

Complex analysis, lecture 2
(January 21, 2026)

1.  Syllabus

The syllabus can be found here. We’ll take some time to go over it in class.

There are four main parts to the course. The first, which we’ll start today, is about complex numbers themselves and complex functions, asking questions like “what does it mean for a complex function to be differentiable?” and “how can we extend common elementary functions to complex numbers?” Next, we’ll turn to studying complex integrals, which are parallel to line integrals from calculus but have their own interesting behavior, and a number of applications. Beyond elementary tools, we’ll see some results that both let us evaluate complex integrals we might not otherwise be able to and imply strong properties of complex functions. We’ll continue this path in the third part of the class with the residue theorem, which extends these results and gives a powerful new method for computing integrals, which can be used to study real integrals which cannot otherwise be computed and has many applications to other fields, inside and outside of mathematics. Finally in the last part of the course we’ll look at some other directions in complex analysis, relating to topics like geometry and differential equations.

2.  Complex numbers

Our goal for today is to introduce complex numbers and discuss some of their basic properties. First, what is a complex number?

We assume that the audience is familiar with real numbers, at least at a working level. We recall that the squaring function xx2 has image in nonnegative numbers, i.e. x20 for all x; in particular there is no real number x such that x2=1. So we introduce a symbol i with the property that i2=1.

This is, a priori, kind of a strange thing to do; it feels very arbitrary (why not introduce a symbol x such that x2=2, or any other condition?). We’ll see in a bit that it is less arbitrary than it sounds; there are various ways to motivate it from algebra or analysis, but for now we’ll just say this is something we can do that turns out to work well.111Compare the idea of introducing a symbol such that 0=1, so that we could say 10 is no longer undefined. This is also something we can formally do, but if we want this to have good algebraic properties, i.e. admit good theories of multiplication and addition, then we would have 2=21=2(0)=(20)=0=1, so 2=1 in this system. While we can make this definition, this is therefore not a very interesting system (you can show from this that any two elements are equal, so this is just a singleton).

We can see, for a start, that for any a0 we can now solve the equation x2=a, via x=±a=±ia. So at least the choice of 1, as opposed to 2 or any other number, is reasonable: a different choice would just give a scaling.

To make the above work, we need to be able to multiply the symbol i by real numbers, so we can talk about the symbol xi for any real number x. We call such a thing an imaginary number (as opposed to real numbers like x).

What about going a step further: could we ask for a square root of i, i.e. a symbol j such that j2=i? If we allow ourselves to combine real numbers and imaginary numbers, then yes: we can check that if j=i+12=12+12i, then j2=i2+2i+12=1+2i12=i. (Of course, j would also work.) This suggests that we should be allowed to add real and imaginary numbers together, i.e. consider symbols of the form z=x+yi where x and y are real numbers. We call such symbols complex numbers, and write for the collection of all of them. We’ll write Re(z)=x and Im(z)=y to recover the real and imaginary parts.

Should we go further? For example, we could ask for a square root of j; maybe this requires some further operation. But no: I’ll leave it to you to check that

(2+22+222i)2=j=i+12.

There will be more general results, but let’s accept this for now as evidence that complex numbers are all we need.

On real numbers, we have operations like addition and multiplication (and, after throwing in negative signs and multiplicative inverses, subtraction and division). What about for complex numbers?

We’ve implicitly used this already actually: we should take addition and multiplication to be given by the symbolic formulas incorporating i, just like you would to add or multiply polynomials, but now incorporating the condition i2=1.

For addition, this property isn’t necessary. In fact, via z(Re(z),Im(z)), we have a bijection between the set of complex numbers and the real plane 2; for this reason is often called the complex plane, since we can think of its elements as this plane. The plane 2, thought of as a vector space of dimension 2 for those of you who are comfortable with such things, has well-defined addition given by (x1,y1)+(x2,y2)=(x1+x2,y1+y2); and translating this back under our bijection, this is exactly the formula for addition, (x1+iy1)+(x2+iy2)=(x1+x2)+i(y1+y2).

However, there is no standard multiplication on 2 (there’s scalar multiplication by a real number, but no way to multiply two vectors together to get a third vector). This is where we are using the extra structure of the formula i2=1.

However, if we think of as the subset of with imaginary part 0, i.e. numbers of the form x+0i=x, then the multiplication with one factor restricted to is exactly scalar multiplication on 2.

The extra law i2=1 gives us some key formulas that aren’t immediately obvious. For example, what is 1i? Well, multiplying by ii gives 1i=1iii=ii2=i1=i. More generally, how could we rewrite 1x+iy? (Note that it is not 1x+1iy in general—for example, if x or y is zero this wouldn’t be defined!)

To do this the most cleanly, we want to similarly multiply by zz for some complex number z such that z(x+iy) is real, so that we can handle it easily. What could such a z be?

For this, we introduce the notion of the complex conjugate. If z=x+iy, we write z¯=xiy. So for example if z is real, i.e. y=0, then z¯=z; if z is imaginary, i.e. x=0, then z¯=z; and in general neither is true.

The key property of the complex conjugate is that

zz¯=(x+iy)(xiy)=x2+ixyixy(iy)2=x2+y2.

In particular, zz¯=x2+y2 is a real number, so we take z=z¯ above:

1x+iy=1x+iyxiyxiy=xiyx2+y2=xx2+y2yx2+y2i.

In fact, x2+y2 is not just any real number, but a particularly special one (in terms of z). Namely, by the Pythagorean theorem, it is exactly the square of the distance of z from the origin! This motivates us to set |x+iy|=x2+y2, called the modulus or absolute value of x+iy, so we could rewrite the above formulas as

zz¯=|z|2,1z=z¯|z|2.

The last property of the complex numbers we would like to mention gives some justification for the idea that this is not some arbitrary construction but somehow a fundamental one (at least, if we already care about real numbers).

Theorem (Fundamental theorem of algebra).

Let p(z) be a polynomial of degree d with complex coefficients. Then there is a factorization

p(z)=c(zz1)(zz2)(zzd)

where c and the zi are constant complex numbers, and this factorization is unique up to the ordering of the terms.

First, why does this give the justification claimed? Notice that polynomials with complex coefficients include polynomials with real coefficients; for example, we could take p(z)=z2+1, in which case the theorem states that this factors, i.e. has zeros in the complex numbers, which we can verify directly using the definition of i: p(z)=(z+i)(zi). So if we were to replace with some other set admitting good addition, multiplication, and inverses (for the algebraists: another field including ) that also admitted this property (being algebraically closed), it would have to include i, and therefore would have to include all of . So is in a sense the minimal choice we could make.

If instead of i2=1, we used some other symbol a satisfying p(a)=0 for a real polynomial p, the theorem tells us that a, defined as a zero of p, is also in the complex numbers, just as i would have to be in the resulting set for a. So the initial definition is not really arbitrary at all.

What about proving this claim? We won’t prove this now, but will return to it later in the course, using analytic methods. However, let’s observe that we can reduce it to the statement that each such p(z) admits at least one complex root z1. Why? If we know this, we can factor p(z) as (zz1)p1(z) for some polynomial p1(z) of degree d1, and proceed by induction, with base case d=0 where p must be constant (or if you like d=1 where p is linear and so already factored). The only other thing is the uniqueness of this factorization, but we can understand the factorization in terms of the roots of p (with multiplicity), so since there’s only one set of roots there’s only one factorization up to order.

3.  Polar representation

Now that we’ve defined the modulus, the distance of a point z from the origin, we can think of a new way to represent complex numbers: rather than in terms of their real and imaginary coordinates (Cartesian coordinates), we can use their modulus and angle (polar coordinates).

This is already true in 2. Given a point (x,y), its distance from the origin is r=x2+y2, and if it’s at angle θ above the x-axis we can recover the coordinates (x,y) as x=rcosθ and y=rsinθ. In the complex setting, this tuple should correspond to x+iy=rcosθ+irsinθ=r(cosθ+isinθ), where cosθ+isinθ lives on the unit circle |z|=1, determining the angle, and the r factor scales it suitably.

We already have both a notation and a formula for how to extract r from z: r=|z|=Re(z)2+Im(z)2. However, the formula isn’t as real as it looks: writing Re(z) isn’t really any simpler or more fundamental than |z|. For recovering θ from z, we could write down a formula, with some difficulty, but it would be complicated and similarly not very meaningful; we do though want a notation, so we set θ=arg(z), the argument, defined for every z{0} (since the origin itself can’t be said to have an angle).

Interestingly, this is now a multivalued function: for example, is z=1 at angle 0 or 2π? Is z=1 at angle π or π? and so forth: a shift in θ of 2π in any direction doesn’t change z. So we can think of e.g. arg(1) as the infinite set {,4π,2π,0,2π,4π,}. When we want to pin down the argument precisely, we’ll write Arg(z) for the value of the argument with π<Arg(z)π, so e.g. Arg(1)=0, Arg(1)=π; this is called the principal value of arg(z).

This is our first example of a multivalued function, which we restrict somehow to get a single-valued function. We’ll look more at this concept next week; although we’ll sometimes be able to brush this phenomenon under the rug when we don’t want to think about it, it is impossible to get away from entirely in complex analysis.

It will be convenient to have a compact notation for the function θcos(θ)+isinθ. We will boldly write this as eiθ. In other words, we are extending the definition of the exponential function ex to complex numbers: if we want to make sense of ex+iy, using the property ea+b=eaeb, since ex is well-defined the hard part is to make sense of eiy, and we’re saying we are just going to define it to be eiy=cos(y)+isin(y). We will see later on in the course why this is not only a reasonable definition but actually really the only one we could make; for now, we’ll give some mild justification in a bit.

If we accept this definition, note that Euler’s famous identity

eπi+1=0

falls out immediately: this is

cos(π)+isin(π)+1=1+0+1=0.

We compute some other examples:

eπi/2 =cos(π/2)+isin(π/2)=i,
eπi/3 =cos(π/3)+isin(π/3)=12+32i,
eπi/4 =cos(π/4)+isin(π/4)=12+12i.

Note that the third of these is the same as our formula for j=i above, and now we can justify this more intuitively, instead of by guesswork: i=(eπi/2)1/2=eπi/4=j.

More generally, we can think of multiplication by eiθ as a rotation of angle θ around the unit circle, or in the complex plane in general.

We note some important properties of the complex exponential, for this definition:

|eiθ|=cos(θ)2+sin(θ)2=1,
eiθ=cos(θ)+isin(θ)=cos(θ)isin(θ)=eiθ¯,
1eiθ=eiθ¯|eiθ|2=eiθ¯=eiθ

using the previous rules (this last would be immediate if we knew that the complex exponential followed the same rules as the real one, but we don’t know this yet!). We also have the key additivity rule, same as for the real exponential:

ei(a+b)=eiaeib.

We interpret this one geometrically: the left-hand side is a rotation by a+b, while the right-hand side is a rotation by a followed by a rotation by b, hence these agree. This is itself a strong reason to believe that this is a reasonable definition of a complex exponential: this is a characteristic property of exponential functions. (Formally pinning this down takes a little more work.)

Using the definition of eiθ in terms of sine and cosine, one can derive from this identity various trigonometric identities; some of these will appear on your homework.

Writing z=reiθ in polar form, we can write θ=arg(z) (or θ=Arg(z) if we want to pin down the value). The above identities then give

arg(z¯)=arg(reiθ¯)=arg(reiθ¯)=arg(reiθ)=θ,
arg(1/z)=arg(1reiθ)=arg(1reiθ)=θ,

and

arg(z1z2)=arg(r1eiθ1r2eiθ2)=arg(r1r2ei(θ1+θ2))=θ1+θ2.

The final concept we want to introduce today is that of roots of unity. These are complex numbers z such that zn=1 for some n; for a fixed n, we say that such z are nth roots of unity. In the real numbers, there are only two roots of unity, namely 1 itself and 1, which satisfies (1)2=1. In the complex numbers, however, we have (by the fundamental theorem of algebra!) roots of unity for any n. In polar representation, this is easy to see: if z=reiθ and zn=rneiθn=1, then taking absolute values |rn||eiθn|=|r|n=1, so r=1, and θ1n2π, i.e. θ=2πkn for some integer k, so z=e2πik/n. Geometrically, these are evenly spaced points around the unit circle, separated by arcs of length 2π/n. For example, the fourth roots of unity are 1, i, 1, and i.