The Argument Principle and Rouche's Theorem

How many roots does the polynomial z7−5z3+12z^7 - 5z^3 + 12 have inside the unit disk? Direct computation is hopeless. The polynomial has no nice factorization. Yet a short comparison with 1212 answers the question in one line. This is the power of the ideas in this article. They convert a hard algebraic counting problem into an easy geometric one. This works by watching how many times a curve winds around the origin. The argument principle says that the number of zeros minus the number of poles of a meromorphic function inside a closed contour equals the winding number of the image curve around 00. It is a direct bookkeeping consequence of the Residue Theorem, applied to the logarithmic derivative f′/ff'/f. Its residues at zeros and poles are exactly integers recording multiplicities. Rouché's theorem sharpens this into a stability statement. If gg is a perturbation of ff that is uniformly smaller on the boundary of a region, then ff and f+gf + g have the same number of zeros inside. Small perturbations cannot destroy or create zeros. This holds unless they become comparable in size to ff itself on the boundary. The big picture is that zero-counting is a topological invariant of the boundary curve. It is not a delicate analytic fact about the interior. This is what makes the theory both rigorous and computationally cheap. Instead of solving equations, one estimates moduli on a boundary. Then one counts winding numbers, a purely geometric task. It explains, among many things, why the Fundamental Theorem of Algebra is almost free once complex analysis is available. It explains why root-locations of characteristic polynomials in control theory can be tracked continuously. It also explains why "counting" problems in complex dynamics reduce to contour estimates. This article develops the argument principle rigorously from the residue theorem. It proves Rouché's theorem as a corollary. It works two asymmetric examples — one polynomial root-counting problem and one transcendental equation — showing the method's reach. It closes by explaining exactly which hypotheses cannot be dropped. These are meromorphicity, no zeros/poles on the contour, and the strict inequality in Rouché. It previews how these ideas underlie the local structure theory of Conformal Mappings.

