OAI/Computability/MaxCut/Games/MatrixNoise.lean
37 declarations, 0 contain sorry, 0 declared as axioms
The actual rank-one averaging operator on finite binary matrix spaces.
The outer weights describe any finite law for v; the functional ℓ is
uniform. Normalization is needed for eigenvalue bounds, not diagonalization.
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.character_average_shiftline 27Source documentation
Uniform subgroup averaging is diagonal on every additive character.
theorem character_average_shift (ψ : AddChar G ℂ) (A : H →+ G) (x : G) : (𝔼 h, ψ (x + A h)) = (if ψ.compAddMonoidHom A = 0 then (1 : ℂ) else 0) * ψ x := by … - def
OAI.MaxCutGames.Fourier.MatrixNoise.dotCharacterline 43Source documentation
The additive character obtained by pairing against a binary vector.
def dotCharacter {m : Nat} (w : Vector m) : AddChar (Vector m) ℂ where … - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.dotCharacter_applyline 48 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.dotCharacter_eq_zero_iffline 51 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.average_dotCharacterline 64 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.average_rankOne_characterline 73Source documentation
Uniform linear functionals detect precisely whether
S vvanishes.theorem average_rankOne_character {m n : Nat} (S : Matrix (Fin m) (Fin n) F2) (v : Vector n) : (𝔼 ℓ : Vector m, traceCharacter S (Matrix.vecMulVec v ℓ)) = if S *ᵥ v = 0 then (1 : ℂ) else 0 := by … - def
OAI.MaxCutGames.Fourier.MatrixNoise.noiseOperatorline 80 - def
OAI.MaxCutGames.Fourier.MatrixNoise.noiseEigenvalueline 86Source documentation
The probability of the event
S v = 0, with the supplied finite weights.def noiseEigenvalue {m n : Nat} (weight : Vector n → ℝ) (S : Matrix (Fin m) (Fin n) F2) : ℝ := … - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.noiseOperator_characterline 91Source documentation
Equation (5.3), for the actual finite binary matrix operator.
theorem noiseOperator_character {m n : Nat} (weight : Vector n → ℝ) (S : Matrix (Fin m) (Fin n) F2) (X : Matrix (Fin n) (Fin m) F2) : noiseOperator weight (traceCharacter S) X = (noiseEigenvalue weight S : ℂ) * traceCharacter S X := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.noiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.noiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.noiseEigenvalue_nonnegline 104 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.noiseEigenvalue_le_oneline 112 - def
OAI.MaxCutGames.Fourier.MatrixNoise.evaluationCharacterline 127Source documentation
Evaluation of a uniformly chosen linear functional is a binary character.
def evaluationCharacter (w : E) : AddChar (E →ₗ[F2] F2) ℂ where …
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.evaluationCharacter_applyline 132 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.evaluationCharacter_eq_zero_iffline 135 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.average_evaluationCharacterline 148 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.average_smulRight_characterline 158Source documentation
Basis-independent uniform-functional cancellation in Lemma 5.1.
theorem average_smulRight_character [FiniteDimensional F2 F] [Fintype (E →ₗ[F2] F2)] (S : F →ₗ[F2] E) (v : F) : (𝔼 ℓ : E →ₗ[F2] F2, linearTraceCharacter S (ℓ.smulRight v)) = if S v = 0 then (1 : ℂ) else 0 := by … - def
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperatorline 166 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator_sumline 170 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator_smulline 179 - def
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalueline 191Source documentation
Weighted probability that the dual map annihilates the sampled noise vector.
def linearNoiseEigenvalue [Fintype F] (weight : F → ℝ) (S : F →ₗ[F2] E) : ℝ := …
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator_characterline 195Source documentation
Equation (5.3), without a choice of bases.
theorem linearNoiseOperator_character [FiniteDimensional F2 F] [Fintype F] [Fintype (E →ₗ[F2] F2)] (weight : F → ℝ) (S : F →ₗ[F2] E) (X : E →ₗ[F2] F) : linearNoiseOperator weight (linearTraceCharacter S) X = (linearNoiseEigenvalue weight S : ℂ) * linearTraceCharacter S X := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue_nonnegline 209 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue_le_oneline 217 - def
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperatorline 228 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_complexline 232 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_eq_reline 244 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_sumline 251 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_smulline 260 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_characterline 271 - theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_expansionline 286Source documentation
Fourier expansion of the actual noise operator on every real function.
theorem linearRealNoiseOperator_expansion (weight : F → ℝ) (f : (E →ₗ[F2] F) → ℝ) (X : E →ₗ[F2] F) : linearRealNoiseOperator weight f X = ∑ S : F →ₗ[F2] E, linearNoiseEigenvalue weight S * linearCoeff f S * (linearTraceCharacter S X).re := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_pairingline 311Source documentation
Exact spectral pairing identity for the actual operator.
theorem linearRealNoiseOperator_pairing (weight : F → ℝ) (f g : (E →ₗ[F2] F) → ℝ) : (𝔼 X, f X * linearRealNoiseOperator weight g X) = ∑ S : F →ₗ[F2] E, linearNoiseEigenvalue weight S * linearCoeff f S * linearCoeff g S := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_selfAdjointline 332Source documentation
The actual real operator is self-adjoint under uniform measure.
theorem linearRealNoiseOperator_selfAdjoint (weight : F → ℝ) (f g : (E →ₗ[F2] F) → ℝ) : (𝔼 X, f X * linearRealNoiseOperator weight g X) = 𝔼 X, linearRealNoiseOperator weight f X * g X := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_coeffline 355Source documentation
The actual noise operator multiplies each Fourier coefficient by its annihilation probability. Uniform outer weights specialize to the kernel-rank multiplier used in Appendix A.
theorem linearRealNoiseOperator_coeff (weight : F → ℝ) (f : (E →ₗ[F2] F) → ℝ) (S : F →ₗ[F2] E) : linearCoeff (linearRealNoiseOperator weight f) S = linearNoiseEigenvalue weight S * linearCoeff f S := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_energyline 376Source documentation
The actual operator's quadratic form is precisely its weighted Fourier mass.
theorem linearRealNoiseOperator_energy (weight : F → ℝ) (f : (E →ₗ[F2] F) → ℝ) : (𝔼 X, f X * linearRealNoiseOperator weight f X) = ∑ S : F →ₗ[F2] E, linearNoiseEigenvalue weight S * linearCoeff f S ^ 2 := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_nonnegline 384Source documentation
Nonnegative weights make the actual noise operator positive semidefinite.
theorem linearRealNoiseOperator_nonneg (weight : F → ℝ) (hw : ∀ v, 0 ≤ weight v) (f : (E →ₗ[F2] F) → ℝ) : 0 ≤ 𝔼 X, f X * linearRealNoiseOperator weight f X := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator_cross_leline 393Source documentation
The actual two-side inequality used to select one labeling in §5.1.
theorem linearRealNoiseOperator_cross_le (weight : F → ℝ) (hw : ∀ v, 0 ≤ weight v) (f g : (E →ₗ[F2] F) → ℝ) : 2 * (𝔼 X, f X * linearRealNoiseOperator weight g X) ≤ (𝔼 X, f X * linearRealNoiseOperator weight f X) + (𝔼 X, g X * linearRealNoiseOperator weight g X) := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearRealNoiseOperator
- theorem
OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator_energy_reline 413Source documentation
The complex implementation agrees with the real spectral energy identity.
theorem linearNoiseOperator_energy_re (weight : F → ℝ) (f : (E →ₗ[F2] F) → ℝ) : (𝔼 X, f X * (linearNoiseOperator weight (fun Y => (f Y : ℂ)) X).re) = ∑ S : F →ₗ[F2] E, linearNoiseEigenvalue weight S * linearCoeff f S ^ 2 := by …Mentions: OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseOperator, OAI.MaxCutGames.Fourier.MatrixNoise.linearNoiseEigenvalue