Lecture 23: the argument principle

Complex analysis, lecture 2
(April 22, 2026)

Let f:D→ℂ be an analytic function, and suppose we want to study the zeros of f. One method would be to study integrals of 1f along some closed contour; then the residue theorem in a sense “counts” the poles of 1f inside this contour, and so “counts” the zeros of f. However, this counting is really adding up the residues, which is pretty different: for example, it’s easy for the residues at different poles to cancel out.

A different way to turn zeros into poles is to take the logarithm. However, the logarithm of even a simple zero is actually an essential singularity, so this isn’t ideal; and of course the logarithm needs a branch cut to be analytic. We could solve both of these problems by differentiating: while e.g. log⁡(z−z0) is not as well-behaved as we would like, dd⁢z⁢log⁡(z−z0)=1z−z0 is as well-behaved as we could ask, for a pole. Does this avoid the residue issue above?

More generally, if f is analytic on D and has a zero at z0, the analogue of the above is dd⁢z⁢log⁡f⁢(z)=f′⁢(z)f⁢(z). Since f and f′ are analytic, we can try to evaluate the residue of f′f at z0. For example, if f has a simple zero at z0, then f′f has residue f′⁢(z0)f′⁢(z0)=1! So the logarithmic derivative turns simple zeros into simple poles of residue 1, so the sum of the residues at these poles really does give a count of the zeros.

What about higher order zeros? If f has a zero of order n at z0, i.e. f⁢(z)=g⁢(z)⁢(z−z0)n for some analytic function g⁢(z) with g⁢(z0)≠0, then

f′⁢(z)f⁢(z)=g′⁢(z)⁢(z−z0)n+n⁢g⁢(z)⁢(z−z0)n−1g⁢(z)⁢(z−z0)n=g′⁢(z)g⁢(z)+nz−z0.

Since g⁢(z0)≠0, the first term is analytic at z0, and so the residue of f′f at z0 is equal to the residue of nz−z0, i.e. n. Therefore summing up the residues of f′f is equivalent to counting the zeros of f, with multiplicity.

We could also allow f to be meromorphic, rather than holomorphic, on D, i.e. have poles as well as zeros. Viewing a pole of order n as a zero of order −n, the same argument above implies that if f has a pole of order n at z0, then f′f has a simple pole at z0 with residue −n. Therefore for a meromorphic function f we can think of summing up the residues of ff′ as the number of zeros of f, with multiplicity, minus the number of poles, with multiplicity. In other words, via the residue theorem, we have proven the following theorem:

Theorem (Argument principle).

Let D be a bounded domain with piecewise smooth boundary and f a meromorphic function on D which extends to an analytic function on ∂D, with f⁢(z)≠0 for z∈∂D. Let N0 be the number of zeros of f in D, counted with multiplicity, and N∞ the number of poles, also counted with multiplicity. Then

12⁢π⁢i⁢∫∂Df′⁢(z)f⁢(z)⁢𝑑z=N0−N∞.

Indeed, by the residue theorem the left-hand side is the sum of the residues of f′f, which gives the right-hand side by the discussion above.

More generally, for a closed path γ in D along which f is analytic and nonzero, we call

12⁢π⁢i⁢∫γf′⁢(z)f⁢(z)⁢𝑑z

the logarithmic integral of f along γ. Since the integrand is the logarithmic derivative, we could rewrite it as

12⁢π⁢i⁢∫γd⁢log⁡f⁢(z).

Note however that log⁡f⁢(z) need not be analytic on D, hence we cannot simply evaluate this by the fundamental theorem of calculus (or else it would be zero for γ closed); d⁢log⁡f⁢(z) is a closed differential, but is not exact in general.

To justify the terminology, recall that log⁡z=log⁡|z|+i⁢arg⁡z, so log⁡f⁢(z)=log⁡|f⁢(z)|+i⁢arg⁡f⁢(z). Therefore we can rewrite the above as

12⁢π⁢i⁢∫γd⁢log⁡|f⁢(z)|+12⁢π⁢∫γd⁢arg⁡f⁢(z).

The first differential d⁢log⁡|f⁢(z)|, despite the non-analyticity of log⁡|f⁢(z)|, is exact, and so the integral does not depend on the path, only on the endpoints of γ: if γ:[a,b]→ℂ, then this is 12⁢π⁢i⁢(log⁡|f⁢(γ⁢(b))|−log⁡|f⁢(γ⁢(a))|), so in particular for a closed path this is 0. So we are left with the argument integral

12⁢π⁢∫γd⁢arg⁡f⁢(z),

which is not exact: arg⁡f⁢(z) is multivalued, and it may well happen that as we go around γ, the ending value of arg⁡f⁢(z) is different from the starting value, even though these are at the same point. Consider for example f⁢(z)=z and γ the unit circle.

However, if we fix a continuous single-valued branch A⁢(t) of arg⁡f⁢(γ⁢(t)), then this integral is simply given by 12⁢π⁢(A⁢(b)−A⁢(a)). Since two different choices of A⁢(t) differ by a constant, this is well-defined; up to the factor of 12⁢π, it is called the increase in argument of f along γ. (So for f⁢(z)=z and γ the unit circle as above, this would be 2⁢π, hence the integral would be 1, compatibly with the argument principle.) By splitting the curve γ into pieces and adding up the increases in argument of f along each, we can often evaluate this integral, and hence apply the argument principle, without too much direct calculation.

