OAI/Combinatorics/GotsmanLinial/WeightedGrading.lean

GitHub source file

49 declarations, 0 contain sorry, 0 declared as axioms

The actual weighted orthogonal grading of the cube

The construction first orthogonalizes an arbitrary finite flag of subspaces. It then transports the concrete Walsh flag by the invertible square-root weight and takes the orthogonal projections in the counting Hilbert space. The resulting matrices are proved to form an orthogonal decomposition of the identity with the prescribed binomial multiplicities.

  1. def OAI.LeanBlast.GotsmanLinial.flagLayer line 36

    Source documentation

    The new orthogonal layer appearing between two consecutive stages of a flag.

    def flagLayer (K : ℕ → Submodule 𝕜 E) (k : ℕ) : Submodule 𝕜 E :=
    …
  2. def OAI.LeanBlast.GotsmanLinial.flagProjection line 40

    Source documentation

    The actual orthogonal projection onto a layer of a finite-dimensional flag.

    def flagProjection (K : ℕ → Submodule 𝕜 E) (k : ℕ) : E →L[𝕜] E :=
    …
  3. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_le_next line 44
  4. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_le_prev_orthogonal line 48
  5. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_sup_prev line 51
  6. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_finrank_add line 56
  7. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_finrank line 62
  8. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_isOrtho_of_lt line 68
  9. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_isOrtho line 75
  10. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_iSup_eq_top line 81
  11. theorem OAI.LeanBlast.GotsmanLinial.flagLayer_orthogonalFamily line 99
  12. theorem OAI.LeanBlast.GotsmanLinial.flagProjection_isSelfAdjoint line 107
  13. theorem OAI.LeanBlast.GotsmanLinial.flagProjection_idempotent line 111
  14. theorem OAI.LeanBlast.GotsmanLinial.flagProjection_mul_eq_zero line 115
  15. theorem OAI.LeanBlast.GotsmanLinial.sum_flagProjection line 119
  16. theorem OAI.LeanBlast.GotsmanLinial.range_flagProjection line 130
  17. theorem OAI.LeanBlast.GotsmanLinial.flagProjection_apply_mem_next line 134
  18. theorem OAI.LeanBlast.GotsmanLinial.flagProjection_apply_eq_zero_of_mem_prev line 138
  19. def OAI.LeanBlast.GotsmanLinial.coordinateMulEquiv line 153

    Source documentation

    Multiplication by pointwise nonzero coefficients is a linear equivalence.

    def coordinateMulEquiv (a : Ω → ℂ) (ha : ∀ x, a x ≠ 0) :
        (Ω → ℂ) ≃ₗ[ℂ] (Ω → ℂ) where
    …
  20. def OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv line 172

    Source documentation

    Multiplication by the square root of a strictly positive weight, in the counting Euclidean Hilbert space.

    def sqrtWeightEquiv (w : Ω → ℝ) (hw : ∀ x, 0 < w x) :
        EuclideanSpace ℂ Ω ≃ₗ[ℂ] EuclideanSpace ℂ Ω :=
    …
  21. theorem OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv_apply line 181
  22. theorem OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv_symm_apply line 187
  23. def OAI.LeanBlast.GotsmanLinial.transportFlag line 199

    Source documentation

    Transport a degree flag through an invertible linear weight operator.

    def transportFlag (D : E ≃ₗ[𝕜] E) (F : ℕ → Submodule 𝕜 E) (k : ℕ) :
        Submodule 𝕜 E := (F k).map D.toLinearMap
  24. theorem OAI.LeanBlast.GotsmanLinial.transportFlag_monotone line 202
  25. theorem OAI.LeanBlast.GotsmanLinial.transportFlag_zero line 207
  26. theorem OAI.LeanBlast.GotsmanLinial.transportFlag_top line 211
  27. theorem OAI.LeanBlast.GotsmanLinial.transportFlag_finrank line 215
  28. theorem OAI.LeanBlast.GotsmanLinial.transportFlag_layer_finrank line 220

    Source documentation

    The weighted construction preserves every prescribed dimension increment.

    theorem transportFlag_layer_finrank [FiniteDimensional 𝕜 E] (D : E ≃ₗ[𝕜] E)
        (F : ℕ → Submodule 𝕜 E) (hF : Monotone F) (k d : ℕ)
        (hd : finrank 𝕜 (F k) + d = finrank 𝕜 (F (k + 1))) :
        finrank 𝕜 (flagLayer (transportFlag D F) k) = d := by
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.flagLayer, OAI.LeanBlast.GotsmanLinial.transportFlag

  29. def OAI.LeanBlast.GotsmanLinial.flagProjectionMatrix line 238

    Source documentation

    Matrix of an actual flag-layer projection in an orthonormal basis.

    def flagProjectionMatrix (b : OrthonormalBasis ι ℂ E)
        (K : ℕ → Submodule ℂ E) (k : ℕ) : Matrix ι ι ℂ :=
    …
  30. theorem OAI.LeanBlast.GotsmanLinial.flagProjectionMatrix_family line 244

    Source documentation

    The matrix projection-family laws follow from the constructed Hilbert-space projections, without any additional grading hypothesis.

    theorem flagProjectionMatrix_family (b : OrthonormalBasis ι ℂ E)
        (K : ℕ → Submodule ℂ E) (hK : Monotone K) (hzero : K 0 = ⊥)
        (n : ℕ) (htop : K (n + 1) = ⊤) :
        OrthogonalProjectionFamily (fun k : Fin (n + 1) => flagProjectionMatrix b K k.val) :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.OrthogonalProjectionFamily, OAI.LeanBlast.GotsmanLinial.flagProjectionMatrix

  31. theorem OAI.LeanBlast.GotsmanLinial.trace_flagProjectionMatrix line 255
  32. theorem OAI.LeanBlast.GotsmanLinial.re_trace_flagProjectionMatrix line 260
  33. def OAI.LeanBlast.GotsmanLinial.weightedFourierSpace line 272

    Source documentation

    The weighted degree-k subspace of the counting Hilbert space.

    def weightedFourierSpace (w : Cube n → ℝ) (hw : ∀ x, 0 < w x) (k : ℕ) :
        Submodule ℂ (EuclideanSpace ℂ (Cube n)) :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube

  34. def OAI.LeanBlast.GotsmanLinial.weightedFourierFlag line 277

    Source documentation

    The weighted Fourier flag, shifted by one so that stage zero is bottom.

    def weightedFourierFlag (w : Cube n → ℝ) (hw : ∀ x, 0 < w x) :
        ℕ → Submodule ℂ (EuclideanSpace ℂ (Cube n)) :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube

  35. theorem OAI.LeanBlast.GotsmanLinial.weightedFourierFlag_zero line 282
  36. theorem OAI.LeanBlast.GotsmanLinial.weightedFourierFlag_succ line 287
  37. theorem OAI.LeanBlast.GotsmanLinial.weightedFourierFlag_mono line 290
  38. theorem OAI.LeanBlast.GotsmanLinial.weightedFourierFlag_top line 295
  39. theorem OAI.LeanBlast.GotsmanLinial.weightedFourierFlag_layer_finrank line 300

    Source documentation

    Weighting preserves the exact binomial dimensions of the orthogonal layers.

    theorem weightedFourierFlag_layer_finrank (w : Cube n → ℝ) (hw : ∀ x, 0 < w x)
        (k : ℕ) :
        finrank ℂ (flagLayer (weightedFourierFlag w hw) k) = n.choose k :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube, OAI.LeanBlast.GotsmanLinial.flagLayer, OAI.LeanBlast.GotsmanLinial.weightedFourierFlag

  40. def OAI.LeanBlast.GotsmanLinial.weightedProjection line 307

    Source documentation

    Actual orthogonal projection onto weighted Fourier layer k.

    def weightedProjection (w : Cube n → ℝ) (hw : ∀ x, 0 < w x) (k : Fin (n + 1)) :
        EuclideanSpace ℂ (Cube n) →L[ℂ] EuclideanSpace ℂ (Cube n) :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube

  41. def OAI.LeanBlast.GotsmanLinial.weightedProjectionMatrix line 312

    Source documentation

    The projection represented in the point-mass orthonormal basis.

    def weightedProjectionMatrix (w : Cube n → ℝ) (hw : ∀ x, 0 < w x)
        (k : Fin (n + 1)) : Matrix (Cube n) (Cube n) ℂ :=
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube

  42. theorem OAI.LeanBlast.GotsmanLinial.weightedProjection_apply_mem line 317
  43. theorem OAI.LeanBlast.GotsmanLinial.weightedProjection_annihilate_prev line 322
  44. theorem OAI.LeanBlast.GotsmanLinial.weightedProjectionMatrix_family line 327
  45. theorem OAI.LeanBlast.GotsmanLinial.weightedProjectionMatrix_trace line 333
  46. theorem OAI.LeanBlast.GotsmanLinial.weightedProjectionMatrix_trace_re line 338
  47. theorem OAI.LeanBlast.GotsmanLinial.weightedProjectionMatrix_hsNormSq line 344
  48. theorem OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv_commute_signMultiplier line 351

    Source documentation

    Every real diagonal multiplier commutes with the positive square-root weight.

    theorem sqrtWeightEquiv_commute_signMultiplier
        (w : Cube n → ℝ) (hw : ∀ x, 0 < w x) (h : Cube n → ℝ)
        (f : EuclideanSpace ℂ (Cube n)) :
        signMultiplier h (sqrtWeightEquiv w hw f) =
          sqrtWeightEquiv w hw (signMultiplier h f) := by
    …

    Mentions: OAI.LeanBlast.GotsmanLinial.Cube, OAI.LeanBlast.GotsmanLinial.signMultiplier, OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv

  49. theorem OAI.LeanBlast.GotsmanLinial.sqrtWeightEquiv_commute_coordinateMultiplier line 360