The Argument Principle

The residue theorem has a striking corollary: a single contour integral can count the zeros and poles of a function. Feed it the logarithmic derivative f'/f and the residues become integers — the multiplicities of the zeros and poles inside the contour.

Why f'/f counts

Step 1 — a zero contributes its order. If f has a zero of order m at z_0, write f(z) = (z - z_0)^m g(z) with g(z_0) \ne 0. Differentiate logarithmically:

\frac{f'(z)}{f(z)} = \frac{m}{z - z_0} + \frac{g'(z)}{g(z)}.

The second term is holomorphic at z_0, so f'/f has a simple pole there with residue m — the order of the zero.

Step 2 — a pole contributes minus its order. If f has a pole of order p at z_1, write f(z) = (z - z_1)^{-p} h(z) with h(z_1) \ne 0. The same computation gives

\frac{f'(z)}{f(z)} = \frac{-p}{z - z_1} + \frac{h'(z)}{h(z)},

so the residue of f'/f at a pole of f is -p.

Step 3 — apply the residue theorem. Summing the residues of f'/f over everything inside \gamma adds up the zero orders and subtracts the pole orders:

\frac{1}{2\pi i}\oint_\gamma \frac{f'(z)}{f(z)}\,dz = \sum (\text{zero orders}) - \sum (\text{pole orders}) = Z - P.

Step 4 — read it as a change in argument. Since \dfrac{f'}{f} = \dfrac{d}{dz}\log f, the integral measures the total change in \log f = \ln|f| + i\arg f around the loop. The modulus part returns to its start, so only the change in argument survives:

\oint_\gamma \frac{f'}{f}\,dz = i\,\Delta_\gamma \arg f \quad\Longrightarrow\quad Z - P = \frac{1}{2\pi}\,\Delta_\gamma \arg f.

That is the winding number of f(\gamma) about the origin.

Rouché's theorem: locating zeros

The argument principle has a powerful companion that lets you count zeros without finding them.

A clean route to the fundamental theorem of algebra. Take a degree- n polynomial P(z) = z^n + a_{n-1}z^{n-1} + \cdots + a_0. On a large circle |z| = R the leading term f(z) = z^n dominates the rest g(z) = a_{n-1}z^{n-1} + \cdots + a_0, so |g| < |f| on the circle. By Rouché, P = f + g has the same number of zeros inside as z^n — namely n. So every degree- n polynomial has exactly n roots, recovering the fundamental theorem of algebra.

The argument principle reframes a counting problem as a single trip around a loop: watch the image f(\gamma) and tally how many times it laps the origin. That is why Rouché is so effective — perturb a function by something strictly smaller on the boundary and the image curve cannot gain or lose a lap, so the zero count is locked. From this vantage point the fundamental theorem of algebra is almost obvious: far from the origin a polynomial looks exactly like its leading power, which winds n times, so it must have n roots.

Watch the image wind around the origin

Here f(z) = z^2 and \gamma is the unit circle. Drag the parameter \theta to move z = e^{i\theta} once around \gamma, and watch the image point f(z) = z^2 sweep out f(\gamma). Because z^2 has a double zero at the origin (Z = 2, P = 0), the image loops the origin twice — the winding number equals Z - P = 2.