Affine coordinate changes for contour winding numbers #
This file packages the translation and nonzero-scaling invariance of the generalized winding
number into the affine-coordinate form used by local contour geometry. A sector or crossing is
typically normalized by sending its distinguished point to the origin and rescaling the tangent
direction; the results here let downstream finite-decomposition arguments use the single map
z ↦ c * z + d rather than manually alternating the separate translation and scaling lemmas.
Main results #
Contour.windingNumber_affine— simultaneous affine change of the curve and base point preserves the generalized winding number when the linear coefficient is nonzero.Contour.windingNumber_affine_preimage— the same statement with an arbitrary target point, pulled back through the inverse affine map.Contour.IsNullHomologous.affine— null-homology is preserved by affine image of the curve and ambient set.Contour.isNullHomologous_affine_iff— the corresponding equivalence for nondegenerate affine coordinate changes.
Provenance #
This is routine API around the Hungerbühler--Wasem generalized winding number from the contour integration roadmap; no formal source is vendored. It combines the existing Tau Ceti translation and scaling invariance lemmas.
Index principal value under an affine coordinate change. If c ≠ 0, applying
z ↦ c * z + d to both the curve and the distinguished point transports the single-point Cauchy
principal value of the winding kernel without changing its value. This is the composed
translation/scaling form of hasCauchyPVAt_inv_sub_const_mul.
Existence form of hasCauchyPVAt_inv_sub_affine: affine coordinate changes with nonzero
linear coefficient preserve existence of the index principal value.
Null-homology is preserved by affine coordinate change of the curve and ambient set, provided the linear coefficient is nonzero.
If the affine image of a curve is null-homologous in the affine image of a set, then the original curve is null-homologous in the original set.