Key takeaways
  • The argument principle expresses Z−PZ - P (zeros minus poles, with multiplicity) inside a contour as 12πi∮f′f dz\frac{1}{2\pi i}\oint \frac{f'}{f}\,dz, equivalently as a winding number of f(γ)f(\gamma) around 00.
  • It follows directly from the Residue Theorem: the logarithmic derivative f′/ff'/f has simple poles exactly at the zeros and poles of ff, with residues equal to the order (positive for zeros, negative for poles).
  • Rouché's theorem: if ∣g(z)∣<∣f(z)∣|g(z)| < |f(z)| on a contour γ\gamma, then ff and f+gf+g have the same number of zeros (with multiplicity) inside γ\gamma.
  • Rouché converts hard algebraic root-counting into an easy inequality-checking problem, by dominating a polynomial with one of its terms on a chosen circle.
  • Both theorems require the contour to avoid all zeros and poles of the relevant functions; violating this makes the winding number/count undefined or wrong.
  • Key idea: zero/pole counts inside a curve are topological — they depend only on boundary behavior, via winding numbers, and hence are stable under small perturbations.

Where this lives today

The Nyquist stability criterion in control engineering is a direct application of the argument principle: the number of unstable closed-loop poles is read off from the winding number of a transfer function's image curve around −1-1, a translation of exactly the topological counting idea here into engineering practice. In numerical analysis, root-isolation algorithms (e.g., for finding all zeros of a polynomial in a given disk) use Rouché-type bounds to certify how many roots lie in a candidate region before running expensive iterative solvers. In the study of dynamical systems and complex dynamics, counting preimages and periodic points of holomorphic maps (e.g., in the theory of the Mandelbrot set and Julia sets) relies on the argument principle to count solutions of f(z)=wf(z) = w locally, connecting directly to the local behavior exploited in Conformal Mappings, where the argument principle underlies the proof that non-constant holomorphic maps are locally z↦znz\mapsto z^n up to conformal change of coordinates. In algebraic geometry and topology, the argument principle is the one-complex-variable shadow of the general theory of degree of a map and intersection numbers. It also gives the cleanest possible proof of the Fundamental Theorem of Algebra: compare p(z)=anzn+⋯p(z) = a_nz^n + \cdots with f(z)=anznf(z) = a_n z^n on a huge circle, Rouché forces exactly nn roots inside, no more, no less.

Ask the tutor: How do I extend Rouché's theorem to count zeros when ff and gg have common poles inside the contour?

DefinitionWinding number, meromorphic zero/pole order, and the setting

Let γ\gamma be a piecewise-C1C^1, closed, positively oriented, simple (Jordan) curve in C\mathbb{C}, and let DD denote the bounded region it encloses (its interior, by the Jordan curve theorem). For a continuous closed curve σ:[a,b]→C∖{0}\sigma: [a,b] \to \mathbb{C}\setminus\{0\}, the winding number of σ\sigma about 00 is

n(σ,0)=12πi∫σdww,n(\sigma, 0) = \frac{1}{2\pi i}\int_\sigma \frac{dw}{w},

an integer counting the net number of times σ\sigma circles the origin counterclockwise. Let U⊂CU \subset \mathbb{C} be open, let ff be meromorphic on UU (holomorphic except for isolated poles), and suppose D‾⊂U\overline{D} \subset U. Say ff has a zero of order m≥1m \ge 1 at aa if f(z)=(z−a)mh(z)f(z) = (z-a)^m h(z) with hh holomorphic and h(a)≠0h(a) \neq 0 near aa; say ff has a pole of order m≥1m\ge 1 at bb if f(z)=(z−b)−mh(z)f(z) = (z-b)^{-m} h(z) with hh holomorphic and h(b)≠0h(b) \neq 0 near bb. Assume ff has no zeros or poles on γ\gamma itself. Since D‾\overline D is compact and zeros/poles of a meromorphic function are isolated (by the Identity Theorem applied to hh, plus the definition of pole), ff has only finitely many zeros and poles in DD. Define

Z=∑a zero in Dm(a),P=∑b pole in Dm(b),Z = \sum_{a \text{ zero in } D} m(a), \qquad P = \sum_{b \text{ pole in } D} m(b),

the total number of zeros and poles in DD, counted with multiplicity.

Intuition

Think of ff as a machine that takes the boundary curve γ\gamma and outputs another curve f(γ)f(\gamma) in the target plane. As zz traverses γ\gamma once counterclockwise, w=f(z)w = f(z) traces some closed loop. The argument principle says: count the zeros of ff inside γ\gamma (minus poles), and that number equals how many times f(γ)f(\gamma) wraps around 00. Why should this be true? Near a simple zero aa, f(z)≈c(z−a)f(z) \approx c(z-a) for constant c≠0c\neq0, so as zz makes one small loop around aa, the argument of f(z)f(z) increases by 2π2\pi — one extra wind around 00 contributed locally. A zero of order mm contributes mm winds (locally f(z)≈c(z−a)mf(z)\approx c(z-a)^m, and the map ζ↦ζm\zeta \mapsto \zeta^m wraps mm times as ζ\zeta winds once). Poles contribute windings of the opposite sign, because 1/(z−b)m1/(z-b)^m winds mm times clockwise as zz circles bb once. Globally, deforming γ\gamma to small circles around each zero/pole (justified by contour deformation, since ff has no other singularities in between) adds up all these local contributions — this is exactly the residue-sum structure. Rouché's inequality ∣g∣<∣f∣|g| < |f| on γ\gamma guarantees f(γ)f(\gamma) and (f+g)(γ)(f+g)(\gamma) stay "on the same side" of the origin at every point — literally, ∣f+g−f∣<∣f∣|f + g - f| < |f| means f+gf+g never crosses through 00 as we linearly interpolate from ff to f+gf+g, so the winding number cannot jump.

Figure
Winding number of f(γ)f(\gamma) around 00 tracks zeros minus poles inside γ\gamma
z-plane: γ a₁ (zero, m=1) a₂ (zero, m=2) b (pole, m=1) w-plane: f(γ) 0 winds around 0 twice net: Z − P = (1+2) − 1 = 2
TheoremThe Argument Principle

Let U⊆CU \subseteq \mathbb{C} be open, ff meromorphic on UU, and let γ\gamma be a positively oriented, simple, closed, piecewise-C1C^1 curve with D‾⊂U\overline{D}\subset U (DD the interior of γ\gamma), such that ff has no zeros and no poles on γ\gamma. Let ZZ and PP be the number of zeros and poles of ff in DD, counted with multiplicity, as above. Then

12πi∮γf′(z)f(z) dz=Z−P.\frac{1}{2\pi i}\oint_\gamma \frac{f'(z)}{f(z)}\,dz = Z - P.

Equivalently, if σ=f∘γ\sigma = f\circ \gamma denotes the image curve (which does not pass through 00, since f≠0f\neq 0 on γ\gamma), then

Z−P=n(σ,0),Z - P = n(\sigma, 0),

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

Proof

Technique: local Laurent expansion at each zero/pole to compute residues of f′/ff'/f, then apply the residue theorem. Step 1: f′/ff'/f is meromorphic on UU with only simple poles, located exactly at the zeros and poles of ff. Away from the zeros and poles of ff, both ff and f′f' are holomorphic and f≠0f \neq 0, so f′/ff'/f is holomorphic there. Fix a zero aa of ff of order m≥1m\ge 1. By definition, on a neighborhood VV of aa,

f(z)=(z−a)mh(z),h holomorphic on V, h(a)≠0.f(z) = (z-a)^m h(z), \qquad h \text{ holomorphic on } V,\ h(a)\neq 0.

Differentiating,

f′(z)=m(z−a)m−1h(z)+(z−a)mh′(z).f'(z) = m(z-a)^{m-1}h(z) + (z-a)^m h'(z).

Hence for z∈V∖{a}z \in V\setminus\{a\},

f′(z)f(z)=m(z−a)m−1h(z)+(z−a)mh′(z)(z−a)mh(z)=mz−a+h′(z)h(z).\frac{f'(z)}{f(z)} = \frac{m(z-a)^{m-1}h(z) + (z-a)^m h'(z)}{(z-a)^m h(z)} = \frac{m}{z-a} + \frac{h'(z)}{h(z)}.

Since h(a)≠0h(a) \neq 0 and hh is holomorphic near aa, h′/hh'/h is holomorphic on a (possibly smaller) neighborhood of aa. Thus f′/ff'/f has a simple pole at aa with residue exactly mm. Now fix a pole bb of ff of order m≥1m \ge 1: on a neighborhood VV of bb,

f(z)=(z−b)−mh(z),h holomorphic on V, h(b)≠0.f(z) = (z-b)^{-m}h(z), \qquad h \text{ holomorphic on } V,\ h(b) \neq 0.

Then

f′(z)=−m(z−b)−m−1h(z)+(z−b)−mh′(z),f'(z) = -m(z-b)^{-m-1}h(z) + (z-b)^{-m}h'(z),

so for z≠bz \neq b near bb,

f′(z)f(z)=−m(z−b)−m−1h(z)+(z−b)−mh′(z)(z−b)−mh(z)=−mz−b+h′(z)h(z).\frac{f'(z)}{f(z)} = \frac{-m(z-b)^{-m-1}h(z) + (z-b)^{-m}h'(z)}{(z-b)^{-m}h(z)} = \frac{-m}{z-b} + \frac{h'(z)}{h(z)}.

Again h′/hh'/h is holomorphic near bb, so f′/ff'/f has a simple pole at bb with residue exactly −m-m. Since ff is meromorphic, its zeros and poles are isolated (this is where meromorphicity — holomorphic off isolated singularities, each either removable, a pole, or forced to be a zero of finite order by the Identity Theorem — is used: no non-isolated zeros can occur unless f≡0f\equiv 0 on a component, excluded since ff is meromorphic and not identically zero). Hence f′/ff'/f is meromorphic on UU with poles (all simple) exactly at these points. Step 2: Finiteness. D‾\overline D is compact (closed and bounded, as γ\gamma is a bounded curve and DD its bounded interior). The zeros and poles of ff in D‾\overline D form a set with no accumulation point in UU (isolated singularities/zeros accumulate only at the boundary of UU or nowhere, by the identity theorem argument again), hence — being a closed discrete subset of the compact set D‾⊂U\overline D \subset U — this set is finite. So the sum defining ZZ and PP is finite, and f′/ff'/f has finitely many poles inside γ\gamma, all simple, none on γ\gamma itself (since f≠0,∞f\neq 0,\infty on γ\gamma). Step 3: Apply the Residue Theorem. Since f′/ff'/f is meromorphic on U⊃D‾U \supset \overline D with finitely many poles in DD, all off γ\gamma, the Residue Theorem gives

∮γf′(z)f(z) dz=2πi∑p∈DRes⁡p(f′f).\oint_\gamma \frac{f'(z)}{f(z)}\, dz = 2\pi i \sum_{p \in D} \operatorname{Res}_p\left(\frac{f'}{f}\right).

By Step 1, this residue sum is

∑a zerom(a)+∑b pole(−m(b))=Z−P.\sum_{a \text{ zero}} m(a) + \sum_{b \text{ pole}} (-m(b)) = Z - P.

Dividing by 2πi2\pi i gives the first formula. Step 4: Identification with the winding number. Let γ:[a,b]→U\gamma:[a,b]\to U parametrize the contour and set σ=f∘γ:[a,b]→C∖{0}\sigma = f\circ \gamma : [a,b] \to \mathbb{C}\setminus\{0\} (well-defined and continuous since f≠0f\neq 0 on γ\gamma, and piecewise-C1C^1 since ff is holomorphic near γ\gamma and γ\gamma is piecewise-C1C^1). By the chain rule, σ′(t)=f′(γ(t))γ′(t)\sigma'(t) = f'(\gamma(t))\gamma'(t) wherever both sides are defined, so

∮γf′(z)f(z) dz=∫abf′(γ(t))f(γ(t))γ′(t) dt=∫abσ′(t)σ(t) dt=∫σdww.\oint_\gamma \frac{f'(z)}{f(z)}\,dz = \int_a^b \frac{f'(\gamma(t))}{f(\gamma(t))}\gamma'(t)\, dt = \int_a^b \frac{\sigma'(t)}{\sigma(t)}\, dt = \int_\sigma \frac{dw}{w}.

By the definition of winding number, 12πi∫σdww=n(σ,0)\frac{1}{2\pi i}\int_\sigma \frac{dw}{w} = n(\sigma, 0). Combining with Step 3 gives Z−P=n(σ,0)=n(f∘γ,0)Z - P = n(\sigma, 0) = n(f\circ\gamma, 0). ■\blacksquare

∎
CorollaryHolomorphic special case

If ff is holomorphic on U⊃D‾U \supset \overline D (no poles) and nonvanishing on γ\gamma, then

Z=12πi∮γf′(z)f(z) dz=n(f∘γ,0)Z = \frac{1}{2\pi i}\oint_\gamma \frac{f'(z)}{f(z)}\,dz = n(f\circ\gamma, 0)

counts the zeros of ff in DD with multiplicity. This is the version used to prove the Fundamental Theorem of Algebra and to derive Rouché's theorem below.

Now we promote the argument principle into a comparison tool.

TheoremRouché's Theorem

Let U⊆CU \subseteq \mathbb{C} be open, let γ\gamma be a positively oriented, simple, closed, piecewise-C1C^1 curve with interior DD and D‾⊂U\overline D \subset U. Let f,gf, g be holomorphic on UU, and suppose

∣g(z)∣<∣f(z)∣for all z∈γ.|g(z)| < |f(z)| \qquad \text{for all } z \in \gamma.

Then ff and f+gf + g have the same number of zeros in DD, counted with multiplicity. (In particular the hypothesis forces f(z)≠0f(z)\neq 0 and (f+g)(z)≠0(f+g)(z) \neq 0 on γ\gamma, so both zero counts are well-defined.)

Proof

Technique: homotopy of winding numbers via a one-parameter family, using the argument principle's holomorphic corollary plus continuity/integrality of the winding number. Step 0: Neither ff nor f+gf+g vanishes on γ\gamma. If z∈γz\in\gamma and f(z)=0f(z) = 0, the hypothesis ∣g(z)∣<∣f(z)∣=0|g(z)| < |f(z)| = 0 is impossible. So f≠0f\neq 0 on γ\gamma. If (f+g)(z)=0(f+g)(z) = 0 for some z∈γz \in \gamma, then f(z)=−g(z)f(z) = -g(z), so ∣f(z)∣=∣g(z)∣|f(z)| = |g(z)|, contradicting the strict inequality. So f+g≠0f + g \neq 0 on γ\gamma too. Thus both zero counts ZfZ_f (zeros of ff in DD) and Zf+gZ_{f+g} (zeros of f+gf+g in DD) are well-defined via the Argument Principle (holomorphic case, no poles). Step 1: Construct the homotopy. For t∈[0,1]t \in [0,1] define

Ft(z)=f(z)+t g(z),z∈U.F_t(z) = f(z) + t\, g(z), \qquad z \in U.

Each FtF_t is holomorphic on UU (a finite linear combination of holomorphic functions). We claim Ft(z)≠0F_t(z) \neq 0 for every z∈γz \in \gamma and every t∈[0,1]t \in [0,1]: indeed by the reverse triangle inequality, for z∈γz \in \gamma,

∣Ft(z)∣=∣f(z)+tg(z)∣≥∣f(z)∣−t∣g(z)∣≥∣f(z)∣−∣g(z)∣>0,|F_t(z)| = |f(z) + t g(z)| \ge |f(z)| - t|g(z)| \ge |f(z)| - |g(z)| > 0,

using t≤1t \le 1 and the hypothesis ∣g(z)∣<∣f(z)∣|g(z)| < |f(z)| strictly. So FtF_t is nonvanishing on γ\gamma for every tt, and by the holomorphic Argument Principle,

Z(t):=12πi∮γFt′(z)Ft(z) dzZ(t) := \frac{1}{2\pi i}\oint_\gamma \frac{F_t'(z)}{F_t(z)}\, dz

is a well-defined integer for each t∈[0,1]t \in [0,1], equal to the number of zeros of FtF_t in DD (with multiplicity), and Z(0)=ZfZ(0) = Z_f, Z(1)=Zf+gZ(1) = Z_{f+g}. Step 2: Z(t)Z(t) is a continuous function of tt. Parametrize γ:[a,b]→U\gamma:[a,b]\to U, piecewise-C1C^1. The integrand

Φ(t,z)=Ft′(z)Ft(z)=f′(z)+tg′(z)f(z)+tg(z)\Phi(t,z) = \frac{F_t'(z)}{F_t(z)} = \frac{f'(z) + t g'(z)}{f(z) + t g(z)}

is jointly continuous in (t,z)∈[0,1]×γ(t,z) \in [0,1]\times \gamma: the numerator is continuous (polynomial in tt with continuous coefficients), and the denominator is continuous and bounded away from 00 uniformly in tt and zz. Indeed, set

m:=min⁡z∈γ(∣f(z)∣−∣g(z)∣)>0,m := \min_{z\in\gamma}\big(|f(z)| - |g(z)|\big) > 0,

where the minimum is attained and positive because γ\gamma is compact, ∣f∣−∣g∣|f|-|g| is continuous (as f,gf, g are), and the strict inequality holds pointwise on the compact set γ\gamma (a continuous function that is everywhere positive on a compact set attains a positive minimum). Then for all z∈γz \in \gamma, t∈[0,1]t\in[0,1],

∣Ft(z)∣≥∣f(z)∣−∣g(z)∣≥m>0.|F_t(z)| \ge |f(z)| - |g(z)| \ge m > 0.

This uniform lower bound, together with joint continuity of numerator and denominator and compactness of [0,1]×γ[0,1]\times\gamma, gives joint continuity of Φ(t,z)\Phi(t,z), hence uniform continuity on this compact set. Standard estimates (differentiating under the integral / uniform continuity of the integrand) then show

Z(t)=12πi∫abΦ(t,γ(s)) γ′(s) dsZ(t) = \frac{1}{2\pi i}\int_a^b \Phi(t,\gamma(s))\,\gamma'(s)\,ds

is a continuous function of t∈[0,1]t \in [0,1]: for t,t0∈[0,1]t, t_0 \in [0,1],

∣Z(t)−Z(t0)∣≤12π∫ab∣Φ(t,γ(s))−Φ(t0,γ(s))∣∣γ′(s)∣ ds,|Z(t) - Z(t_0)| \le \frac{1}{2\pi}\int_a^b \left|\Phi(t,\gamma(s)) - \Phi(t_0,\gamma(s))\right| |\gamma'(s)|\, ds,

and the right side →0\to 0 as t→t0t \to t_0 by uniform continuity of Φ\Phi on the compact domain [0,1]×[a,b][0,1]\times[a,b] (composing with the fixed piecewise-C1C^1, hence bounded-derivative-a.e. and rectifiable, curve γ\gamma). Step 3: Conclude via integrality. By Step 1, Z(t)∈ZZ(t) \in \mathbb{Z} for every t∈[0,1]t\in[0,1]. By Step 2, ZZ is continuous on the connected interval [0,1][0,1]. A continuous integer-valued function on a connected set is constant (the image is a connected subset of Z\mathbb{Z} with the discrete topology induced from R\mathbb{R}, and the only connected subsets of Z\mathbb{Z} are single points). Hence

Zf=Z(0)=Z(1)=Zf+g.Z_f = Z(0) = Z(1) = Z_{f+g}.

■\blacksquare

∎
CorollaryRouché via winding numbers, geometric restatement

Under the hypotheses above, since ∣g∣<∣f∣|g| < |f| on γ\gamma forces f≠0f \neq 0 and 1+g/f≠01 + g/f \neq 0 on γ\gamma (as ∣g/f∣<1|g/f| < 1 there), one has f+g=f(1+g/f)f + g = f(1 + g/f) and

n((f+g)∘γ, 0)=n(f∘γ,0)+n((1+g/f)∘γ, 0)=n(f∘γ,0)+0,n\big((f+g)\circ \gamma,\ 0\big) = n(f\circ \gamma, 0) + n\big((1+g/f)\circ\gamma,\ 0\big) = n(f\circ\gamma, 0) + 0,

because (1+g/f)∘γ(1+g/f)\circ \gamma stays in the disk ∣w−1∣<1|w - 1| < 1, which does not contain the origin, so it cannot wind around 00 at all. This gives an alternative, purely winding-number proof of the same conclusion.

Worked examples

Example 1 (asymmetric polynomial, Rouché on a circle). How many roots does

p(z)=z7−5z3+12p(z) = z^7 - 5z^3 + 12

have inside the disk ∣z∣<2|z| < 2? Take γ={∣z∣=2}\gamma = \{|z| = 2\}. Split p=f+gp = f + g with f(z)=z7f(z) = z^7 (the dominant term for large ∣z∣|z|) and g(z)=−5z3+12g(z) = -5z^3 + 12. On ∣z∣=2|z| = 2:

∣f(z)∣=∣z∣7=27=128.|f(z)| = |z|^7 = 2^7 = 128.
∣g(z)∣=∣−5z3+12∣≤5∣z∣3+12=5⋅8+12=52.|g(z)| = |{-5z^3+12}| \le 5|z|^3 + 12 = 5\cdot 8 + 12 = 52.

Since 52<12852 < 128, Rouché's hypothesis ∣g∣<∣f∣|g| < |f| holds on ∣z∣=2|z|=2. So p=f+gp = f+g has the same number of zeros in ∣z∣<2|z|<2 as f(z)=z7f(z) = z^7, which has a single zero of order 77 at the origin. Hence pp has exactly 77 roots (with multiplicity) in ∣z∣<2|z|<2 — i.e. all its roots lie in this disk (consistent with pp having degree 77). Now refine: how many roots lie in ∣z∣<1|z| < 1? On ∣z∣=1|z|=1, try f(z)=−5z3f(z) = -5z^3 (guess the dominant term on this smaller circle) and g(z)=z7+12g(z) = z^7 + 12:

∣f(z)∣=5,∣g(z)∣≤∣z∣7+12=1+12=13.|f(z)| = 5, \qquad |g(z)| \le |z|^7 + 12 = 1 + 12 = 13.

Here 13>513 > 5, so this split fails — the constant term dominates on ∣z∣=1|z|=1. Try instead f(z)=12f(z) = 12 (constant) and g(z)=z7−5z3g(z) = z^7 - 5z^3:

∣f(z)∣=12,∣g(z)∣≤∣z∣7+5∣z∣3=1+5=6.|f(z)| = 12, \qquad |g(z)| \le |z|^7 + 5|z|^3 = 1 + 5 = 6.

Now 6<126 < 12, so Rouché applies with this split: pp has the same number of zeros in ∣z∣<1|z|<1 as f(z)=12f(z)=12, a nonvanishing constant, namely 00 roots in ∣z∣<1|z| < 1. Conclusion: all 77 roots of p(z)=z7−5z3+12p(z) = z^7 - 5z^3+12 lie in the annulus 1≤∣z∣<21 \le |z| < 2 — in fact strictly in 1<∣z∣<21 < |z| < 2, since we've shown pp has no zeros on ∣z∣=1|z|=1 or ∣z∣=2|z|=2 (both circles were used as Rouché contours, which requires no zero lies exactly on them).

Example 2 (transcendental equation, argument principle directly). Consider f(z)=zez−1f(z) = z e^{z} - 1 inside the disk ∣z∣≤1|z| \le 1, on the boundary circle γ(t)=eit\gamma(t) = e^{it}, t∈[0,2π]t\in[0,2\pi]. We are asked: how many solutions does zez=1ze^z = 1 have with ∣z∣≤1|z|\le 1? Try Rouché with g(z)=−1g(z) = -1 and "ff" =zez= ze^z (renaming to avoid clash, call the full function F=zez−1F = ze^z - 1, split as h(z)=zezh(z) = ze^z, k(z)=−1k(z) = -1, F=h+kF = h + k). We need ∣k∣<∣h∣|k| < |h| on ∣z∣=1|z|=1, i.e. ∣zez∣>1|ze^z| > 1 there. But on ∣z∣=1|z|=1, writing z=eitz = e^{it}, we get ∣zez∣=∣eitecos⁡t+isin⁡t∣=ecos⁡t|z e^z| = |e^{it}e^{\cos t + i\sin t}| = e^{\cos t}, which ranges over [e−1,e][e^{-1}, e] and dips below 11 when cos⁡t<0\cos t < 0. So this split fails — ∣h∣|h| is not uniformly bigger than ∣k∣=1|k|=1 on the whole circle. Instead we directly use the argument principle: compute

Z=12πi∮∣z∣=1F′(z)F(z) dz,F(z)=zez−1, F′(z)=ez(1+z).Z = \frac{1}{2\pi i}\oint_{|z|=1} \frac{F'(z)}{F(z)}\, dz, \qquad F(z) = ze^z - 1,\ F'(z) = e^z(1+z).

We track the winding of w(t)=F(eit)=eiteeit−1w(t) = F(e^{it}) = e^{it}e^{e^{it}} - 1 as t:0→2πt: 0 \to 2\pi. Rather than integrate directly, use a refined Rouché split valid on sub-arcs, or — more robust — evaluate at sample points and use the argument principle's integer-valued continuity (as in Rouché's proof) to interpolate. We instead give a clean rigorous route: apply Rouché on a slightly smaller circle where the estimate does work, then use continuity of ZZ in the radius. Take ∣z∣=r|z| = r for rr close to 11 but consider instead splitting differently: h(z)=zezh(z) = ze^z, k(z)=−1k(z) = -1 fails at t=πt=\pi exactly (z=−1z=-1: ∣h(−1)∣=∣−e−1∣=e−1<1|h(-1)| = |-e^{-1}| = e^{-1} < 1). So try the disk of radius r0r_0 with e−r0⋅1>1e^{-r_0} \cdot 1 > 1 impossible for any r0>0r_0>0 since e−r0<1e^{-r_0}<1 always — meaning zez=1ze^z=1 can have solutions arbitrarily close to where ∣zez∣|ze^z| dips low, so no single split works on the full circle ∣z∣=1|z|=1 by this method; we must integrate the winding number directly (which is the honest thing to do rather than force Rouché where it does not apply). Numerically trace w(t)=eitecos⁡t+isin⁡t−1=ecos⁡t ei(t+sin⁡t)−1w(t) = e^{it}e^{\cos t + i \sin t} - 1 = e^{\cos t}\, e^{i(t+\sin t)} - 1. Its argument-of-shifted-origin is controlled by θ(t)=t+sin⁡t\theta(t) = t + \sin t (the phase of eiteeite^{it}e^{e^{it}}, before subtracting 11) together with the modulus ρ(t)=ecos⁡t\rho(t) = e^{\cos t}, which stays in [e−1,e]⊂(0.36,2.72)[e^{-1},e]\subset(0.36,2.72), always positive, so eiteeite^{it}e^{e^{it}} itself winds around 00 exactly once as t:0→2πt:0\to2\pi (since θ(t)=t+sin⁡t\theta(t) = t+\sin t is monotonically... check: θ′(t)=1+cos⁡t≥0\theta'(t) = 1+\cos t \ge 0, vanishing only at t=πt=\pi, so θ\theta is non-decreasing on [0,2π][0,2\pi] and θ(2π)−θ(0)=2π\theta(2\pi)-\theta(0) = 2\pi; hence eiteeite^{it}e^{e^{it}} winds exactly once around 00). Subtracting 11 shifts the curve; since ρ(t)≥e−1≈0.368\rho(t) \ge e^{-1} \approx 0.368 is bounded well away from where a unit shift could remove the single loop around 00 (the curve ρ(t)eiθ(t)\rho(t)e^{i\theta(t)} traces a loop of modulus between 0.3680.368 and 2.722.72 winding once around 00; subtracting the constant 11, which has modulus less than the loop's minimum radius 0.3680.368? — no, 1>0.3681 > 0.368, so we must be careful). This shows genuinely that a rigorous conclusion here needs either numerical winding-number computation or a cleverer split — which is itself an instructive lesson: not every problem yields to a one-line Rouché split, and one sometimes must fall back on the full argument principle (numerically evaluating the contour integral, or using a computer algebra / numerical winding-number count) — precisely the more laborious but always-valid tool the argument principle provides beneath Rouché's shortcut. For this specific equation, it is classically known (from the theory of the Lambert WW function) that zez=1ze^z=1 has exactly one solution in ∣z∣<1|z|<1, namely z=W(1)≈0.5671z = W(1) \approx 0.5671 (the Omega constant), which one confirms lies in ∣z∣<1|z|<1; a careful numerical integration of ZZ above (or a finer Rouché split on an asymmetric sub-region) confirms Z=1Z=1.

Counterexample

CounterexampleDropping the strict inequality in Rouché — why ∣g∣<∣f∣|g|<|f| cannot be weakened to ∣g∣≤∣f∣|g|\le|f|

Let γ={∣z∣=1}\gamma = \{|z|=1\}, and set

f(z)=z,g(z)=−z.f(z) = z, \qquad g(z) = -z.

Then on γ\gamma, ∣g(z)∣=∣z∣=1=∣f(z)∣|g(z)| = |z| = 1 = |f(z)|, so the inequality holds non-strictly: ∣g∣≤∣f∣|g| \le |f| everywhere on γ\gamma, but strict equality (not <<) at every point. Now ff has exactly one zero in ∣z∣<1|z|<1 (a simple zero at 00), so Zf=1Z_f = 1. But

f(z)+g(z)=z−z=0identically,f(z) + g(z) = z - z = 0 \quad \text{identically},

which is not even a function with isolated zeros — it vanishes everywhere, so "Zf+gZ_{f+g}" is not even well-defined by the finite-zero-count formalism (the identically zero function violates the standing assumption that f+g≢0f+g \not\equiv 0, needed for zeros to be isolated). This directly breaks the conclusion Zf=Zf+gZ_f = Z_{f+g}: even interpreting degenerate cases charitably, no consistent finite count can be assigned to f+g≡0f+g\equiv 0 that equals 11. To see a less degenerate failure, perturb slightly: let f(z)=zf(z) = z, g(z)=−z+ϵg(z) = -z + \epsilon for small ϵ>0\epsilon>0, chosen so that on ∣z∣=1|z|=1, ∣g(z)∣|g(z)| can exceed, equal, or stay below ∣f(z)∣=1|f(z)|=1 depending on position — the point being that once we allow ∣g∣=∣f∣|g|=|f| at even a single point of γ\gamma with opposite phase (i.e. g(z)=−f(z)g(z) = -f(z) there), f+gf+g can vanish exactly on γ\gamma, making the zero count of f+gf+g inside DD discontinuous and ill-defined as one perturbs across that boundary point — exactly the failure mode Step 0 of the Rouché proof was designed to exclude. This shows the strict inequality is not a technical nicety: it is exactly what guarantees f+g≠0f + g \neq 0 on γ\gamma, without which the entire argument (both zero counts being well-defined, and the homotopy FtF_t avoiding 00 on γ\gamma) collapses.

Scope, edge cases & common traps

SituationWhat can go wrongCorrect handling
Zero or pole lies exactly on γ\gammaZ−PZ-P undefined; f′/ff'/f has a pole on the contour, integral divergesPerturb γ\gamma slightly, or choose a contour that provably avoids all zeros/poles first
Non-simple contour (self-intersecting)Winding number interpretation and "interior" DD become ambiguousRestrict to simple closed curves, or generalize via winding numbers about each point directly
ff has essential singularities inside γ\gammaArgument principle as stated applies only to meromorphic ff (poles, not essential singularities)Exclude essential singularities from DD, or treat them separately — the theorem does not apply there
Rouché with non-strict inequality ∣g∣≤∣f∣|g|\le|f|Equality can occur on γ\gamma; f+gf+g may vanish on the contour, count undefined (see counterexample)Always require strict inequality on all of γ\gamma
Choosing the "dominant" split badlyE.g. picking ff = wrong term makes ∣g∣≮∣f∣|g|\not<|f| somewhere on γ\gamma, Rouché inapplicableCheck the inequality pointwise (or via a clean estimate) on the entire contour, not just typical points
MultiplicitiesForgetting to count zeros/poles with multiplicityZ,PZ, P are always sums of orders, not just counts of distinct points

The mathematician behind it

Origins · 1 minEugène Rouché and how this was discovered
ER
Eugène Rouché
1832–1910 · 19th-century France, engineering and analysis

Eugène Rouché was a French mathematician and engineer, professor at the Lycée Saint-Louis and later at the Conservatoire National des Arts et Métiers in Paris. He worked on algebra, geometry, and mathematical education, and is remembered today above all for the zero-counting theorem that bears his name, published in 1862 (though closely related ideas trace to Cauchy's earlier work on the argument principle). Rouché's theorem exemplifies a broader 19th-century shift in complex analysis: replacing delicate direct estimates of roots with robust, boundary-only, topological criteria — a philosophy that would later flourish in the work of Hurwitz, who used Rouché's theorem to study the stability of polynomial zeros under coefficient perturbation, directly anticipating its modern use in control theory.

History
- 1831: Cauchy develops contour integration and residue calculus, laying the analytic groundwork.
- 1855 (approx.): The argument principle is articulated in essentially modern form by Cauchy and contemporaries, linking ∮f′/f\oint f'/f to zero/pole counts.
- 1862: Eugène Rouché publishes the theorem on stability of zero-counts under dominated perturbations.
- 1889: Adolf Hurwitz applies Rouché-type reasoning to study when polynomial zeros stay in the left half-plane, founding what becomes Hurwitz stability theory.
- 20th century: The argument principle becomes a standard tool underlying the theory of the topological degree, Nyquist stability criteria in control engineering, and root-finding algorithms in numerical analysis.
Why is the argument principle stated for meromorphic, not just holomorphic, functions?

Allowing poles makes the theorem far more useful without extra cost: rational functions, ratios of holomorphic functions like transfer functions in engineering, and many natural constructions (e.g. f′/ff'/f itself!) are meromorphic rather than holomorphic. The proof goes through identically because poles of ff create simple poles of f′/ff'/f with residue −m-m, exactly mirroring how zeros create residue +m+m; the residue theorem handles both types of singularity uniformly. Restricting to holomorphic ff would still capture the Fundamental Theorem of Algebra and Rouché's theorem, but would needlessly exclude applications like counting poles of a rational transfer function inside a stability region, which is precisely how the Nyquist criterion is derived.

Does Rouché's theorem tell you where the zeros are, not just how many?

No — Rouché only gives the count of zeros inside the contour, with no information about their exact locations beyond "inside DD." To localize zeros more precisely, one applies Rouché repeatedly on a nested or refined family of contours (as in the worked polynomial example, using both ∣z∣=1|z|=1 and ∣z∣=2|z|=2 to trap all roots in an annulus), or combines it with other tools such as the mean value property, numerical root-finding, or finer estimates using smaller sub-regions. Rouché is best understood as a coarse but extremely robust counting device, not a localization tool by itself.

Can Rouché's theorem fail if ff or gg has a pole inside the contour?

The version stated here assumes f,gf, g holomorphic on U⊃D‾U \supset \overline D, so no poles are allowed for either function in the argument as given. A meromorphic generalization exists (comparing Z−PZ-P counts instead of just ZZ), but it requires re-deriving the homotopy argument with the general argument principle rather than its holomorphic corollary, tracking how poles of Ft=f+tgF_t = f+tg might appear or disappear as tt varies — which does not happen if f,gf,g share the same poles with matching orders, but can otherwise. The clean, standard statement of Rouché's theorem is for holomorphic f,gf,g precisely to sidestep this complication.

Is the winding number always an integer, and why does that matter so much in these proofs?

Yes: for any continuous closed curve σ\sigma avoiding 00, n(σ,0)=12πi∫σdw/wn(\sigma,0) = \frac{1}{2\pi i}\int_\sigma dw/w is always an integer — this is a standard fact provable by considering a continuous branch of log⁡\log along the curve and using that the curve is closed, so the total change in argument is a multiple of 2π2\pi. This integrality is the crux of Rouché's proof: it turns a continuity argument (Step 2) into a rigidity argument (Step 3), because a continuous function landing only on integers on a connected domain must be constant. Without integrality, continuity alone would say nothing.

How does the argument principle relate to the Fundamental Theorem of Algebra?

Let p(z)=anzn+⋯+a0p(z) = a_n z^n + \cdots + a_0 with an≠0a_n \neq 0, n≥1n\ge 1. On the circle ∣z∣=R|z| = R for RR large enough, the leading term f(z)=anznf(z) = a_nz^n dominates the rest g(z)=an−1zn−1+⋯+a0g(z) = a_{n-1}z^{n-1}+\cdots+a_0 in modulus (since ∣g(z)∣/∣z∣n→0|g(z)|/|z|^n \to 0 as ∣z∣→∞|z|\to\infty while ∣f(z)∣/∣z∣n=∣an∣|f(z)|/|z|^n = |a_n| is constant). Rouché's theorem then gives that p=f+gp = f+g has the same number of zeros inside ∣z∣<R|z|<R as f(z)=anznf(z)=a_nz^n, namely exactly nn (a single zero of order nn at the origin). Since RR can be taken arbitrarily large, this shows pp has exactly nn roots in C\mathbb C counted with multiplicity — the Fundamental Theorem of Algebra, with multiplicities, in three lines.

What goes wrong with the argument principle if the curve γ\gamma is not simple (i.e., self-intersects)?

The clean statement "Z−PZ - P equals the number of zeros/poles inside γ\gamma" relies on the Jordan Curve Theorem to even define an unambiguous "interior" DD. If γ\gamma self-intersects, the correct general statement instead uses winding numbers point by point: 12πi∮γf′/f dz\frac{1}{2\pi i}\oint_\gamma f'/f\,dz equals ∑am(a) n(γ,a)−∑bm(b) n(γ,b)\sum_a m(a)\,n(\gamma,a) - \sum_b m(b)\,n(\gamma,b), summing over all zeros aa and poles bb of ff in the plane, weighted by how many times γ\gamma winds around each point. For a simple, positively oriented curve, n(γ,a)=1n(\gamma,a) = 1 for every interior point and 00 for exterior points, recovering the simple statement — so the "simple curve" hypothesis is really just a convenient special case of the fully general winding-number formula.

Before this

Where this leads