Documentation

LeanPool.LeanModularForms.GeneralizedResidueTheory.WindingNumber.Defs

Winding Number: Definitions and Simple Results #

Definitions for generalized winding numbers of piecewise C¹ curves, including the Hungerbühler-Wasem angle-based approach.

Main Definitions #

Main Results #

noncomputable def angleAtCrossing (γ : PiecewiseC1Immersion) (t₀ : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) :

The angle at a crossing point where γ passes through z₀. arg(L_out) - arg(-L_in) where L_in and L_out are one-sided derivative limits. At smooth points (not in partition), returns π.

Equations
Instances For
    theorem angleAtCrossing_smooth (γ : PiecewiseC1Immersion) (t₀ : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) (hsmooth : t₀γ.partition) :
    angleAtCrossing γ t₀ ht₀ = Real.pi
    noncomputable def windingNumberWithAngles' (γ : PiecewiseC1Immersion) (z₀ : ) (crossings : Finset ) (hcrossings_in : tcrossings, t Set.Ioo γ.a γ.b) (hcrossings_at : tcrossings, γ.toFun t = z₀) :

    Winding number via explicit angle sum at crossings.

    Equations
    Instances For
      theorem singleton_mem_Ioo (t₀ a b : ) (ht₀ : t₀ Set.Ioo a b) (t : ) :
      t {t₀}t Set.Ioo a b
      theorem singleton_at_crossing (γ : PiecewiseC1Immersion) (t₀ : ) (z₀ : ) (hcross : γ.toFun t₀ = z₀) (t : ) :
      t {t₀}γ.toFun t = z₀
      theorem windingNumber_smooth_crossing (γ : PiecewiseC1Immersion) (z₀ : ) (t₀ : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) (hcross : γ.toFun t₀ = z₀) (hsmooth : t₀γ.partition) :
      windingNumberWithAngles' γ z₀ {t₀} = 1 / 2

      A single smooth crossing contributes 1/2 to the winding number.

      theorem windingNumber_corner_crossing (γ : PiecewiseC1Immersion) (z₀ : ) (t₀ α : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) (hcross : γ.toFun t₀ = z₀) (hangle : angleAtCrossing γ t₀ ht₀ = α) :
      windingNumberWithAngles' γ z₀ {t₀} = α / (2 * Real.pi)

      A corner crossing with angle α contributes α/(2π).

      theorem cauchyPrincipalValue_eq_classical_off_curve' (γ : PiecewiseC1Curve) (z₀ : ) (hoff : tSet.Icc γ.a γ.b, γ.toFun t z₀) :
      δ > 0, ε < δ, tSet.Icc γ.a γ.b, γ.toFun t - z₀ > ε

      When γ avoids z₀, the PV cutoff is trivial below minimum distance.

      theorem integral_inv_real_axis (r ε : ) (hr : 0 < r) ( : 0 < ε) :
      (t : ) in ε..r, (↑t)⁻¹ = Complex.log r - Complex.log ε

      Translate a piecewise C¹ immersion by a constant.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem angleAtCrossing_translate (γ : PiecewiseC1Immersion) (c : ) (t₀ : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) :
        angleAtCrossing (γ.translate c) t₀ ht₀ = angleAtCrossing γ t₀ ht₀

        The angle at a crossing is invariant under translation.

        noncomputable def externalWindingContribution (γ : PiecewiseC1Immersion) (z₀ : ) (t₀ : ) (ht₀ : t₀ Set.Ioo γ.a γ.b) :

        The external winding contribution at a single crossing point. For a closed piecewise C¹ immersion passing through z₀ exactly once, this measures the winding of the curve around z₀ apart from the local crossing angle. Mathematically, this is the classical winding number of the modified curve Λ that detours around z₀ (H-W Proposition 2.2).

        The decomposition is n_{z₀}(γ) = N - α/(2π), so N = n_{z₀}(γ) + α/(2π). When N = 0, the generalized winding number equals -α/(2π).

        Equations
        Instances For