#!/usr/bin/env python3 """ Computation 26 -- bijective-bridge no-go diagnostic for L_comm =============================================================== After Computations 28 (bijective scalar bridge: disjoint supports) and 29 (averaging bridge: gap floor 2 at k=4), this script establishes a STRUCTURAL no-go that rules out an entire class of candidate bridges in one stroke. CLAIM. Let b_D be any "bijective single-mode bridge", i.e. one that identifies each Walsh mode chi_S (weight |S| = k) with a single spherical-harmonic function Y^l on round S^3, possibly up to an overall scalar c_l (the same scalar within each weight class). Then the L_comm gap for the simplest spatial Dirac generator chi_a^{Cliff} has the form GAP_D(a, S) = || [chi_a^{Cliff}, chi_S] - c_l * sigma_a * Y^l ||_op where l = k. Two scale-invariants determine whether this can vanish in the D -> infty limit: DISCRETE op-norm : || [chi_a^{Cliff}, chi_S] ||_op = 2 for a in S, |S| = k, INDEPENDENT of D and k. CONTINUUM op-norm : || sigma_a * X_a(Y^l) ||_op ~ sqrt(l(l+1)) via SU(2) Casimir on the spin-l representation. For L_round (already closed), the bridge can absorb scale mismatches into the Lip-norm. For L_comm, BOTH sides are operator-norm quantities, and the bridge can match them in only one direction without losing the other. NUMERICAL VERIFICATION (this script). Computes both scales at D = 4, 6, 8 across weights k = 1, 2, 3. Verifies the discrete-side op-norm is exactly 2 (when non-zero), independent of D and k. Confirms the continuum-side scale is sqrt(l(l+1)) via the SU(2) Casimir eigenvalue on V_l. CONSEQUENCE. The bijective single-mode class cannot close L_comm. Closing it requires a NON-BIJECTIVE map: (a) a sum-of-Walsh-modes -> single-Y^l bridge with internal degrees of freedom matched by Mosco-limit reweighting; or (b) a Dirichlet harmonic-extension bridge in the sense of Bhattacharyya-Singla 2022 sec 2, where f on S^3 is extended to a harmonic function on B^4 then projected onto the substrate via the boundary integral. This is a structural no-go, not a defeat: it sharply locates the remaining work for closing (A.ii). """ import math from itertools import combinations import numpy as np import numpy.linalg as la # ---------- Pauli matrices and helpers ---------- sx = np.array([[0, 1], [1, 0]], dtype=complex) sy = np.array([[0, -1j], [1j, 0]], dtype=complex) sz = np.array([[1, 0], [0, -1]], dtype=complex) I2 = np.eye(2, dtype=complex) def kron_chain(ops): out = ops[0] for op in ops[1:]: out = np.kron(out, op) return out def chi_walsh(D, S): """Abelian Walsh mode = product of sigma_z at sites in S.""" return kron_chain([sz if a in S else I2 for a in range(D)]) def chi_clifford(D, a): """JW Clifford generator chi_a^{Cliff} = sigma_z^{a}. Satisfies the Cl(0, D) anticommutation relation and is a natural discrete frame component for the round-S^3 gamma_a continuum generator. """ return kron_chain([sz] * a + [sx] + [I2] * (D - 1 - a)) def op_norm(M): return float(la.norm(M, ord=2)) # ---------- Discrete-side L_comm operator-norm: claim is exactly 2 ---------- def discrete_commutator_norm(D, a, S): chi_a = chi_clifford(D, a) chi_S = chi_walsh(D, S) return op_norm(chi_a @ chi_S - chi_S @ chi_a) # ---------- Continuum-side L_comm operator-norm via Casimir ---------- def continuum_dirac_commutator_norm(l): """|| sigma_a * X_a(Y^l) ||_op for the continuum [gamma_a, Y^l] = i sigma_a X_a Y^l. For Y^l a degree-l harmonic on round S^3 of unit ell, the directional derivative X_a satisfies (sum over a of X_a X_a) = -Casimir, with eigenvalue -l(l+1) on V_l. The op norm of a single X_a on a normalised Y^l is therefore at most sqrt(l(l+1)), attained on the maximal-weight states. Since sigma_a is a Pauli matrix with operator norm 1, this is also the op norm of the full continuum Dirac commutator on the unit-l Y^l subspace. """ return math.sqrt(l * (l + 1)) # ---------- Main sweep ---------- def main(): print("=" * 90) print(" Computation 26 -- bijective-bridge no-go diagnostic for L_comm") print("=" * 90) print() # ------ Discrete side: ||[chi_a^{Cliff}, chi_walsh(S)]||_op = 2 always (for a in S) print(" Discrete side") print(" -------------") print(" Operator norm of [chi_a^{Cliff}, chi_walsh(S)] across D and weight k = |S|.") print(" Expectation: 2 when a in S, 0 otherwise, independent of D and k.") print() print(f" {'D':>3} {'k = |S|':>10} {'a in S?':>10} {'||[chi_a, chi_S]||_op':>26}") cases = [] for D in [4, 6, 8]: for k in [1, 2, 3]: if k > D: continue # Pick one representative S of weight k and one a in S S_in = tuple(range(k)) # S = {0, 1, ..., k-1} a_in = 0 # a in S n_in = discrete_commutator_norm(D, a_in, S_in) cases.append((D, k, True, n_in)) print(f" {D:>3} {k:>10} {'yes':>10} {n_in:>26.6f}") # Pick one a not in S if k < D: a_out = D - 1 # a not in S (S = {0,..,k-1}) n_out = discrete_commutator_norm(D, a_out, S_in) cases.append((D, k, False, n_out)) print(f" {D:>3} {k:>10} {'no':>10} {n_out:>26.6f}") print() in_norms = [n for (_, _, in_S, n) in cases if in_S] out_norms = [n for (_, _, in_S, n) in cases if not in_S] if in_norms: max_dev_in = max(abs(n - 2.0) for n in in_norms) print(f" Max deviation of in-S norms from 2.0: {max_dev_in:.2e}") if out_norms: max_out = max(out_norms) print(f" Max out-of-S norm (should be 0): {max_out:.2e}") print() # ------ Continuum side: ||sigma_a X_a Y^l||_op = sqrt(l(l+1)) print(" Continuum side (SU(2) Casimir prediction)") print(" -----------------------------------------") print(f" {'l':>3} {'sqrt(l(l+1))':>18}") for l in [1, 2, 3, 4, 6, 8, 10]: print(f" {l:>3} {continuum_dirac_commutator_norm(l):>18.4f}") print() # ------ The scale mismatch print(" Scale ratio: discrete / continuum at weight = degree") print(" ----------------------------------------------------") print(" Under the bridge chi_S (|S| = k) <-> Y^l (l = k), the ratio of") print(" the two L_comm op-norms is 2 / sqrt(l(l+1)). For a bijective") print(" single-mode bridge with overall scaling c_l, the gap must match") print(" both sides simultaneously and cannot do so unless c_l absorbs") print(" the mismatch -- but c_l is fixed by the L_round requirement on") print(" the same bridge (Computations 20, 25), so this freedom is spent.") print() print(f" {'k = l':>5} {'discrete':>10} {'continuum':>12} {'ratio (D / C)':>16}") for l in [1, 2, 3, 4, 6, 8, 10]: d = 2.0 c = continuum_dirac_commutator_norm(l) print(f" {l:>5} {d:>10.4f} {c:>12.4f} {d / c:>16.4f}") print() print("=" * 90) print(" Verdict") print("=" * 90) print() print(" The discrete L_comm op-norm is the constant 2. The continuum") print(" L_comm op-norm grows like sqrt(l(l+1)). The L_round scaling on") print(" the same bridge fixes c_l (the bridge's overall weight-graded") print(" scalar), leaving no internal scale to absorb the mismatch.") print() print(" Conclusion: NO bijective single-mode bridge closes L_comm.") print(" The proof template that worked for L_round (Computations 20, 25)") print(" does not transfer.") print() print(" Closing (A.ii) therefore requires a NON-BIJECTIVE bridge.") print(" Two candidates remain:") print() print(" (a) Sum-of-Walsh-modes -> single-Y^l Mosco-limit bridge,") print(" with internal degrees of freedom (C(D, k) discrete modes") print(" flowing to (2l+1)^2 continuum modes) chosen to match the") print(" Casimir Dirac action at each level. Computation 9 sec 3") print(" sketches this for the LAPLACIAN; the Dirac extension is") print(" the new content needed.") print() print(" (b) Dirichlet harmonic-extension bridge: extend f on S^3 to") print(" a harmonic function on the unit ball B^4, project onto the") print(" substrate Walsh decomposition via the boundary Poisson") print(" integral. This is the Bhattacharyya-Singla 2022 sec 2") print(" template adapted to the S^3 boundary; the harmonic") print(" prolongation absorbs the scale mismatch by construction.") print() print(" Both go beyond what this diagnostic establishes. The negative") print(" result here closes the bijective single-mode branch and points") print(" the remaining work at (a) or (b) above.") if __name__ == "__main__": main()