refactor: Move dual to minkowskiMatrix

This commit is contained in:
jstoobysmith 2024-11-08 11:16:16 +00:00
parent ac7c7939a7
commit 9fcaee7b2f
5 changed files with 60 additions and 54 deletions

View file

@ -43,7 +43,7 @@ namespace LorentzGroup
scoped[LorentzGroup] notation (name := lorentzGroup_notation) "𝓛" => LorentzGroup
open minkowskiMetric
open minkowskiMatrix
variable {Λ Λ' : Matrix (Fin 1 ⊕ Fin d) (Fin 1 ⊕ Fin d) }
/-!
@ -123,7 +123,7 @@ instance lorentzGroupIsGroup : Group (LorentzGroup d) where
one := ⟨1, LorentzGroup.one_mem⟩
one_mul A := Subtype.eq (Matrix.one_mul A.1)
mul_one A := Subtype.eq (Matrix.mul_one A.1)
inv A := ⟨minkowskiMetric.dual A.1, LorentzGroup.dual_mem A.2⟩
inv A := ⟨minkowskiMatrix.dual A.1, LorentzGroup.dual_mem A.2⟩
inv_mul_cancel A := Subtype.eq (LorentzGroup.mem_iff_dual_mul_self.mp A.2)
/-- `LorentzGroup` has the subtype topology. -/
@ -132,6 +132,7 @@ instance : TopologicalSpace (LorentzGroup d) := instTopologicalSpaceSubtype
namespace LorentzGroup
open minkowskiMetric
open minkowskiMatrix
variable {Λ Λ' : LorentzGroup d}
@ -250,7 +251,7 @@ def toProd : LorentzGroup d →* (Matrix (Fin 1 ⊕ Fin d) (Fin 1 ⊕ Fin d)
(Matrix (Fin 1 ⊕ Fin d) (Fin 1 ⊕ Fin d) )ᵐᵒᵖ :=
MonoidHom.comp (Units.embedProduct _) toGL
lemma toProd_eq_transpose_η : toProd Λ = (Λ.1, MulOpposite.op $ minkowskiMetric.dual Λ.1) := rfl
lemma toProd_eq_transpose_η : toProd Λ = (Λ.1, MulOpposite.op $ minkowskiMatrix.dual Λ.1) := rfl
lemma toProd_injective : Function.Injective (@toProd d) := by
intro A B h

View file

@ -22,6 +22,7 @@ open ComplexConjugate
namespace LorentzGroup
open minkowskiMetric
open minkowskiMatrix
variable {d : }

View file

@ -25,7 +25,7 @@ def SO3ToMatrix (A : SO(3)) : Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) :=
lemma SO3ToMatrix_in_LorentzGroup (A : SO(3)) : SO3ToMatrix A ∈ LorentzGroup 3 := by
rw [LorentzGroup.mem_iff_dual_mul_self]
simp only [minkowskiMetric.dual, minkowskiMatrix.as_block, SO3ToMatrix,
simp only [minkowskiMatrix.dual, minkowskiMatrix.as_block, SO3ToMatrix,
Matrix.fromBlocks_transpose, Matrix.transpose_one, Matrix.transpose_zero,
Matrix.fromBlocks_multiply, mul_one, Matrix.mul_zero, add_zero, Matrix.zero_mul, Matrix.mul_one,
neg_mul, one_mul, zero_add, Matrix.mul_neg, neg_zero, mul_neg, neg_neg,