Wedge pairing on exterior powers #
Given a trivialisation of the top exterior power, the wedge pairing in complementary degrees is a scalar-valued bilinear map. We construct this here and prove that it is a perfect pairing.
Main definitions / results: #
exteriorPower.wedge: the bilinear map∧^k × ∧^l → ∧^(k + l)exteriorPower.wedgePairing: the bilinear map∧^k × ∧^l → Rwhenk + l= top degreeexteriorPower.instIsPerfPairWedgePairing: the proof thatexteriorPower.wedgePairingis perfect.
@[reducible, inline]
abbrev
exteriorPower.wedge
(R : Type u_1)
(M : Type u_2)
[CommRing R]
[AddCommGroup M]
[Module R M]
(k l : ℕ)
:
The wedge product as an operation on exterior powers.
Equations
- exteriorPower.wedge R M k l = DirectSum.gMulLHom R fun (d : ℕ) => ↥(⋀[R]^d M)
Instances For
@[reducible, inline]
abbrev
exteriorPower.wedgePairing
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{k l : ℕ}
(vol : ↥(⋀[R]^(Module.finrank R M) M) ≃ₗ[R] R)
(hkl : k + l = Module.finrank R M)
:
The wedge product in complementary degrees as a scalar-valued bilinear map (for a choice of trivialisation of the top exterior power).
Equations
- exteriorPower.wedgePairing vol hkl = (exteriorPower.wedge R M k l).compr₂ (⋯ ▸ ↑vol)
Instances For
theorem
exteriorPower.wedge_apply_of_not_disjoint
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{k l : ℕ}
{ι : Type u_3}
[LinearOrder ι]
(b : Module.Basis ι R M)
{I : ↑(Set.powersetCard ι k)}
{J : ↑(Set.powersetCard ι l)}
(h : ¬Disjoint ↑I ↑J)
:
theorem
exteriorPower.wedge_apply_of_disjoint
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{k l : ℕ}
{ι : Type u_3}
[LinearOrder ι]
(b : Module.Basis ι R M)
[Fintype ι]
(hkl : k + l = Fintype.card ι)
{I : ↑(Set.powersetCard ι k)}
{J : ↑(Set.powersetCard ι l)}
(h : Disjoint ↑I ↑J)
:
↑(((wedge R M k l) ((Module.Basis.exteriorPower k b) I)) ((Module.Basis.exteriorPower l b) J)) = Set.powersetCard.sign I • b.ExteriorAlgebra (↑I ∪ ↑J)
noncomputable def
Module.Basis.topVector
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{ι : Type u_3}
[LinearOrder ι]
(b : Basis ι R M)
[Fintype ι]
[Nontrivial R]
:
The wedge product of all the elements of the basis b, in increasing order.
Equations
- b.topVector = (Module.Basis.exteriorPower (Module.finrank R M) b) ⟨Finset.univ, ⋯⟩
Instances For
@[simp]
theorem
Module.Basis.coe_topVector
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{ι : Type u_3}
[LinearOrder ι]
(b : Basis ι R M)
[Fintype ι]
[Nontrivial R]
:
@[simp]
theorem
Module.Basis.topVector_eq_exteriorPower
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{ι : Type u_3}
[LinearOrder ι]
(b : Basis ι R M)
[Fintype ι]
[Nontrivial R]
(s : ↑(Set.powersetCard ι (finrank R M)))
:
theorem
exteriorPower.isUnit_apply_topVector
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
(vol : ↥(⋀[R]^(Module.finrank R M) M) ≃ₗ[R] R)
{ι : Type u_3}
[LinearOrder ι]
(b : Module.Basis ι R M)
[Fintype ι]
[Nontrivial R]
:
theorem
exteriorPower.wedgePairing_eq_apply_topVector_smul
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{k l : ℕ}
(vol : ↥(⋀[R]^(Module.finrank R M) M) ≃ₗ[R] R)
(hkl : k + l = Module.finrank R M)
{ι : Type u_3}
[LinearOrder ι]
(b : Module.Basis ι R M)
[Fintype ι]
[Nontrivial R]
:
wedgePairing vol hkl = vol b.topVector • ↑((Module.Basis.exteriorPower k b).repr ≪≫ₗ (((Module.Basis.exteriorPower l b).dualBasis.reindex (Set.powersetCard.compl ⋯)).groupSMul
Set.powersetCard.sign).repr.symm)
instance
exteriorPower.instIsPerfPairWedgePairing
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{k l : ℕ}
(vol : ↥(⋀[R]^(Module.finrank R M) M) ≃ₗ[R] R)
(hkl : k + l = Module.finrank R M)
[Module.Finite R M]
[Module.Free R M]
:
(wedgePairing vol hkl).IsPerfPair