Boundary incidence and the positive-side Gram matrix #
Section 11.1 of bs_lambda.txt splits the vertex set of the sensitivity graph G_f into the
positive inputs S = f⁻¹(1) and the negative inputs T = f⁻¹(0). The graph is bipartite
between S and T, with biadjacency matrix M (BSLambda.biadj), so that in the vertex
order S, T
A_f = [ 0 M ]
[ Mᵀ 0 ]
and lambda(f)^2 = rho(K) for the positive-side Gram matrix K = M Mᵀ (BSLambda.gram).
We prove the inequality half of that identity, which is all the later sections need:
BSLambda.lam_sq_le_l2_opNorm_gram : lam f ^ 2 ≤ ‖gram f‖.
Adapted for Lean Pool from Timeroot/BS_Lam at commit
7bd39a8d41ee7910d3296d0477ad18f8fff9d870; ported to Lean Pool with proof and dependency cleanup.
The two sides and the biadjacency matrix #
The biadjacency matrix M of the sensitivity graph, rows indexed by S,
columns by T (Section 11.1).
Equations
- BSLambda.biadj f = Matrix.of fun (x : BSLambda.Ones f) (z : BSLambda.Zeros f) => if hammingDist ↑x ↑z = 1 then 1 else 0
Instances For
The positive-side Gram matrix K = M Mᵀ (Section 11.1).
Equations
- BSLambda.gram f = BSLambda.biadj f * (BSLambda.biadj f).transpose
Instances For
The positive-side Gram matrix #
A Gram entry is nonzero exactly when the two positive inputs have a common negative
Hamming neighbour: gram_apply with the cardinality turned into an existential
(Section 11.1).
The Gram matrix of Section 11.1 has nonnegative entries.
The Gram matrix K = M Mᵀ of Section 11.1 is symmetric.
The block decomposition of the adjacency matrix #
The Ones f rows of the block decomposition of A_f: at a positive input, A_f *ᵥ v sees
only the negative coordinates of v, and there it is governed by M (Section 11.1).
The Zeros f rows of the block decomposition of A_f: at a negative input, A_f *ᵥ v sees
only the positive coordinates of v, and there it is governed by Mᵀ (Section 11.1).