Documentation

TauCeti.Analysis.Contour.Cycle.Basic

Cycles of piecewise- curves #

A contour cycle is a finite formal -linear combination of closed piecewise- curves. This file packages that definition as the free abelian group on parametrized closed curves and extends the contour integral and winding number additively from curves to cycles.

Individual curves remain functions on real intervals, as elsewhere in the contour library. The small PiecewiseC1ClosedCurve bundle exists only because FreeAbelianGroup needs a type of generators; it records exactly an interval-restricted function, its oriented parameter interval, its regularity, and its closedness. Its canonical extension to lets existing raw-function contour results apply directly. In particular, it does not introduce a second notion of contour integral.

The geometric trace of a cycle is the union of the images of the generators with nonzero coefficient. Thus cancellation removes a curve from the trace, just as it removes that curve's contribution to every additive invariant.

Main definitions #

References #

A parametrized closed piecewise- curve on an oriented real interval. The parametrization is stored only on its interval, so curves cannot differ merely in irrelevant values outside it.

Instances For
    theorem TauCeti.Contour.PiecewiseC1ClosedCurve.ext {x y : PiecewiseC1ClosedCurve} (a : x.a = y.a) (b : x.b = y.b) (toFun : x.toFun y.toFun) :
    x = y
    @[instance_reducible]

    A closed curve coerces to the canonical extension of its parametrization to .

    Equations

    On its parameter interval, a closed curve's coercion agrees with its stored function.

    def TauCeti.Contour.PiecewiseC1ClosedCurve.of {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) :

    Bundle a raw closed piecewise- curve by restricting it to its parameter interval.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.of_a {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) :
      (of γ hclosed).a = a

      Bundling a raw curve preserves its initial parameter.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.of_b {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) :
      (of γ hclosed).b = b

      Bundling a raw curve preserves its terminal parameter.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.of_apply {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) {t : } (ht : t Set.uIcc a b) :
      Function.extend Subtype.val (of γ hclosed).toFun 0 t = γ t

      Bundling a raw curve preserves its values on the parameter interval.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.image_of {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) :
      Function.extend Subtype.val (of γ hclosed).toFun 0 '' Set.uIcc a b = γ '' Set.uIcc a b

      Bundling a raw curve preserves its interval image.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.mapsTo_of_iff {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (Ω : Set ) :
      Set.MapsTo (Function.extend Subtype.val (of γ hclosed).toFun 0) (Set.uIcc a b) Ω Set.MapsTo γ (Set.uIcc a b) Ω

      Bundling a raw curve preserves the set into which it maps its parameter interval.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.integral_of {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (f : E) :
      (t : ) in a..b, deriv (Function.extend Subtype.val (of γ hclosed).toFun 0) t f (Function.extend Subtype.val (of γ hclosed).toFun 0 t) = (t : ) in a..b, deriv γ t f (γ t)

      Bundling a raw curve preserves its contour integral.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.windingNumber_of {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (z₀ : ) :
      windingNumber (Function.extend Subtype.val (of γ hclosed).toFun 0) a b z₀ = windingNumber γ a b z₀

      Bundling a raw curve preserves its winding number.

      @[simp]
      theorem TauCeti.Contour.PiecewiseC1ClosedCurve.isNullHomologous_of_iff {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (Ω : Set ) :

      Bundling a raw curve preserves null-homology.

      The underlying parametrization is continuous on its parameter interval.

      The derivative of a closed piecewise- curve is interval-integrable.

      @[reducible, inline]

      A contour cycle is a finite formal -linear combination of closed piecewise- curves.

      Equations
      Instances For

        The geometric trace of a cycle: the union of the images of the curves occurring with nonzero coefficient.

        Equations
        Instances For
          @[simp]

          Membership in the trace means membership in the image of a generator with nonzero coefficient.

          A point outside the trace of a cycle is avoided by every curve in its canonical support.

          The trace of a contour cycle is compact.

          @[simp]

          The zero cycle has empty trace.

          @[simp]

          The trace of a single generator is its image on its parameter interval.

          theorem TauCeti.Contour.Cycle.trace_of_raw {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) :

          The trace of a raw curve bundled as a one-generator cycle is its raw interval image.

          @[simp]

          Negating every coefficient does not change the trace.

          The trace of a sum is contained in the union of the traces. Equality can fail when a generator occurs with opposite coefficients and cancels.

          theorem TauCeti.Contour.Cycle.trace_zsmul (C : Cycle) {n : } (hn : n 0) :
          (n C).trace = C.trace

          A nonzero integer multiple has the same trace as the original cycle.

          A cycle lies in Ω when its geometric trace is contained in Ω.

          Equations
          Instances For
            theorem TauCeti.Contour.Cycle.isIn_iff {C : Cycle} {Ω : Set } :
            C.IsIn Ω C.traceΩ

            Restatement of cycle containment in terms of its trace.

            theorem TauCeti.Contour.Cycle.isIn_of_raw_iff {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (Ω : Set ) :

            A raw curve bundled as a one-generator cycle lies in Ω exactly when it maps its interval into Ω.

            @[simp]

            A one-generator cycle lies in Ω exactly when its parametrization maps its interval into Ω.

            @[simp]

            The zero cycle lies in every set.

            theorem TauCeti.Contour.Cycle.IsIn.add {C D : Cycle} {Ω : Set } (hC : C.IsIn Ω) (hD : D.IsIn Ω) :
            (C + D).IsIn Ω

            A sum of two cycles in Ω is in Ω.

            @[simp]
            theorem TauCeti.Contour.Cycle.isIn_neg_iff {C : Cycle} {Ω : Set } :
            (-C).IsIn Ω C.IsIn Ω

            Negation preserves containment in a set.

            theorem TauCeti.Contour.Cycle.IsIn.zsmul {C : Cycle} {Ω : Set } (hC : C.IsIn Ω) (n : ) :
            (n C).IsIn Ω

            Every integer multiple of a cycle in Ω is in Ω.

            noncomputable def TauCeti.Contour.Cycle.integral {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (f : E) :

            The integral of f over a cycle, obtained by additively extending the raw contour integral ∫ t in γ.a..γ.b, deriv γ t • f (γ t) from generators.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem TauCeti.Contour.Cycle.integral_of_raw {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (f : E) :
              (integral f) (FreeAbelianGroup.of (PiecewiseC1ClosedCurve.of γ hclosed)) = (t : ) in a..b, deriv γ t f (γ t)

              Integrating over a raw curve bundled as a one-generator cycle gives its raw contour integral.

              @[simp]

              Integrating over a one-generator cycle gives the raw contour integral over that curve.

              The integral over a cycle is the coefficient-weighted sum of the integrals over the curves in its canonical support.

              The winding number of a cycle, obtained by additively extending the generalized winding number of its generators.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem TauCeti.Contour.Cycle.windingNumber_of_raw {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (z₀ : ) :

                The winding number of a raw curve bundled as a one-generator cycle is its raw winding number.

                @[simp]

                The winding number of a one-generator cycle is the winding number of that curve.

                A cycle is null-homologous in Ω when its winding number vanishes at every point outside Ω.

                Equations
                Instances For

                  Restatement of null-homology as vanishing of the cycle winding number outside the domain.

                  theorem TauCeti.Contour.Cycle.isNullHomologous_of_raw_iff {a b : } (γ : ) ( : IsPiecewiseC1On γ a b) (hclosed : γ a = γ b) (Ω : Set ) :

                  Null-homology of a raw curve bundled as a one-generator cycle is the raw-curve predicate.

                  @[simp]

                  Cycle null-homology specializes on a generator to the raw-curve predicate.

                  @[simp]

                  The zero cycle is null-homologous in every set.

                  A sum of null-homologous cycles is null-homologous.

                  @[simp]

                  Negation preserves null-homology.

                  Every integer multiple of a null-homologous cycle is null-homologous.