refactor: Large refactor of Lorentz vecs
This commit is contained in:
parent
a69cf91919
commit
3eb5da875f
8 changed files with 402 additions and 88 deletions
|
@ -93,6 +93,10 @@ lemma stdBasis_toFin1dℝEquiv_apply_same (μ : Fin 1 ⊕ Fin d) :
|
|||
rw [@LinearEquiv.apply_symm_apply]
|
||||
exact Pi.single_eq_same μ 1
|
||||
|
||||
@[simp]
|
||||
lemma stdBasis_apply_same (μ : Fin 1 ⊕ Fin d) : (stdBasis μ).val μ = 1 :=
|
||||
stdBasis_toFin1dℝEquiv_apply_same μ
|
||||
|
||||
lemma stdBasis_toFin1dℝEquiv_apply_ne {μ ν : Fin 1 ⊕ Fin d} (h : μ ≠ ν) :
|
||||
toFin1dℝEquiv (stdBasis μ) ν = 0 := by
|
||||
simp only [stdBasis, Basis.ofEquivFun, Basis.coe_ofRepr, LinearEquiv.trans_symm,
|
||||
|
@ -100,6 +104,11 @@ lemma stdBasis_toFin1dℝEquiv_apply_ne {μ ν : Fin 1 ⊕ Fin d} (h : μ ≠ ν
|
|||
rw [@LinearEquiv.apply_symm_apply]
|
||||
exact Pi.single_eq_of_ne' h 1
|
||||
|
||||
@[simp]
|
||||
lemma stdBasis_inl_apply_inr (i : Fin d) : (stdBasis (Sum.inl 0)).val (Sum.inr i) = 0 := by
|
||||
refine stdBasis_toFin1dℝEquiv_apply_ne ?_
|
||||
simp
|
||||
|
||||
/-- Decomposition of a contrvariant Lorentz vector into the standard basis. -/
|
||||
lemma stdBasis_decomp (v : ContrMod d) : v = ∑ i, v.toFin1dℝ i • stdBasis i := by
|
||||
apply toFin1dℝEquiv.injective
|
||||
|
@ -151,6 +160,22 @@ lemma mulVec_mulVec (M N : Matrix (Fin 1 ⊕ Fin d) (Fin 1 ⊕ Fin d) ℝ) (v :
|
|||
|
||||
/-!
|
||||
|
||||
## The norm
|
||||
|
||||
(Not the Minkowski norm, but the norm of a vector in `ContrℝModule d`.)
|
||||
-/
|
||||
|
||||
def norm : NormedAddCommGroup (ContrMod d) where
|
||||
norm v := ‖v.val‖₊
|
||||
dist_self x := Pi.normedAddCommGroup.dist_self x.val
|
||||
dist_triangle x y z := Pi.normedAddCommGroup.dist_triangle x.val y.val z.val
|
||||
dist_comm x y := Pi.normedAddCommGroup.dist_comm x.val y.val
|
||||
eq_of_dist_eq_zero {x y} := fun h => ext (MetricSpace.eq_of_dist_eq_zero h)
|
||||
|
||||
def toSpace (v : ContrMod d) : EuclideanSpace ℝ (Fin d) := v.val ∘ Sum.inr
|
||||
|
||||
/-!
|
||||
|
||||
## The representation.
|
||||
|
||||
-/
|
||||
|
@ -230,6 +255,10 @@ lemma stdBasis_toFin1dℝEquiv_apply_same (μ : Fin 1 ⊕ Fin d) :
|
|||
rw [@LinearEquiv.apply_symm_apply]
|
||||
exact Pi.single_eq_same μ 1
|
||||
|
||||
@[simp]
|
||||
lemma stdBasis_apply_same (μ : Fin 1 ⊕ Fin d) : (stdBasis μ).val μ = 1 :=
|
||||
stdBasis_toFin1dℝEquiv_apply_same μ
|
||||
|
||||
lemma stdBasis_toFin1dℝEquiv_apply_ne {μ ν : Fin 1 ⊕ Fin d} (h : μ ≠ ν) :
|
||||
toFin1dℝEquiv (stdBasis μ) ν = 0 := by
|
||||
simp only [stdBasis, Basis.ofEquivFun, Basis.coe_ofRepr, LinearEquiv.trans_symm,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue