Boundary sampling can miss winding (source code)

= Boundary sampling can miss winding

A finite list of function values does not determine the <winding number> of the intervening <image> <contour>. For example, sample $\gamma(t)=e^{it}$ only at $t_j=2\pi j/4$, $j=0,1,2,3$. The <polynomials> $f(z)=z$ and $g(z)=z^5$ agree at all four sampled points, because $\gamma(t_j)^4=1$. Joining those values by straight segments draws the same square for both. Yet their true <winding numbers> are one and five, and their enclosed <zero multiplicities> differ by four.

\Image[/argument-principle-sampling-hidden-turns.png]
{title=Four identical boundary samples can hide four additional turns}
{description=Left: $z$ and $z^5$ on the <unit circle> give the same four samples and the same polygon if only those samples are joined. The full curves have the same circular outline but different traversal counts. Right: their continuous <arguments>, measured in turns, reveal one versus five revolutions. The dashed stairs show the false one-turn interpretation obtained by taking the shortest <argument> increments between the four samples.}

Refining samples can help resolve a given example, but an asserted root count needs a bound controlling what happens between them. One sufficient certificate is to enclose the <image> of each boundary subarc and its interpolating segment in a <convex set> that excludes zero. Straight interpolation then gives a <homotopy> avoiding zero, so the polygon and true <image> <contour> have the same <winding number>. A plot that merely looks closed and avoids zero at its sampled points is not that certificate.