Documentation

Complexitylib.BooleanAnalysis.PolynomialThreshold.Internal.ProjectionBlocks

Gotsman--Linial: ProjectionBlocks #

Adapted from OpenAI's formalization of Average Sensitivity of Polynomial Threshold Functions (25 September 2026), at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a. Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/GotsmanLinial/ProjectionBlocks.lean

The original Boolean-cube representation is used internally in this proof development; Complexitylib.BooleanAnalysis.PolynomialThreshold transports the result to the library's Fourier and influence API. Changes here adapt module visibility, namespace names, formatting, and redundant simp attributes to complexitylib.

Matrix blocks of a finite orthogonal projection family #

The Hilbert--Schmidt quantity below is the explicit sum of squared entry norms rather than an ambient matrix norm instance.

A finite orthogonal decomposition of the identity by Hermitian projections.

  • selfAdjoint (k : κ) : IsSelfAdjoint (P k)
  • idempotent (k : κ) : P k * P k = P k
  • orthogonal (r s : κ) : r ≠ s → P r * P s = 0
  • sum_eq_one : ∑ k : κ, P k = 1
Instances For
    theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.sum_projection_blocks {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) :
    ∑ r : κ, ∑ s : κ, P s * B * P r = B
    theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.projection_block_ext {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) {A B : Matrix ι ι ℂ} (h : ∀ (r s : κ), P s * A * P r = P s * B * P r) :
    A = B
    def Complexity.BooleanAnalysis.PolynomialThreshold.Internal.matrixGrading {ι : Type u_1} {κ : Type u_2} [Fintype κ] (P : κ → Matrix ι ι ℂ) (weight : κ → ℝ) :
    Matrix ι ι ℂ

    The real-valued spectral multiplier defined by the projection family.

    Equations
    Instances For
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.projection_mul_matrixGrading {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (s : κ) :
      P s * matrixGrading P weight = ↑(weight s) • P s
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.matrixGrading_mul_projection {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (r : κ) :
      matrixGrading P weight * P r = ↑(weight r) • P r
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.projection_commutator {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (B : Matrix ι ι ℂ) (r s : κ) :
      P s * (matrixGrading P weight * B - B * matrixGrading P weight) * P r = ↑(weight s - weight r) • (P s * B * P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.projection_anticommutator {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (B : Matrix ι ι ℂ) (r s : κ) :
      P s * (matrixGrading P weight * B + B * matrixGrading P weight) * P r = ↑(weight s + weight r) • (P s * B * P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_projection_mul {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (s : κ) (B : Matrix ι ι ℂ) :
      hsNormSq (P s * B) = (B.conjTranspose * P s * B).trace.re
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_mul_projection {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (r : κ) (B : Matrix ι ι ℂ) :
      hsNormSq (B * P r) = (P r * (B.conjTranspose * B)).trace.re
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_block_parseval {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) :
      hsNormSq B = ∑ r : κ, ∑ s : κ, hsNormSq (P s * B * P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_matrixGrading {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) :
      hsNormSq (matrixGrading P weight) = ∑ r : κ, weight r ^ 2 * hsNormSq (P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_matrixGrading_trace {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) :
      hsNormSq (matrixGrading P weight) = ∑ r : κ, weight r ^ 2 * (P r).trace.re
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.sum_hsNormSq_blocks_column {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) (r : κ) (hB : B.conjTranspose * B = 1) :
      ∑ s : κ, hsNormSq (P s * B * P r) = hsNormSq (P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.sum_hsNormSq_blocks_row {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) (s : κ) (hB : B * B.conjTranspose = 1) :
      ∑ r : κ, hsNormSq (P s * B * P r) = hsNormSq (P s)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.sum_hsNormSq_blocks_column_trace {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) (r : κ) (hB : B.conjTranspose * B = 1) :
      ∑ s : κ, hsNormSq (P s * B * P r) = (P r).trace.re
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.sum_hsNormSq_blocks_row_trace {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) (s : κ) (hB : B * B.conjTranspose = 1) :
      ∑ r : κ, hsNormSq (P s * B * P r) = (P s).trace.re
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_commutator {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (B : Matrix ι ι ℂ) :
      hsNormSq (matrixGrading P weight * B - B * matrixGrading P weight) = ∑ r : κ, ∑ s : κ, (weight s - weight r) ^ 2 * hsNormSq (P s * B * P r)
      theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_anticommutator {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {P : κ → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (weight : κ → ℝ) (B : Matrix ι ι ℂ) :
      hsNormSq (matrixGrading P weight * B + B * matrixGrading P weight) = ∑ r : κ, ∑ s : κ, (weight s + weight r) ^ 2 * hsNormSq (P s * B * P r)

      The degree grading associated to projections indexed from zero to n.

      Equations
      Instances For
        noncomputable def Complexity.BooleanAnalysis.PolynomialThreshold.Internal.centeredGrading {ι : Type u_1} {n : ℕ} (P : Fin (n + 1) → Matrix ι ι ℂ) :
        Matrix ι ι ℂ

        The degree grading centered at n / 2.

        Equations
        Instances For
          theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_centeredGrading {ι : Type u_1} [Fintype ι] [DecidableEq ι] {n : ℕ} {P : Fin (n + 1) → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) :
          hsNormSq (centeredGrading P) = ∑ k : Fin (n + 1), (↑↑k - ↑n / 2) ^ 2 * hsNormSq (P k)
          theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_centeredGrading_trace {ι : Type u_1} [Fintype ι] [DecidableEq ι] {n : ℕ} {P : Fin (n + 1) → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) :
          hsNormSq (centeredGrading P) = ∑ k : Fin (n + 1), (↑↑k - ↑n / 2) ^ 2 * (P k).trace.re
          theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.projection_centered_anticommutator {ι : Type u_1} [Fintype ι] [DecidableEq ι] {n : ℕ} {P : Fin (n + 1) → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) (r s : Fin (n + 1)) :
          P s * (centeredGrading P * B + B * centeredGrading P) * P r = ↑(↑↑s + ↑↑r - ↑n) • (P s * B * P r)
          theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.hsNormSq_centered_anticommutator {ι : Type u_1} [Fintype ι] [DecidableEq ι] {n : ℕ} {P : Fin (n + 1) → Matrix ι ι ℂ} (hP : OrthogonalProjectionFamily P) (B : Matrix ι ι ℂ) :
          hsNormSq (centeredGrading P * B + B * centeredGrading P) = ∑ r : Fin (n + 1), ∑ s : Fin (n + 1), (↑↑s + ↑↑r - ↑n) ^ 2 * hsNormSq (P s * B * P r)

          Matrix representation of a continuous operator in an orthonormal basis, bundled with its algebraic compatibility.

          Equations
          Instances For
            @[simp]
            theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.operatorMatrix_sum {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ℂ E] [FiniteDimensional ℂ E] (b : OrthonormalBasis ι ℂ E) (T : κ → E →L[ℂ] E) :
            operatorMatrix b (∑ k : κ, T k) = ∑ k : κ, operatorMatrix b (T k)
            theorem Complexity.BooleanAnalysis.PolynomialThreshold.Internal.orthogonalProjectionFamily_operatorMatrix {ι : Type u_1} {κ : Type u_2} [Fintype ι] [DecidableEq ι] [Fintype κ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ℂ E] [FiniteDimensional ℂ E] (b : OrthonormalBasis ι ℂ E) (T : κ → E →L[ℂ] E) (hself : ∀ (k : κ), IsSelfAdjoint (T k)) (hidem : ∀ (k : κ), T k * T k = T k) (horth : ∀ (r s : κ), r ≠ s → T r * T s = 0) (hsum : ∑ k : κ, T k = 1) :

            Transfer an actually constructed orthogonal family of Hilbert-space projections to the matrix interface used by the block estimates.

            @[simp]

            The standard-basis matrix representation is inverse to the standard Euclidean continuous linear operator associated to a matrix.