feat: Add contr of basis

This commit is contained in:
jstoobysmith 2024-10-23 08:01:23 +00:00
parent 74d4b2c2c0
commit 865164ca81
6 changed files with 173 additions and 6 deletions

View file

@ -40,9 +40,12 @@ def complexCo : Rep SL(2, ) := Rep.of CoModule.SL2CRep
def complexContrBasis : Basis (Fin 1 ⊕ Fin 3) complexContr := Basis.ofEquivFun
(Equiv.linearEquiv ContrModule.toFin13Fun)
/-- The standard basis of complex contravariant Lorentz vectors indexed by `Fin 4`. -/
def complexContrBasisFin4 : Basis (Fin 4) complexContr :=
Basis.reindex complexContrBasis finSumFinEquiv
@[simp]
lemma complexContrBasis_toFin13 (i :Fin 1 ⊕ Fin 3) :
(complexContrBasis i).toFin13 = Pi.single i 1 := by
simp only [complexContrBasis, Basis.coe_ofEquivFun]
rw [Lorentz.ContrModule.toFin13]
rfl
@[simp]
lemma complexContrBasis_ρ_apply (M : SL(2,)) (i j : Fin 1 ⊕ Fin 3) :
@ -58,13 +61,19 @@ lemma complexContrBasis_ρ_val (M : SL(2,)) (v : complexContr) :
LorentzGroup.toComplex (SL2C.toLorentzGroup M) *ᵥ v.val := by
rfl
/-- The standard basis of complex contravariant Lorentz vectors indexed by `Fin 4`. -/
def complexContrBasisFin4 : Basis (Fin 4) complexContr :=
Basis.reindex complexContrBasis finSumFinEquiv
/-- The standard basis of complex covariant Lorentz vectors. -/
def complexCoBasis : Basis (Fin 1 ⊕ Fin 3) complexCo := Basis.ofEquivFun
(Equiv.linearEquiv CoModule.toFin13Fun)
/-- The standard basis of complex covariant Lorentz vectors indexed by `Fin 4`. -/
def complexCoBasisFin4 : Basis (Fin 4) complexCo :=
Basis.reindex complexCoBasis finSumFinEquiv
@[simp]
lemma complexCoBasis_toFin13 (i :Fin 1 ⊕ Fin 3) : (complexCoBasis i).toFin13 = Pi.single i 1 := by
simp only [complexCoBasis, Basis.coe_ofEquivFun]
rw [Lorentz.CoModule.toFin13]
rfl
@[simp]
lemma complexCoBasis_ρ_apply (M : SL(2,)) (i j : Fin 1 ⊕ Fin 3) :
@ -75,6 +84,11 @@ lemma complexCoBasis_ρ_apply (M : SL(2,)) (i j : Fin 1 ⊕ Fin 3) :
change ((LorentzGroup.toComplex (SL2C.toLorentzGroup M))⁻¹ᵀ *ᵥ (Pi.single j 1)) i = _
simp only [mulVec_single, transpose_apply, mul_one]
/-- The standard basis of complex covariant Lorentz vectors indexed by `Fin 4`. -/
def complexCoBasisFin4 : Basis (Fin 4) complexCo :=
Basis.reindex complexCoBasis finSumFinEquiv
/-!
## Relation to real

View file

@ -86,6 +86,17 @@ lemma contrCoContraction_hom_tmul (ψ : complexContr) (φ : complexCo) :
contrCoContraction.hom (ψ ⊗ₜ φ) = ψ.toFin13 ⬝ᵥ φ.toFin13 := by
rfl
lemma contrCoContraction_basis (i j : Fin 4) :
contrCoContraction.hom (complexContrBasisFin4 i ⊗ₜ complexCoBasisFin4 j) =
if i.1 = j.1 then (1 : ) else 0 := by
rw [contrCoContraction_hom_tmul]
simp only [Action.instMonoidalCategory_tensorUnit_V, complexContrBasisFin4, Basis.coe_reindex,
Function.comp_apply, complexContrBasis_toFin13, complexCoBasisFin4, complexCoBasis_toFin13,
dotProduct_single, mul_one]
rw [Pi.single_apply]
refine ite_congr ?h₁ (congrFun rfl) (congrFun rfl)
simp only [EmbeddingLike.apply_eq_iff_eq, Fin.ext_iff, eq_iff_iff, eq_comm]
/-- The linear map from complexCo ⊗ complexContr to given by
summing over components of covariant Lorentz vector and
contravariant Lorentz vector in the
@ -104,6 +115,17 @@ lemma coContrContraction_hom_tmul (φ : complexCo) (ψ : complexContr) :
coContrContraction.hom (φ ⊗ₜ ψ) = φ.toFin13 ⬝ᵥ ψ.toFin13 := by
rfl
lemma coContrContraction_basis (i j : Fin 4) :
coContrContraction.hom (complexCoBasisFin4 i ⊗ₜ complexContrBasisFin4 j) =
if i.1 = j.1 then (1 : ) else 0 := by
rw [coContrContraction_hom_tmul]
simp only [Action.instMonoidalCategory_tensorUnit_V, complexCoBasisFin4, Basis.coe_reindex,
Function.comp_apply, complexCoBasis_toFin13, complexContrBasisFin4, complexContrBasis_toFin13,
dotProduct_single, mul_one]
rw [Pi.single_apply]
refine ite_congr ?h₁ (congrFun rfl) (congrFun rfl)
simp only [EmbeddingLike.apply_eq_iff_eq, Fin.ext_iff, eq_iff_iff, eq_comm]
/-!
## Symmetry