Vertex operators #
In this file we introduce heterogeneous vertex operators using Hahn series. When R = ℂ, V = W,
and Γ = ℤ, then this is the usual notion of "meromorphic left-moving 2D field". The notion we use
here allows us to consider composites and scalar-multiply by multivariable Laurent series.
Definitions #
HVertexOperator: AnR-linear map from anR-moduleVtoHahnModule Γ W.- The coefficient function as an
R-linear map. - Composition of heterogeneous vertex operators - values are Hahn series on lex order product.
Main results #
- Ext
TODO #
HahnSeries Γ R-module structure onHVertexOperator Γ R V W(needs https://github.com/leanprover-community/mathlib4/pull/19062. This means we can consider products of the form(X-Y)^n A(X)B(Y)for all integersn, where(X-Y)^nis expanded asX^n(1-Y/X)^ninR((X))((Y)).- curry for tensor product inputs
- more API to make ext comparisons easier.
- formal variable API, e.g., like the
Tfunction for Laurent polynomials.
References #
- [R. Borcherds, Vertex Algebras, Kac-Moody Algebras, and the Monster][borcherds1986vertex]
A heterogeneous Γ-vertex operator over a commutator ring R is an R-linear map from an
R-module V to Γ-Hahn series with coefficients in an R-module W.
Equations
- HVertexOperator Γ R V W = (V →ₗ[R] HahnModule Γ R W)
Instances For
The coefficient of a heterogeneous vertex operator, viewed as a formal power series with coefficients in linear maps.
Equations
Instances For
Given a coefficient function valued in linear maps satisfying a partially well-ordered support condition, we produce a heterogeneous vertex operator.
Equations
- HVertexOperator.of_coeff f hf = { toFun := fun (x : V) => (HahnModule.of R) { coeff := fun (g : Γ) => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The composite of two heterogeneous vertex operators acting on a vector, as an iterated Hahn series.
Equations
- A.compHahnSeries B u = { coeff := fun (g' : Γ') => A ((B.coeff g') u), isPWO_support' := ⋯ }
Instances For
The composite of two heterogeneous vertex operators, as a heterogeneous vertex operator.
Equations
- A.comp B = { toFun := fun (u : U) => (HahnModule.of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯, map_smul' := ⋯ }