To illustrate the theorem, consider the polynomial p⁢(z)=z6+9⁢z4+z3+2⁢z+4. How many zeros does p have (counting multiplicity) in the first quadrant 0<arg⁡z<π/2?

Note first that p has no zeros on the positive real line, since for x≥0 we have p⁢(x)≥4. On the positive imaginary line, if z=i⁢x for x≥0 we have p⁢(i⁢x)=−x6+9⁢x4−i⁢x3+2⁢i⁢x+4, so with real part −x6+9⁢x4+4 and imaginary part −x3+2⁢x. The imaginary part vanishes at x=0 or x=±2, and one can check that at both of these points the real part is nonzero, so p⁢(x⁢i)≠0 for all x≥0 as well.

Let D be the region |z|<R, 0<arg⁡z<π/2; so we want to count the limit of the number of zeros of p contained in D as R→∞. We know that p has no zeros along either of the straight edges contained in ∂D; the remaining part of the boundary is the arc from R to R⁢i of angle π/2 and radius R, and since p has finitely many zeros there are no zeros on this arc once we choose R large enough. Therefore we can apply the argument principle: since p is holomorphic on D,

12⁢π⁢i⁢∫∂Dp′⁢(z)p⁢(z)⁢𝑑z=12⁢π⁢i⁢∫∂Dd⁢log⁡p⁢(z)

is the number of zeros of p in D.

For z positive real, p⁢(z) is positive real, so arg⁡p⁢(z)=0 and there is no increase in the argument as z moves from 0 to R along the real axis. Along the quarter-circle of radius R, for |z|=R large enough p⁢(z)≈z6, so arg⁡p⁢(z)≈arg⁡(z6)=6⁢arg⁡z, so the increase in argument is approximately 6⋅π2=3⁢π. (This approximation is good enough because after dividing by 2⁢π, the integral should give an integer, so we can just take the nearest integer multiple of 2⁢π at the end.) Finally, along the imaginary axis as z goes from R⁢i to 0, we saw above that p⁢(i⁢x)=−x6+9⁢x4+4+(−x3+2⁢x)⁢i for x>0 has imaginary part zero only at 2; for x>2 it is negative, and for 0<x<2 it is positive. At R⁢i, p⁢(R⁢i)≈(R⁢i)6=−R6, with argument approximately π, and the above shows that as x goes from R to 2, p⁢(x⁢i) remains in the lower half-plane, and p⁢(i⁢2)=−23+9⋅22+4=32 with argument 2⁢π, so the increase in argument along this line segment is π. Finally, as x goes from 2 to 0, at both endpoints p⁢(z) is positive real, and in between it remains in the upper half-plane, so the increase in argument is 0.

Therefore we have found that the total increase in argument is (in the limit as R→∞) 0+3⁢π+π+0=4⁢π, and so the number of zeros in the first quadrant is 4⁢π2⁢π=2. With the help of a computer, one could compute that these are at approximately z≈0.0426+3.0087⁢i and z≈0.56725+0.64665⁢i.

A more conceptual application is Rouché’s theorem.

Theorem.

Let D be a bounded domain with piecewise smooth boundary, and let f,h be analytic functions on D∪∂D such that |h⁢(z)|<|f⁢(z)| for z∈∂D. Then f and f+h have the same number of zeros in D (counted with multiplicity).

In other words, we can perturb f by a function which is “small” relative to f in a certain sense without changing the number of zeros.

Proof.

Note that the assumptions imply f⁢(z)≠0 for z∈∂D. We have f⁢(z)+h⁢(z)=f⁢(z)⁢(1+h⁢(z)f⁢(z)), and since |h⁢(z)|<|f⁢(z)| the second factor is in a disk of radius 1 centered at 1, and so in particular is in the right half-plane. Therefore arg⁡(f⁢(z)+h⁢(z))=arg⁡f⁢(z)+arg⁡(1+h⁢(z)f⁢(z)), and the increase in argument of the second term as z moves along ∂D is 0. Therefore the total increase in argument of f+h is the same as that of f, so the claim follows from the argument principle. ∎

A fun consequence is the following slick proof of the fundamental theorem of algebra. Let p⁢(z)=an⁢zn+an−1⁢zn−1+⋯+a1⁢z+a0. On the boundary of a disk of sufficiently large radius R centered at the origin, we have |an⁢zn|>|an−1⁢zn−1+⋯+a0|, so f has the same number of zeros within this disk as an⁢zn, which of course has n zeros with multiplicity, namely a single zero of order n at z=0.

A more concrete application is the following. Consider the equation ez=1+2⁢z. What are the solutions with |z|<1?

One solution is given by z=0. Are there any others?

Rewriting this as ez−1−2⁢z=0, we want to write the left-hand side as f+h for some f and h satisfying the hypotheses of Rouché’s theorem: that is, on the unit circle, |h|<|f|. Choosing f⁢(z)=−2⁢z and h⁢(z)=ez−1 works: for |z|=1, we have |−2⁢z|=2 and |ez−1|=|z+12⁢z2+16⁢z3+⋯|≤|z|+12⁢|z|2+⋯=e|z|−1=e−1<2. So ez−1−2⁢z has the same number of zeros in the unit disk as −2⁢z, which has only a single zero at z=0, so we can answer the question above in the negative: z=0 is the only solution of ez=1+2⁢z in the unit disk. (It is not however the only solution in ℂ, e.g. z≈1.25643 also works; in fact there are infinitely many solutions.)