Documentation

DerivedAlgGeo.AlgebraicGeometry.Numerical.GrothendieckGroup.Dual

The dual involution on a numerical intersection ring #

(-)^∨ acts on the codimension-i part of A^•(X)_ℚ by (-1)^i. It is what turns Hirzebruch–Riemann–Roch into its bilinear form χ(E,F) = ∫_X ch(E)^∨ · ch(F) · td(X), and so it is the last piece of Layer A that Bridgeland stability needs: the central charge factors through N(X) modulo the radical of that pairing.

Why a separate data bundle #

NumericalRingDualData R is an explicit extension of one selected presentation R : NumericalRingData n A, not a field of every numerical ring and not an independent bundle with another path back to R. A ring that has no chosen dual needs no placeholder, while two choices can coexist without instance search selecting between them.

Main definitions #

Main results #

Deliberately not stated #

dual (dual x) = x for arbitrary x, and degree (dual x) = (-1)^n · degree x. Both are true, and both need the graded decomposition of x — NumericalRingData.isInternal — rather than just membership in a single piece. Nothing downstream needs them: every consumer here reaches dual through chComp and toddComp, which are graded by construction, so the component-wise lemmas suffice. Adding the general versions means importing DirectSum.IsInternal machinery for no current gain.

The dual involution on a numerical intersection ring: a ℚ-algebra endomorphism acting on codimension i by (-1)^i.

Geometrically this is E ↦ E^∨ read through the Chern character: chᵢ(E^∨) = (-1)ⁱchᵢ(E). It is carried as data because NumericalRingData does not expose the graded projections, so there is nothing to define it from at this layer.

  • dual : A →ₐ[ℚ] A

    The involution, as a ℚ-algebra map.

  • dual_of_mem_piece {i : ℕ} {x : A} : x ∈ R.piece i → self.dual x = (-1) ^ i • x

    It acts on codimension i by (-1)^i.

Instances For

    (-)^∨ preserves each graded piece: it only rescales it.

    (-)^∨ is an involution on each graded piece.

    Scalars are fixed by (-)^∨, since they sit in codimension zero.

    theorem AlgebraicGeometry.Numerical.NumericalVarietyData.ch_add {n : ℕ} {A : Type u} {N : Type v} [CommRing A] [Algebra ℚ A] [AddCommGroup N] (V : NumericalVarietyData n A N) (E F : N) :
    V.ch (E + F) = V.ch E + V.ch F

    The Chern character is additive, componentwise additivity summed up.

    Stated before the dual is in scope because it has nothing to do with it.

    noncomputable def AlgebraicGeometry.Numerical.NumericalVarietyData.chDual {n : ℕ} {A : Type u} {N : Type v} [CommRing A] [Algebra ℚ A] [AddCommGroup N] (V : NumericalVarietyData n A N) (E : N) :
    A

    The dual Chern character ch(E)^∨ = Σᵢ (-1)ⁱ chᵢ(E).

    Defined from the grading alone, with no NumericalRingDualData argument in sight: the alternating sum is available on any NumericalVarietyData, and dual_ch below is what says it deserves the name. Everything the Euler pairing needs lives at this level of generality.

    Equations
    Instances For
      theorem AlgebraicGeometry.Numerical.NumericalVarietyData.chDual_add {n : ℕ} {A : Type u} {N : Type v} [CommRing A] [Algebra ℚ A] [AddCommGroup N] (V : NumericalVarietyData n A N) (E F : N) :
      V.chDual (E + F) = V.chDual E + V.chDual F

      ch(-)^∨ is additive, componentwise again.

      theorem AlgebraicGeometry.Numerical.NumericalVarietyData.dual_chComp {n : ℕ} {A : Type u} {N : Type v} [CommRing A] [Algebra ℚ A] [AddCommGroup N] (V : NumericalVarietyData n A N) (D : NumericalRingDualData V.ring) (E : N) (i : ℕ) :
      D.dual (V.chComp E i) = (-1) ^ i • V.chComp E i

      chᵢ(E^∨) = (-1)ⁱ chᵢ(E).

      tdᵢ(X)^∨ = (-1)ⁱ tdᵢ(X).

      ch(E)^∨ really is ch(E) pushed through the involution.