refactor: Quad Lin equations
This commit is contained in:
parent
772e78ca77
commit
b5dd319eed
14 changed files with 245 additions and 299 deletions
|
@ -58,14 +58,14 @@ namespace BL
|
|||
variable {n : ℕ}
|
||||
|
||||
lemma on_quadBiLin (S : (PlusU1 n).charges) :
|
||||
quadBiLin ((BL n).val, S) = 1/2 * accYY S + 3/2 * accSU2 S - 2 * accSU3 S := by
|
||||
quadBiLin (BL n).val S = 1/2 * accYY S + 3/2 * accSU2 S - 2 * accSU3 S := by
|
||||
erw [familyUniversal_quadBiLin]
|
||||
rw [accYY_decomp, accSU2_decomp, accSU3_decomp]
|
||||
simp only [Fin.isValue, BL₁_val, SMνSpecies_numberCharges, toSpecies_apply, one_mul, mul_neg,
|
||||
mul_one, neg_mul, sub_neg_eq_add, one_div]
|
||||
ring
|
||||
|
||||
lemma on_quadBiLin_AFL (S : (PlusU1 n).LinSols) : quadBiLin ((BL n).val, S.val) = 0 := by
|
||||
lemma on_quadBiLin_AFL (S : (PlusU1 n).LinSols) : quadBiLin (BL n).val S.val = 0 := by
|
||||
rw [on_quadBiLin]
|
||||
rw [YYsol S, SU2Sol S, SU3Sol S]
|
||||
simp
|
||||
|
@ -110,8 +110,8 @@ lemma add_AFL_cube (S : (PlusU1 n).LinSols) (a b : ℚ) :
|
|||
erw [TriLinearSymm.toCubic_add, cubeSol (b • (BL n)), accCube.map_smul]
|
||||
repeat rw [cubeTriLin.map_smul₁, cubeTriLin.map_smul₂, cubeTriLin.map_smul₃]
|
||||
rw [on_cubeTriLin_AFL]
|
||||
simp only [accCube, TriLinearSymm.toCubic_toFun, cubeTriLin_toFun, Fin.isValue, add_zero, BL_val,
|
||||
mul_zero]
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, cubeTriLin_toFun, Fin.isValue,
|
||||
add_zero, BL_val, mul_zero]
|
||||
ring
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ namespace Y
|
|||
variable {n : ℕ}
|
||||
|
||||
lemma on_quadBiLin (S : (PlusU1 n).charges) :
|
||||
quadBiLin ((Y n).val, S) = accYY S := by
|
||||
quadBiLin (Y n).val S = accYY S := by
|
||||
erw [familyUniversal_quadBiLin]
|
||||
rw [accYY_decomp]
|
||||
simp only [Fin.isValue, Y₁_val, SMνSpecies_numberCharges, toSpecies_apply, one_mul, mul_neg,
|
||||
|
@ -64,7 +64,7 @@ lemma on_quadBiLin (S : (PlusU1 n).charges) :
|
|||
ring_nf
|
||||
simp
|
||||
|
||||
lemma on_quadBiLin_AFL (S : (PlusU1 n).LinSols) : quadBiLin ((Y n).val, S.val) = 0 := by
|
||||
lemma on_quadBiLin_AFL (S : (PlusU1 n).LinSols) : quadBiLin (Y n).val S.val = 0 := by
|
||||
rw [on_quadBiLin]
|
||||
rw [YYsol S]
|
||||
|
||||
|
@ -123,8 +123,8 @@ lemma add_AFL_cube (S : (PlusU1 n).LinSols) (a b : ℚ) :
|
|||
erw [TriLinearSymm.toCubic_add, cubeSol (b • (Y n)), accCube.map_smul]
|
||||
repeat rw [cubeTriLin.map_smul₁, cubeTriLin.map_smul₂, cubeTriLin.map_smul₃]
|
||||
rw [on_cubeTriLin_AFL]
|
||||
simp only [accCube, TriLinearSymm.toCubic_toFun, cubeTriLin_toFun, Fin.isValue, add_zero, Y_val,
|
||||
mul_zero]
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, cubeTriLin_toFun, Fin.isValue,
|
||||
add_zero, Y_val, mul_zero]
|
||||
ring
|
||||
|
||||
lemma add_AFQ_cube (S : (PlusU1 n).QuadSols) (a b : ℚ) :
|
||||
|
|
|
@ -74,13 +74,13 @@ def B : Fin 11 → (PlusU1 3).charges := fun i =>
|
|||
| 9 => B₉
|
||||
| 10 => B₁₀
|
||||
|
||||
lemma Bi_Bj_quad {i j : Fin 11} (hi : i ≠ j) : quadBiLin (B i, B j) = 0 := by
|
||||
lemma Bi_Bj_quad {i j : Fin 11} (hi : i ≠ j) : quadBiLin (B i) (B j) = 0 := by
|
||||
fin_cases i <;> fin_cases j
|
||||
any_goals rfl
|
||||
all_goals simp at hi
|
||||
|
||||
lemma Bi_sum_quad (i : Fin 11) (f : Fin 11 → ℚ) :
|
||||
quadBiLin (B i, ∑ k, f k • B k) = f i * quadBiLin (B i, B i) := by
|
||||
quadBiLin (B i) (∑ k, f k • B k) = f i * quadBiLin (B i) (B i) := by
|
||||
rw [quadBiLin.map_sum₂]
|
||||
rw [Fintype.sum_eq_single i]
|
||||
rw [quadBiLin.map_smul₂]
|
||||
|
@ -92,13 +92,13 @@ lemma Bi_sum_quad (i : Fin 11) (f : Fin 11 → ℚ) :
|
|||
@[simp]
|
||||
def quadCoeff : Fin 11 → ℚ := ![1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]
|
||||
|
||||
lemma quadCoeff_eq_bilinear (i : Fin 11) : quadCoeff i = quadBiLin (B i, B i) := by
|
||||
lemma quadCoeff_eq_bilinear (i : Fin 11) : quadCoeff i = quadBiLin (B i) (B i) := by
|
||||
fin_cases i
|
||||
all_goals rfl
|
||||
|
||||
lemma on_accQuad (f : Fin 11 → ℚ) :
|
||||
accQuad (∑ i, f i • B i) = ∑ i, quadCoeff i * (f i)^2 := by
|
||||
change quadBiLin _ = _
|
||||
change quadBiLin _ _ = _
|
||||
rw [quadBiLin.map_sum₁]
|
||||
apply Fintype.sum_congr
|
||||
intro i
|
||||
|
|
|
@ -33,14 +33,14 @@ variable (C : (PlusU1 n).QuadSols)
|
|||
|
||||
lemma add_AFL_quad (S : (PlusU1 n).LinSols) (a b : ℚ) :
|
||||
accQuad (a • S.val + b • C.val) =
|
||||
a * (a * accQuad S.val + 2 * b * quadBiLin (S.val, C.val)) := by
|
||||
a * (a * accQuad S.val + 2 * b * quadBiLin S.val C.val) := by
|
||||
erw [BiLinearSymm.toHomogeneousQuad_add, quadSol (b • C)]
|
||||
rw [quadBiLin.map_smul₁, quadBiLin.map_smul₂]
|
||||
erw [accQuad.map_smul]
|
||||
ring
|
||||
|
||||
/-- A helper function for what comes later. -/
|
||||
def α₁ (S : (PlusU1 n).LinSols) : ℚ := - 2 * quadBiLin (S.val, C.val)
|
||||
def α₁ (S : (PlusU1 n).LinSols) : ℚ := - 2 * quadBiLin S.val C.val
|
||||
|
||||
/-- A helper function for what comes later. -/
|
||||
def α₂ (S : (PlusU1 n).LinSols) : ℚ := accQuad S.val
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue