Documentation

TauCeti.Analysis.Contour.Cycle.PrincipalValue

The Cauchy principal value along a contour cycle #

A contour cycle is a formal integer combination of closed piecewise- curves, and every additive invariant of curves extends to it by linearity. This file carries out that extension for the set-level Cauchy principal value, the invariant the Hungerbühler–Wasem generalized residue theorem evaluates when singularities of the integrand lie on the contour.

The direction of the definitions is opposite to the single-curve case, and deliberately so. For one curve the predicate TauCeti.Contour.HasCauchyPV comes first — it is a genuine analytic statement about symmetric excision — and the value TauCeti.Contour.cauchyPV is read off it. For a cycle the value comes first: Cycle.cauchyPV f is the additive extension of TauCeti.Contour.cauchyPV, hence an AddMonoidHom by construction, exactly like Cycle.integral and Cycle.windingNumber. The predicate Cycle.HasCauchyPV is then existence along each curve of the canonical support together with that value. Defining the predicate first, by simultaneously truncating all the generators, would not have produced an additive value: a cancelling pair of generators would have to be seen to cancel truncation by truncation, which no argument supplies before the limit is taken.

Nothing here identifies a principal value with an ordinary integral. Where the ordinary contour integrand is interval-integrable along each generator, the two agree (Cycle.hasCauchyPV_integral), which is the only bridge between them.

Main definitions #

Main results #

References #

noncomputable def TauCeti.Contour.Cycle.cauchyPV (f : ) :

The Cauchy principal value of f along a cycle, obtained by additively extending the single-curve principal value TauCeti.Contour.cauchyPV from generators. Like every value read off a junk-valued function, it is meaningful exactly where Cycle.CauchyPVExists holds.

Equations
Instances For
    @[simp]

    The principal value along a one-generator cycle is the principal value along that curve.

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

    The principal value along a raw closed curve bundled as a one-generator cycle is its raw principal value.

    The principal value along a cycle is the coefficient-weighted sum of the principal values along the curves of its canonical support.

    The Cauchy principal value of f along a cycle exists when it exists along every curve of the canonical support. Curves that cancel out of the cycle impose no condition.

    Equations
    Instances For

      Characterization of Cycle.CauchyPVExists as existence along every curve of the canonical support — the eliminator/constructor interface, so downstream users need not unfold the definition.

      The Cauchy principal value of f along the cycle C exists and equals v.

      Equations
      Instances For

        Cycle.HasCauchyPV unfolded into its two clauses — existence along every curve of the canonical support, and the value — so consumers need not unfold the definition.

        Deliberately not @[simp]: it unfolds the predicate, so it would take the left-hand sides of hasCauchyPV_of_iff, hasCauchyPV_zero and hasCauchyPV_neg_iff out of simp-normal form. Those three are the normal forms simp should reach for — on a generator, on 0, and under negation — and they carry the @[simp] annotation instead.

        @[simp]

        Existence of the principal value along a one-generator cycle is exactly existence along its generating curve.

        @[simp]

        A one-generator cycle has principal value v exactly when its generating curve does.

        theorem TauCeti.Contour.Cycle.HasCauchyPV.cauchyPV_eq {f : } {C : Cycle} {v : } (h : C.HasCauchyPV f v) :
        (cauchyPV f) C = v

        Reading the value off the predicate.

        The predicate implies existence.

        theorem TauCeti.Contour.Cycle.HasCauchyPV.unique {f : } {C : Cycle} {v₁ v₂ : } (h₁ : C.HasCauchyPV f v₁) (h₂ : C.HasCauchyPV f v₂) :
        v₁ = v₂

        The value in the predicate is determined by the cycle and the integrand.

        Where the principal value exists, the predicate holds at the canonical value.

        Assembling a cycle's principal value from its generators. If the principal value of f along each curve γ of the canonical support of C exists and equals w γ, then the principal value along C exists and is the coefficient-weighted sum of the w γ.

        @[simp]

        The zero cycle has principal value 0, for every integrand.

        theorem TauCeti.Contour.Cycle.HasCauchyPV.add {f : } {C D : Cycle} {v₁ v₂ : } (h₁ : C.HasCauchyPV f v₁) (h₂ : D.HasCauchyPV f v₂) :
        (C + D).HasCauchyPV f (v₁ + v₂)

        Principal values add over a sum of cycles, provided each side has one: the value is additive by construction, and the canonical support of a sum lies in the union of the supports.

        @[simp]

        Negating a cycle negates its principal value.

        theorem TauCeti.Contour.Cycle.HasCauchyPV.zsmul {f : } {C : Cycle} {v : } (h : C.HasCauchyPV f v) (n : ) :
        (n C).HasCauchyPV f (n v)

        An integer multiple of a cycle has the correspondingly scaled principal value.

        The principal value extends the ordinary cycle integral. If the contour integrand of f is interval-integrable along every curve of the canonical support — as it is when no on-contour singularity obstructs it — then the principal value along the cycle exists and is the ordinary cycle integral.