The Koszul complex of a linear functional #
For a linear functional φ : M → R on a module over a commutative ring, the Koszul complex
K(φ) is the chain complex ⋯ → ⋀³ M → ⋀² M → M → R with K(φ)ₙ = ⋀ⁿ M and differential the
contraction by φ,
d(v₀ ∧ ⋯ ∧ vₙ) = ∑ᵢ (-1) ^ i φ(vᵢ) v₀ ∧ ⋯ ∧ v̂ᵢ ∧ ⋯ ∧ vₙ.
For a finite sequence x = (x₁, …, xₙ) in R, the functional v ↦ ∑ᵢ vᵢ xᵢ on Rⁿ gives the
Koszul complex K(x) of the sequence, whose zeroth homology is R ⧸ (x₁, …, xₙ).
Main declarations #
TauCeti.koszulComplex φ: the Koszul complex ofφ, as anℕ-indexed chain complex ofR-modules.TauCeti.koszulDifferential φ n: its differential⋀ⁿ⁺¹ M → ⋀ⁿ M, the contraction byφ, with the alternating-deletion formulaTauCeti.koszulDifferential_ιMulti.TauCeti.zeroEquiv_koszulDifferential_zero: under⋀⁰ M ≅ Rand⋀¹ M ≅ M, the first differential isφitself.TauCeti.exact_koszulDifferential_of_retract: exactness of a Koszul complex passes to a retract along linear maps compatible with the functionals.TauCeti.map_fst_koszulDifferential_coprod: the coordinate formula for the differential after adjoining one scalar to a linear functional.TauCeti.koszulComplex.exactAt_succ_iff:Hₖ₊₁(K(φ)) = 0exactly when the Koszul differentials out of and into⋀ᵏ⁺¹ Mare exact.TauCeti.koszulComplex.map: the chain mapK(φ) → K(ψ)induced by a linear mapgwithψ ∘ g = φ, functorial ing, andTauCeti.koszulComplex.mapIso, the isomorphism induced by a linear equivalence.TauCeti.koszulComplex.smulHomotopy: form : M, exterior multiplication bymis a null-homotopy of multiplication byφ(m), so thatφ(m)annihilates the Koszul homology (TauCeti.koszulComplex.smul_homology_eq_zero).TauCeti.koszulComplex.homologyZeroEquiv:H₀(K(φ)) ≃ R ⧸ φ(M), and its specializationTauCeti.koszulComplex.homologyZeroEquivSpantoH₀(K(x)) ≃ R ⧸ (x₁, …, xₙ)for a finite sequence.
References #
The interface (the Koszul complex of a linear functional with exterior-power terms, the
alternating-deletion differential, koszulComplex.map along ψ ∘ g = φ, and the homotopy
d(m ∧ v) + m ∧ d(v) = φ(m) v) follows the design of Nailin Guan in the Mathlib pull requests
mathlib4#43708 (definition
of the Koszul complex) and
mathlib4#43706 (homotopy of the
Koszul complex). No code from those pull requests is vendored here.
The Koszul differential ⋀ⁿ⁺¹ M → ⋀ⁿ M of a linear functional φ: the contraction by φ,
v₀ ∧ ⋯ ∧ vₙ ↦ ∑ᵢ (-1) ^ i φ(vᵢ) v₀ ∧ ⋯ ∧ v̂ᵢ ∧ ⋯ ∧ vₙ (see koszulDifferential_ιMulti).
Instances For
The Koszul differential is the contraction by φ.
The Koszul differential on a wedge product of vectors is the alternating sum of deletions:
d(v₀ ∧ ⋯ ∧ vₙ) = ∑ᵢ (-1) ^ i φ(vᵢ) v₀ ∧ ⋯ ∧ v̂ᵢ ∧ ⋯ ∧ vₙ.
The Koszul differential squares to zero.
The Koszul differential squares to zero, elementwise.
The first Koszul differential is φ: under the identifications ⋀⁰ M ≅ R and
⋀¹ M ≅ M, the differential ⋀¹ M → ⋀⁰ M is φ.
The first Koszul differential is φ, elementwise.
The first Koszul differential sends a vector, viewed in ⋀¹ M, to its value under φ,
viewed in ⋀⁰ M.
In degree two, the Koszul differential sends u ∧ v to φ(u) v - φ(v) u.
The image of the first Koszul differential, transported along ⋀⁰ M ≅ R, is the image
of φ.
The Koszul differential is natural: if ψ ∘ g = φ, then ⋀ g intertwines the Koszul
differentials of φ and ψ.
The Koszul differential is natural, elementwise: ⋀ g carries the Koszul differential of
ψ ∘ g to that of ψ.
The ⋀ M-component of the Koszul differential of K(φ, x): writing z = a + e ∧ b, it is
d a + x b.
Exactness passes to retracts. If g : M → N has a retraction h and ψ = φ ∘ h (so
that also φ = ψ ∘ g), then the Koszul complex K(φ) is a retract of K(ψ), and exactness of
K(ψ) at ⋀ⁿ⁺¹ N implies exactness of K(φ) at ⋀ⁿ⁺¹ M.
The Koszul homotopy identity in degree zero: d(m ∧ r) = φ(m) r for r ∈ ⋀⁰ M.
The Koszul homotopy identity in positive degrees: m ∧ d(v) + d(m ∧ v) = φ(m) v.
The Koszul complex K(φ) of a linear functional φ : M → R: the ℕ-indexed chain complex
with K(φ)ₙ = ⋀ⁿ M and differential koszulDifferential φ, the contraction by φ.
The body is exposed so that the terms of the complex are definitionally the exterior powers, and
elements of (koszulComplex φ).X n can be used as elements of ⋀ⁿ M.
Instances For
The terms of the Koszul complex are the exterior powers.
The differential of the Koszul complex is the Koszul differential.
The differential of the Koszul complex is the Koszul differential, elementwise.
The Koszul complex K(φ) is exact at ⋀ᵏ⁺¹ M, i.e. Hₖ₊₁(K(φ)) = 0, exactly when the
Koszul differentials ⋀ᵏ⁺² M → ⋀ᵏ⁺¹ M → ⋀ᵏ M are exact.
The chain map K(φ) → K(ψ) induced by a linear map g : M → N with ψ ∘ g = φ: in degree
n it is ⋀ⁿ g.
Instances For
In degree n, the chain map induced by g is ⋀ⁿ g.
The identity of M induces the identity of K(φ).
The chain map induced by a composite is the composite of the induced chain maps.
The chain map induced by a composite is the composite of the induced chain maps.
The isomorphism K(φ) ≅ K(ψ) induced by a linear equivalence e : M ≃ N with ψ ∘ e = φ;
in degree n it is ⋀ⁿ e.
Instances For
The isomorphism induced by a linear equivalence e is the chain map induced by e.
The inverse of the isomorphism induced by e is the chain map induced by e.symm.
Koszul homotopy: for m : M, exterior multiplication v ↦ m ∧ v is a null-homotopy of
multiplication by φ(m) on K(φ); see koszulDifferential_comp_wedgeLeft_zero and
wedgeLeft_comp_koszulDifferential_add.
Instances For
The components of the Koszul homotopy are exterior multiplication by m.
Every value of φ annihilates the Koszul homology: φ(m) • z = 0 for every class z in
every homology module of K(φ).
The image ideal of the functional annihilates Koszul homology.
Koszul homology is power torsion for the image ideal of the functional.
Zeroth Koszul homology: H₀(K(φ)) ≃ R ⧸ φ(M). It is the cokernel of the first
differential, transported along ⋀⁰ M ≅ R; see homologyZeroEquiv_apply.
Instances For
homologyZeroEquiv sends the class of x ∈ ⋀⁰ M to the class of the corresponding scalar.
Zeroth Koszul homology of a finite sequence: for x = (xᵢ) in R, the Koszul complex of
the functional v ↦ ∑ᵢ vᵢ xᵢ has H₀ ≃ R ⧸ (xᵢ).
Instances For
homologyZeroEquivSpan sends the class of y ∈ ⋀⁰ Rⁿ to the class of the corresponding
scalar modulo (xᵢ).