Follow the source behind the result.
Search the paper sections, open their original context and follow the checks they actually cite. The knowledge atlas explains the result; this library locates its source.
v501_celestial_wp5d_two_interval_index.py
verification/v501_celestial_wp5d_two_interval_index.py
This is a registered verification module. Read its original code and the paper sections that cite it, then follow the linked claim to its present classification.
Read the publication code on this page
The registered Python source is shown as text. Displaying it does not execute the code.
"""v501 -- CELEST.WP5D.01: WP5d-alpha of the research contract CELEST.SEAM.01 --
"the two-interval index from the lattice", the fourth constructive milestone of
WP5 (the local-net question, alpha stage).
Python (numpy + scipy Gaussian machinery + exact Fractions for the arithmetic).
Question: the WP5d roadmap discriminator is the Kawahigashi-Longo-Mueger (KLM)
two-interval index -- (E8)_1 => mu = 1 (Haag-dual two-interval net, ONE sector);
SO(16)_1 => mu = 4. The preregistered KILL is operationalised as "the
two-interval mu-offset does NOT vanish after the condensation". This module
measures the index entropically on the seam lattice edge and anchors the
condensation arithmetic 16 -> 4 -> 1 at both measurable ends.
Setup: the v367 seam edge is 16 chiral Majorana layers (c_- = 8 = g_car +
N_fam, v489); the faithful 1d edge reduction is the critical Majorana ring
(v450 style, NS closure, c = 1/2 per layer). Everything Gaussian is EXACT via
the Peschel covariance; three two-interval prescriptions are compared:
fermionic (fixed spin structure, rho), orbifold (sector sum over the parity
group {1, P_A, P_B, P_AB}), and the dual algebra ({1, P_AB}). The
superselection identity [rho, P_AB] = 0 holds machine-exactly.
[E-machine] S0. NO FORMULA TRUSTED UNTESTED: every Gaussian formula
(covariance round trip, Peschel vN/Renyi entropies, the trace formula
ln Tr(rho1 rho2), interval parity <P_A> = +-Pf(Gamma_A), the disjoint
two-interval Renyi-2 deficit) is validated against exact
diagonalisation to <= 1.5e-15; [rho, P_AB] = 0, P_A rho P_A =
P_B rho P_B, and the 4-element parity average = (rho + P_A rho P_A)/2
are machine identities (0 exactly).
[L/N] S2. FERMIONIC MI EXTENSIVE (the mu = 1 reference): I(x) =
-(c/3) ln(1-x) with c fitted 0.5000; max |F(x)| = 5.97e-5 at N = 512
over the full x grid, and |F| falls monotonically to 1.3e-6 at
N = 1024 -- the lattice witness of Casini-Huerta extensivity for the
fixed-spin-structure prescription.
[L/N] S3. THE MU-OFFSET (core): Renyi-2 exactly Delta_2 = -ln[(1+R)/2],
R = Tr(rho P rho P)/Tr rho^2; the 16-layer seam carrier (diagonal Z2)
saturates ln 2 to MACHINE PRECISION (|Delta_2 - ln 2| = 1.1e-15 at
N = 512; R falls as N^(-0.500)); ED (N = 12..24) confirms vN and
Renyi-3/4 deficits track it (not a Renyi-2 artefact); index reading
[F : F_even] = exp(Delta_inf) = 2.000000 => mu_gauged = 4.000000 =
v490's mu_pre (TWO independent lattice witnesses: parity census there,
entropic offset here); gauging every layer separately costs 16 ln 2
-- the offset measures ln[index of the subnet], not a universal blob.
[L/N] S4. HAAG-DUALITY INDICATOR: fermionic complementarity S(E) = S(E')
to 8.2e-12 (graded-duality proxy); the orbifold BREAKS it
(D(E) - D(E') = 0.427 at a = 64 -- the direct duality-failure
witness that Even(E)' != Even(E')); the complementary-pair sum is
exchange-symmetric and bounded by ln 4 = ln mu(SO(16)_1), with max
1.2637 at the self-dual x = 1/2 and -> ln 2 at the squeezed ends:
the ln 4 KLM budget is a DOUBLE-LIMIT statement (sum of the two
one-sided ln 2 saturations), NOT a fixed-x identity -- the first
naive check "pair sum = ln 4 at fixed x" was WRONG and was replaced
by the honest budget + asymmetry pair; the dual-algebra prescription
{1, P_AB} is machine-identically defect-free.
[E] S5. CONDENSATION ARITHMETIC, LATTICE-ANCHORED: det Cartan(D5) *
det Cartan(A3) = 4 * 4 = 16 = mu(carrier); KLM/Longo-Rehren
quotients mu/|L|^2: 16/4^2 = 1 (one-step mu4 glue) and 16/2^2 = 4 ->
4/2^2 = 1 (via SO(16)_1) -- both routes exact; Sigma d_i^2
cross-checks (Ising 4, SO(16)_1 4, (E8)_1 1); theta_v =
e^{2 pi i nu/16} = 1 EXACTLY at nu = 2 c_- = 16, rivals nu = 1,2,8
give theta_v != 1. The anchored chain: mu = 1 (graded, MEASURED) ->
4 (gauged, MEASURED + v490 census) -> 1 (arithmetic, [C]: the
condensed net is interacting -- v490's honest fence).
[E/N] S6. NEGATIVE CONTROLS: (a) nu = 1 single Majorana: offset
non-trivial (Delta_2 = 0.6364 at N = 2048, rising) and theta_v =
e^{i pi/8} != 1 -- NOT removable: the KILL discriminator has teeth;
(b) trivial (dimerised) phase: c = 0, MI <= 1.3e-7, deficit <=
2.6e-8 -- the ln 2 is a property of the critical seam edge; (c)
wrong sector sum ({1, P_AB} only): offset EXACTLY 0 instead of
ln 2 -- measurably wrong bookkeeping, as preregistered.
[C] The continuum dictionary "offset = ln index" (KLM two-interval index;
Longo-Xu; Casini-Huerta-Magan-Pontello entropic order parameters)
and the condensation step itself (the theta_v = 1 simple-current
extension; the condensed (E8)_1 net is interacting, not
free-fermion computable).
[O] Continuum Haag duality, local normality, split/strong additivity of
the quotient net (WP5d-beta, running as exploration), Costello-Li
(WP5e); SEAM.EQUIV.01 stays [O], untouched; no marker moves.
Verdict: the mu = 1 indicator chain PASSES; the preregistered KILL
("mu-offset != 0 after condensation") is NOT triggered.
Status: [E] the exact arithmetic (Cartan dets, KLM quotients, Sigma d^2,
theta_v) and the machine identities; [L]/[N] the lattice curves and offsets
(Gaussian-exact formulas, ED-validated; fine type Lattice/Numerical in the
ledger); [C]/[O] as fenced above. Python; Wolfram-mirrored (the exact
arithmetic only: KLM quotients, Sigma d^2, theta_v, det Cartans -- the
numerical lattice curves stay Python-only), counted per GATE.WOLFRAM.02
convention."""
import numpy as np
from fractions import Fraction as F
from scipy.linalg import schur
import scipy.sparse as sp
from tfpt_constants import check, summary, reset, g_car, N_fam
G_CAR = g_car # 5, the carrier rank (P2)
N_FAM = N_fam # 3
MU4 = 4 # |mu4|, the seam glue order
LN2 = np.log(2.0)
# ---------------------------------------------------------------------------
# Gaussian machinery (Majorana ring, Peschel covariance, trace formulas)
# conventions: H = (i/4) c^T A c, A real antisymmetric;
# Gamma_ab = (i/2) <[c_a, c_b]> (real antisymmetric), ground state
# Gamma = i sgn(iA); eigenvalues of i Gamma are +-nu, |nu| <= 1.
# ---------------------------------------------------------------------------
def ring_A(N, t_weak=None, antiperiodic=True):
"""Majorana ring: bond j -> j+1 with coupling t_j; uniform t = 1 is the
critical chain (c = 1/2); t_weak on odd bonds dimerises (trivial gapped)."""
A = np.zeros((N, N))
for j in range(N):
t = 1.0 if (t_weak is None or j % 2 == 0) else t_weak
if j == N - 1 and antiperiodic:
t = -t
A[j, (j + 1) % N] += t
A[(j + 1) % N, j] -= t
return A
def ground_gamma(A):
w, U = np.linalg.eigh(1j * A)
G = 1j * (U * np.sign(w)) @ U.conj().T
assert np.abs(G.imag).max() < 1e-11
G = G.real
return 0.5 * (G - G.T)
def sub(G, idx):
return G[np.ix_(idx, idx)]
def S_vN(G):
lam = np.linalg.eigvalsh(1j * G)
p = np.clip((1 + lam) / 2, 1e-15, 1 - 1e-15)
return float(-0.5 * np.sum(p * np.log(p) + (1 - p) * np.log(1 - p)))
def S_R2(G):
lam = np.linalg.eigvalsh(1j * G)
return float(-0.5 * np.sum(np.log((1 + lam ** 2) / 2)))
def ln_tr_prod(G1, G2):
"""ln Tr(rho1 rho2) = (1/2) ln det(1 - G1 G2) - m ln 2 (both Gaussian)."""
n = G1.shape[0]
sign, ld = np.linalg.slogdet(np.eye(n) - G1 @ G2)
assert sign > 0, "det(1 - G1 G2) must be positive for states"
return 0.5 * ld - (n // 2) * LN2
def pfaffian(G):
"""Pf of a real antisymmetric matrix via the real Schur decomposition."""
T, Q = schur(G, output="real")
n = G.shape[0]
assert max(abs(T[i, i]) for i in range(n)) < 1e-8
pf = np.linalg.det(Q)
for i in range(0, n, 2):
pf *= T[i, i + 1]
return float(pf)
def two_interval_idx(cuts):
"""cuts = (u1, v1, u2, v2); A = [u1,v1), B = [u2,v2) as site lists."""
u1, v1, u2, v2 = cuts
return list(range(u1, v1)), list(range(u2, v2))
def chord(z, N):
return abs(np.sin(np.pi * z / N))
def cross_ratio(cuts, N):
u1, v1, u2, v2 = cuts
den = chord(u2 - u1, N) * chord(v2 - v1, N)
x = chord(v1 - u1, N) * chord(v2 - u2, N) / den
xb = chord(u2 - v1, N) * chord(v2 - u1, N) / den
return x, xb
def mi_pack(G, cuts, N):
"""fermionic vN + Renyi-2 mutual information and region entropies."""
ia, ib = two_interval_idx(cuts)
GA, GB, GAB = sub(G, ia), sub(G, ib), sub(G, ia + ib)
I1 = S_vN(GA) + S_vN(GB) - S_vN(GAB)
I2 = S_R2(GA) + S_R2(GB) - S_R2(GAB)
return I1, I2, GAB, len(ia)
def deficit2(GAB, la_maj, layers=1):
"""Renyi-2 deficit of the parity-averaged (orbifold) prescription:
Delta_2 = -ln[(1 + R^layers)/2], R = Tr(rho P_A rho P_A)/Tr rho^2."""
n = GAB.shape[0]
s = np.ones(n)
s[:la_maj] = -1.0
GS = GAB * np.outer(s, s)
lnR = ln_tr_prod(GAB, GS) - ln_tr_prod(GAB, GAB)
R = np.exp(lnR)
return float(-np.log((1 + R ** layers) / 2)), float(R)
# ---------------------------------------------------------------------------
# ED layer (Jordan-Wigner within the region; validates every formula above)
# ---------------------------------------------------------------------------
def jw_majoranas(nq):
I2 = sp.identity(2, format="csr", dtype=complex)
X = sp.csr_matrix(np.array([[0, 1], [1, 0]], complex))
Y = sp.csr_matrix(np.array([[0, -1j], [1j, 0]], complex))
Z = sp.csr_matrix(np.array([[1, 0], [0, -1]], complex))
cs = []
for k in range(nq):
for P in (X, Y):
op = None
for j in range(nq):
f = Z if j < k else (P if j == k else I2)
op = f if op is None else sp.kron(op, f, format="csr")
cs.append(op)
return cs
def gauss_rho(G, cs):
"""dense Gaussian density matrix with covariance G (2m Majoranas)."""
n = G.shape[0]
T, Q = schur(G, output="real")
assert max(abs(T[i, i]) for i in range(n)) < 1e-8
dim = cs[0].shape[0]
rho = np.eye(dim, dtype=complex)
for k in range(n // 2):
b = T[2 * k, 2 * k + 1]
d1 = sum(Q[i, 2 * k] * cs[i] for i in range(n))
d2 = sum(Q[i, 2 * k + 1] * cs[i] for i in range(n))
fac = 0.5 * (sp.identity(dim, dtype=complex, format="csr")
+ 1j * b * (d1 @ d2))
rho = rho @ fac.toarray()
return rho
def parity_first(nq_a, nq):
"""diagonal of P_A = prod Z over the first nq_a qubits."""
idx = np.arange(2 ** nq)
signs = np.ones(2 ** nq)
for j in range(nq_a):
bit = (idx >> (nq - 1 - j)) & 1
signs *= np.where(bit == 1, -1.0, 1.0)
return signs
def ed_entropies(rho):
lam = np.linalg.eigvalsh(rho)
lam = np.clip(lam.real, 0.0, 1.0)
lam = lam[lam > 1e-14]
S1 = float(-np.sum(lam * np.log(lam)))
Sn = {m: float(np.log(np.sum(lam ** m)) / (1 - m)) for m in (2, 3, 4)}
return S1, Sn
# ---------------------------------------------------------------------------
# exact Fraction determinant (Cartan matrices)
# ---------------------------------------------------------------------------
def frac_det(M):
n = len(M)
A = [[F(M[i][j]) for j in range(n)] for i in range(n)]
det = F(1)
for c in range(n):
p = next((r for r in range(c, n) if A[r][c] != 0), None)
if p is None:
return F(0)
if p != c:
A[c], A[p] = A[p], A[c]
det = -det
det *= A[c][c]
pv = A[c][c]
A[c] = [x / pv for x in A[c]]
for r in range(c + 1, n):
if A[r][c] != 0:
f = A[r][c]
A[r] = [x - f * y for x, y in zip(A[r], A[c])]
return det
def cartan_det(n, edges):
M = [[2 if i == j else 0 for j in range(n)] for i in range(n)]
for a, b in edges:
M[a - 1][b - 1] = -1
M[b - 1][a - 1] = -1
return int(frac_det(M))
# ---------------------------------------------------------------------------
# S0 -- machinery validated against ED
# ---------------------------------------------------------------------------
def section0():
print(" -- S0: Gaussian machinery validated against exact diagonalisation")
rng = np.random.default_rng(4980)
# random mixed Gaussian covariances (8 Majoranas = 4 qubits)
def rand_G(n):
O = np.linalg.qr(rng.normal(size=(n, n)))[0]
blocks = np.zeros((n, n))
for k in range(n // 2):
b = rng.uniform(-0.95, 0.95)
blocks[2 * k, 2 * k + 1] = b
blocks[2 * k + 1, 2 * k] = -b
return O @ blocks @ O.T
n = 8
cs = jw_majoranas(n // 2)
G1, G2 = rand_G(n), rand_G(n)
r1, r2 = gauss_rho(G1, cs), gauss_rho(G2, cs)
dev_tr = abs(np.trace(r1).real - 1)
lam_min = np.linalg.eigvalsh(r1).min().real
check("S0.1: Gaussian reconstruction -- Tr rho = 1 (dev %.1e), rho >= 0 "
"(min eig %.1e > -1e-12) for a random mixed covariance"
% (dev_tr, lam_min), dev_tr < 1e-10 and lam_min > -1e-12)
dev_cov = 0.0
for a in range(n):
for b in range(a + 1, n):
got = 0.5j * np.trace(r1 @ (cs[a] @ cs[b] - cs[b] @ cs[a]).toarray())
dev_cov = max(dev_cov, abs(got.real - G1[a, b]) + abs(got.imag))
check("S0.2: covariance round trip -- Gamma_ab = (i/2) Tr(rho [c_a, c_b]) "
"reproduces the input on all %d pairs to %.1e" % (n * (n - 1) // 2, dev_cov),
dev_cov < 1e-10)
S_ed, Sn_ed = ed_entropies(r1)
dev_S = abs(S_ed - S_vN(G1))
dev_S2 = abs(Sn_ed[2] - S_R2(G1))
check("S0.3: Peschel entropies -- S_vN dev %.1e, S_2 dev %.1e vs ED"
% (dev_S, dev_S2), dev_S < 1e-10 and dev_S2 < 1e-10)
lnT = ln_tr_prod(G1, G2)
lnT_ed = np.log(np.trace(r1 @ r2).real)
check("S0.4: trace formula -- ln Tr(rho1 rho2) = (1/2) ln det(1 - G1 G2) "
"- m ln 2: dev %.1e vs ED (independent random pair)"
% abs(lnT - lnT_ed), abs(lnT - lnT_ed) < 1e-10)
# parity: <P_A> vs Pf(Gamma_A) on the first 4 Majoranas
Pdiag = parity_first(2, n // 2)
pA_ed = float((np.diag(r1).real * Pdiag).sum())
GA = G1[:4, :4]
pf = pfaffian(GA)
check("S0.5: interval parity -- <P_A> (ED) = %.6f matches |Pf(Gamma_A)| = "
"%.6f up to sign (dev %.1e); Pf^2 = det to %.1e"
% (pA_ed, pf, abs(abs(pA_ed) - abs(pf)),
abs(pf ** 2 - np.linalg.det(GA))),
abs(abs(pA_ed) - abs(pf)) < 1e-10
and abs(pf ** 2 - np.linalg.det(GA)) < 1e-10)
# disjoint two-interval deficit: Gaussian formula == ED (critical ring)
N = 16
G = ground_gamma(ring_A(N))
cuts = (0, 6, 8, 14) # gaps 2 + 2, ell = 6
ia, ib = two_interval_idx(cuts)
GAB = sub(G, ia + ib)
d2_gauss, R = deficit2(GAB, len(ia))
nq = (len(ia) + len(ib)) // 2
cs2 = jw_majoranas(nq)
rho = gauss_rho(GAB, cs2)
P = parity_first(len(ia) // 2, nq)
rhoP = (P[:, None] * rho) * P[None, :]
R_ed = float(np.trace(rho @ rhoP).real / np.trace(rho @ rho).real)
d2_ed = -np.log((1 + R_ed) / 2)
check("S0.6: DISJOINT two-interval deficit -- Gaussian Delta_2 = %.10f == "
"ED Delta_2 = %.10f (dev %.1e); R = %.6f"
% (d2_gauss, d2_ed, abs(d2_gauss - d2_ed), R),
abs(d2_gauss - d2_ed) < 1e-9)
PAB = parity_first(nq, nq)
comm = np.abs(rho * PAB[None, :] - PAB[:, None] * rho).max()
PB = parity_first(nq, nq) * parity_first(len(ia) // 2, nq)
rhoPB = (PB[:, None] * rho) * PB[None, :]
dev_AB = np.abs(rhoP - rhoPB).max()
sig4 = 0.25 * (rho + rhoP + rhoPB
+ (PAB[:, None] * rho) * PAB[None, :])
sig2 = 0.5 * (rho + rhoP)
dev_42 = np.abs(sig4 - sig2).max()
check("S0.7: PARITY STRUCTURE (operator level) -- [rho_AB, P_AB] = 0 to "
"%.1e (superselection); P_A rho P_A = P_B rho P_B to %.1e; the "
"LITERAL 4-element average over {1,P_A,P_B,P_AB} equals "
"(rho + P_A rho P_A)/2 to %.1e" % (comm, dev_AB, dev_42),
comm < 1e-10 and dev_AB < 1e-10 and dev_42 < 1e-10)
return
# ---------------------------------------------------------------------------
# S1 -- chain sanity at scale
# ---------------------------------------------------------------------------
def section1(G512, N512):
print(" -- S1: critical Majorana ring sanity (N = %d)" % N512)
lam = np.linalg.eigvalsh(1j * G512)
purity = float(np.abs(np.abs(lam) - 1).max())
check("S1.1: PURITY -- eig(i Gamma) = +-1 to %.1e (exact NS ground state, "
"no zero modes on the antiperiodic ring)" % purity, purity < 1e-10)
ells = [24, 32, 48, 64, 96, 128, 160, 200]
xs = np.array([np.log((N512 / np.pi) * np.sin(np.pi * e / N512)) for e in ells])
ys = np.array([S_vN(sub(G512, list(range(e)))) for e in ells])
c_fit = 3 * np.polyfit(xs, ys, 1)[0]
check("S1.2: CALABRESE-CARDY -- single-interval fit c = %.4f = 1/2 per "
"Majorana layer (v450 route; tol 0.02)" % c_fit,
abs(c_fit - 0.5) < 0.02)
N_Maj = 2 ** (G_CAR - 1)
c_car = N_Maj * 0.5
check("S1.3: THE CARRIER -- decoupled layers are additive (block-diagonal "
"Gamma), so N_Maj = 2^(g_car-1) = %d layers give c_- = %g = "
"g_car + N_fam = %d (v367/v489/v450 consistent)"
% (N_Maj, c_car, G_CAR + N_FAM),
N_Maj == 16 and c_car == 8 and G_CAR + N_FAM == 8)
dev_pt = 0.0
for cuts in [(0, 64, 96, 200), (0, 128, 130, 300), (0, 200, 264, 500)]:
x, xb = cross_ratio(cuts, N512)
dev_pt = max(dev_pt, abs(x + xb - 1))
check("S1.4: PTOLEMY -- chord cross-ratios satisfy x + (1-x) = 1 exactly "
"(dev %.1e); the CFT reference -(c/3) ln(1-x) is well-defined"
% dev_pt, dev_pt < 1e-12)
# ---------------------------------------------------------------------------
# S2 -- fermionic two-interval MI is extensive (the mu = 1 reference)
# ---------------------------------------------------------------------------
def section2(G512, N512):
print(" -- S2: fermionic two-interval MI vs the extensive CFT curve (c = 1/2)")
configs = []
for (l, s) in [(32, 208), (48, 160), (64, 128), (96, 96), (128, 64),
(160, 32), (192, 24), (224, 16), (240, 16)]:
if 2 * l + s < N512 - 16:
configs.append((0, l, l + s, 2 * l + s))
configs.append((0, 240, 256, 496))
print(" x I_lat I_cft F(x)=I_lat-I_cft (N = %d, "
"all segments >= 16)" % N512)
Fmax = 0.0
rows = []
for cuts in configs:
x, xb = cross_ratio(cuts, N512)
I1, I2r, GAB, la = mi_pack(G512, cuts, N512)
Icft = -(0.5 / 3) * np.log(xb)
Fx = I1 - Icft
Fmax = max(Fmax, abs(Fx))
rows.append((x, I1, Icft, Fx))
for (x, I1, Icft, Fx) in sorted(rows):
print(" %.5f %8.5f %8.5f %+9.2e" % (x, I1, Icft, Fx))
check("S2.1: EXTENSIVITY [N] -- max |F(x)| = %.2e over the x grid "
"(0.03..0.997): the fixed-spin-structure (fermionic) MI follows "
"-(c/3) ln(1-x) with no universal correction (Casini-Huerta) -- "
"the mu = 1 reference curve" % Fmax, Fmax < 5e-3)
xs = np.array([-np.log(1 - r[0]) for r in rows])
ys = np.array([r[1] for r in rows])
sl, ic = np.polyfit(xs, ys, 1)
check("S2.2: c FROM MI -- slope fit I = (c/3)(-ln(1-x)) + b gives "
"c = %.4f (target 1/2, tol 0.02) with offset b = %+.4f ~ 0 "
"(no additive constant: 4 endpoint constants cancel)"
% (3 * sl, ic), abs(3 * sl - 0.5) < 0.02 and abs(ic) < 0.02)
# N convergence at fixed cross ratio (fixed fractions of the ring)
print(" fixed-x convergence (fractions ell = N/4, gap = N/8):")
devs = []
for N in [64, 128, 256, 512, 1024]:
G = G512 if N == N512 else ground_gamma(ring_A(N))
cuts = (0, N // 4, N // 4 + N // 8, N // 2 + N // 8)
x, xb = cross_ratio(cuts, N)
I1, _, _, _ = mi_pack(G, cuts, N)
Fx = I1 + (0.5 / 3) * np.log(xb)
devs.append(abs(Fx))
print(" N = %5d : x = %.6f, F = %+.3e" % (N, x, Fx))
check("S2.3: F(x) -> 0 WITH N -- |F| shrinks monotonically (%.1e -> %.1e) "
"at fixed x: extensivity is the scaling limit, not an accident"
% (devs[0], devs[-1]),
all(devs[i + 1] < devs[i] for i in range(len(devs) - 1))
and devs[-1] < 1e-3)
check("S2.4: 16-LAYER CURVE -- decoupled-layer additivity makes the seam "
"carrier MI exactly 16 x the per-layer curve: I_16 = -(8/3) ln(1-x) "
"+ 16 F(x), i.e. the c = 8 reference of v450/v489 with the SAME "
"vanishing residual (block-diagonal Gamma, exact)", True)
# ---------------------------------------------------------------------------
# S3 -- the mu-offset: sector-summed (orbifold) vs fixed prescription
# ---------------------------------------------------------------------------
def section3(G512, N512):
print(" -- S3: the two-interval mu-offset (parity sector sum vs fixed)")
# deficit curve at N = 512, single layer + 16-layer diagonal
print(" x Delta_2(1) Delta_2(16 diag) R(x) [ln 2 = %.6f]"
% LN2)
grid = [(0, 32, 240, 272), (0, 64, 160, 224), (0, 96, 128, 224),
(0, 128, 144, 272), (0, 160, 176, 336), (0, 200, 216, 416),
(0, 240, 248, 488), (0, 248, 252, 500)]
dlist = []
for cuts in grid:
x, xb = cross_ratio(cuts, N512)
ia, ib = two_interval_idx(cuts)
GAB = sub(G512, ia + ib)
d1, R = deficit2(GAB, len(ia))
d16, _ = deficit2(GAB, len(ia), layers=16)
dlist.append((x, d1, d16, R))
dlist.sort()
for (x, d1, d16, R) in dlist:
print(" %.5f %9.6f %9.6f %8.6f" % (x, d1, d16, R))
mono = all(dlist[i + 1][1] > dlist[i][1] for i in range(len(dlist) - 1))
check("S3.1: MONOTONE OFFSET [N] -- Delta_2(x) rises monotonically from "
"%.4f (x = %.3f) to %.4f (x = %.3f) toward ln 2: the sector-summed "
"prescription pays an increasing two-interval price"
% (dlist[0][1], dlist[0][0], dlist[-1][1], dlist[-1][0]), mono)
# ED: vN + Renyi-3/4 deficits track the Gaussian Renyi-2 (small N)
print(" ED (gaps 2+2): N, x, Delta_2^gauss, Delta_2^ED, Delta_vN, "
"Delta_3, Delta_4")
dev_ed = 0.0
vn_rows = []
for N in [12, 16, 20, 24]:
G = ground_gamma(ring_A(N))
l = (N - 4) // 2
cuts = (0, l, l + 2, N - 2)
x, _ = cross_ratio(cuts, N)
ia, ib = two_interval_idx(cuts)
GAB = sub(G, ia + ib)
d2g, _R = deficit2(GAB, len(ia))
nq = (len(ia) + len(ib)) // 2
cs = jw_majoranas(nq)
rho = gauss_rho(GAB, cs)
P = parity_first(len(ia) // 2, nq)
sig = 0.5 * (rho + (P[:, None] * rho) * P[None, :])
S1r, Snr = ed_entropies(rho)
S1s, Sns = ed_entropies(sig)
d2e = Sns[2] - Snr[2]
dvn = S1s - S1r
d3 = Sns[3] - Snr[3]
d4 = Sns[4] - Snr[4]
dev_ed = max(dev_ed, abs(d2g - d2e))
vn_rows.append((N, x, dvn))
print(" N = %2d : x = %.4f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f"
% (N, x, d2g, d2e, dvn, d3, d4))
check("S3.2: ED VALIDATION [N] -- the exact-diagonalisation Renyi-2 "
"deficit equals the Gaussian formula to %.1e on all four sizes "
"(the disjoint-interval construction is right)" % dev_ed,
dev_ed < 1e-9)
check("S3.3: n-INDEPENDENT DIRECTION [N] -- von Neumann and Renyi-3/4 "
"deficits rise with the Renyi-2 one (vN: %.4f -> %.4f over "
"N = 12 -> 24): the offset is not a Renyi-2 artefact"
% (vn_rows[0][2], vn_rows[-1][2]),
all(vn_rows[i + 1][2] > vn_rows[i][2] for i in range(len(vn_rows) - 1)))
# plateau convergence (gaps 2+2, ell = (N-4)/2)
print(" plateau (gaps 2+2): N, x, R, Delta_2(1), Delta_2(16 diag), "
"ln2 - Delta_2(16)")
plateau = []
for N in [128, 256, 512, 1024, 2048]:
G = G512 if N == N512 else ground_gamma(ring_A(N))
l = (N - 4) // 2
cuts = (0, l, l + 2, N - 2)
x, _ = cross_ratio(cuts, N)
ia, ib = two_interval_idx(cuts)
GAB = sub(G, ia + ib)
d1, R = deficit2(GAB, len(ia))
d16, _ = deficit2(GAB, len(ia), layers=16)
plateau.append((N, x, R, d1, d16))
print(" N = %5d : x = %.6f, R = %.5f, %9.6f, %9.6f, %.2e"
% (N, x, R, d1, d16, LN2 - d16))
p_fit = (np.log(plateau[-3][2] / plateau[-1][2])
/ np.log(plateau[-1][0] / plateau[-3][0]))
check("S3.4: SINGLE-LAYER APPROACH [N] -- R falls as N^(-p) with fitted "
"p = %.3f (Ising disorder-operator decay; slow but monotone), "
"Delta_2(1 layer) = %.4f rising toward ln 2 = %.4f"
% (p_fit, plateau[-1][3], LN2),
all(plateau[i + 1][2] < plateau[i][2] for i in range(len(plateau) - 1))
and 0.05 < p_fit < 0.6)
d16_512 = [r for r in plateau if r[0] == 512][0][4]
check("S3.5: THE SEAM CARRIER PLATEAU [N] -- the 16-layer diagonal-parity "
"deficit at N = 512 is Delta_2 = %.9f, |Delta_2 - ln 2| = %.1e: "
"the seam carrier's mu-offset saturates ln 2 to machine precision "
"(R^16 kills the finite-size tail)" % (d16_512, abs(d16_512 - LN2)),
abs(d16_512 - LN2) < 1e-9)
# per-layer gauging control: offset = 16 ln 2 (measures ln[index])
cuts = (0, 254, 256, 510)
ia, ib = two_interval_idx(cuts)
GAB = sub(G512, ia + ib)
d1, R = deficit2(GAB, len(ia))
d_per = -16 * np.log((1 + R) / 2)
check("S3.6: WHICH Z2 CONTROL [N] -- gauging EVERY layer separately "
"(Ising^16) costs %.4f -> 16 ln 2 = %.4f, vs %.6f -> ln 2 for the "
"single DIAGONAL parity: the offset measures ln[index of the "
"subnet], not a universal blob" % (d_per, 16 * LN2,
-np.log((1 + R ** 16) / 2)),
d_per > 8 * LN2)
mu_gauged = np.exp(2 * d16_512)
check("S3.7: INDEX READING -- [F : F_even] = exp(Delta_inf) = %.6f = 2, "
"so mu_gauged = exp(2 Delta_inf) = %.6f -> 4 = mu(SO(16)_1) = "
"v490's mu_pre (two INDEPENDENT lattice witnesses: parity census "
"there, entropic two-interval offset here)"
% (np.exp(d16_512), mu_gauged), abs(mu_gauged - 4) < 1e-4)
return plateau
# ---------------------------------------------------------------------------
# S4 -- Haag-duality indicator on complementary two-interval pairs
# ---------------------------------------------------------------------------
def section4(G512, N512):
print(" -- S4: Haag-duality indicator (complementary pairs E, E')")
# fermionic complementarity: S(E) = S(E') machine-exact (pure state)
dev_c = 0.0
for a in [64, 128, 192, 224]:
E = list(range(0, a)) + list(range(N512 // 2, N512 // 2 + a))
Ep = list(range(a, N512 // 2)) + list(range(N512 // 2 + a, N512))
dev_c = max(dev_c, abs(S_vN(sub(G512, E)) - S_vN(sub(G512, Ep))))
check("S4.1: GRADED COMPLEMENTARITY [N] -- S(E) = S(E') to %.1e for all "
"complementary two-interval pairs (pure global state; the graded "
"CAR net has no two-interval entropy asymmetry: mu_graded = 1 "
"reference)" % dev_c, dev_c < 1e-8)
# orbifold defect pair D(E), D(E') across complementary pairs, 16 layers
print(" a x(E) D16(E) D16(E') sum asym "
"[ln 4 = %.6f]" % np.log(4.0))
rows = {}
for a in [16, 32, 64, 96, 128, 160, 192, 224, 240]:
cutsE = (0, a, N512 // 2, N512 // 2 + a)
cutsEp = (a, N512 // 2, N512 // 2 + a, N512)
x, xb = cross_ratio(cutsE, N512)
dE = deficit2(sub(G512, sum(two_interval_idx(cutsE), [])), a,
layers=16)[0]
dEp = deficit2(sub(G512, sum(two_interval_idx(cutsEp), [])),
N512 // 2 - a, layers=16)[0]
rows[a] = (x, dE, dEp)
print(" %3d %.5f %8.6f %8.6f %8.6f %+8.6f"
% (a, x, dE, dEp, dE + dEp, dE - dEp))
sym_dev = max(abs((rows[a][1] + rows[a][2])
- (rows[N512 // 2 - a][1] + rows[N512 // 2 - a][2]))
for a in [16, 32, 64, 96])
sums = {a: r[1] + r[2] for a, r in rows.items()}
check("S4.2: EXCHANGE SYMMETRY + BUDGET [N] -- the pair sum is "
"E <-> E' symmetric (a <-> N/2 - a, dev %.1e); every sum obeys "
"D(E) + D(E') <= ln 4 = ln mu(SO(16)_1) (max %.4f at the "
"self-dual x = 1/2), and the sum -> ln 2 at the squeezed ends: "
"the ln 4 KLM budget is the sum of the TWO one-sided saturation "
"limits (each ln 2, S3.5) -- a double-limit statement, not a "
"fixed-x identity"
% (sym_dev, sums[128]),
sym_dev < 1e-6
and all(s < np.log(4) + 1e-9 for s in sums.values())
and max(sums, key=lambda a: sums[a]) == 128
and abs(sums[16] - LN2) < 0.02
and abs(sums[240] - LN2) < 0.02)
asym = abs(rows[64][1] - rows[64][2])
check("S4.2b: COMPLEMENTARITY ASYMMETRY [N] -- the even (orbifold) "
"algebra FAILS pure-state complementarity: S_even(E) - S_even(E') "
"= D(E) - D(E') = %.4f at a = 64 (vs fermionic asymmetry < 1e-8, "
"S4.1): the direct lattice witness that Even(E)' != Even(E') -- "
"two-interval duality fails for the additive orbifold algebra "
"while the graded CAR net passes" % asym,
asym > 0.3 and abs(rows[128][1] - rows[128][2]) < 1e-9)
# the dual-algebra prescription {1, P_AB} is defect-free (machine)
cuts = (0, 128, 256, 384)
ia, ib = two_interval_idx(cuts)
GAB = sub(G512, ia + ib)
s_ab = -np.ones(GAB.shape[0])
GS_ab = GAB * np.outer(s_ab, s_ab)
dev_dual = np.abs(GS_ab - GAB).max()
check("S4.3: DUAL ALGEBRA IS FREE [E-machine] -- averaging over "
"{1, P_AB} leaves rho invariant (flip of ALL Majoranas: "
"|S G S - G| = %.1e = 0 exactly): the Haag-DUAL two-interval "
"algebra (even (x) even + odd (x) odd) carries the fermionic "
"entropy; the defect lives entirely in the ADDITIVE algebra"
% dev_dual, dev_dual < 1e-15)
sA = np.ones(GAB.shape[0]); sA[:len(ia)] = -1
sB = np.ones(GAB.shape[0]); sB[len(ia):] = -1
dev_ab = np.abs(GAB * np.outer(sA, sA) - GAB * np.outer(sB, sB)).max()
check("S4.4: P_A vs P_B [E-machine] -- the A-flip and B-flip covariances "
"coincide (dev %.1e) because [rho, P_AB] = 0: the 4-element parity "
"average {1,P_A,P_B,P_AB} = the 2-element {1,P_A} average, i.e. "
"exactly ONE extra classical bit -- the ln 2" % dev_ab,
dev_ab < 1e-15)
check("S4.5: OPERATIONAL KLM READING [C] -- Haag duality of the "
"two-interval algebra fails by index mu (KLM); entropically: the "
"additive-algebra defect saturates (1/2) ln mu = ln 2 per region "
"(Longo-Xu / CHMP dictionary), so the complementary pair carries "
"the full ln mu = ln 4 in the double limit; measured: fermionic 0 "
"(mu = 1), 16-layer orbifold ln 2 per side + duality asymmetry "
"(S4.2b); the continuum-net statement itself stays [O] "
"(WP5d-beta)", True)
# ---------------------------------------------------------------------------
# S5 -- condensation arithmetic 16 -> 4 -> 1, anchored at the lattice ends
# ---------------------------------------------------------------------------
def section5(plateau):
print(" -- S5: KLM/Longo-Rehren condensation arithmetic, lattice-anchored")
detD5 = cartan_det(5, [(1, 2), (2, 3), (3, 4), (3, 5)])
detA3 = cartan_det(3, [(1, 2), (2, 3)])
detD8 = cartan_det(8, [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (6, 8)])
detE8 = cartan_det(8, [(1, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (2, 4)])
mu_car = detD5 * detA3
check("S5.1: CARTAN DETS [E] -- det(D5) * det(A3) = %d * %d = %d = "
"mu(carrier); det(D8) = %d = mu(SO(16)_1); det(E8) = %d = mu(E8_1) "
"(v378 replication, exact Fractions)"
% (detD5, detA3, mu_car, detD8, detE8),
mu_car == 16 and detD8 == 4 and detE8 == 1)
mu_e8 = F(mu_car, MU4 ** 2)
mu_so16 = F(mu_car, 2 ** 2)
mu_2step = F(int(mu_so16), 2 ** 2)
check("S5.2: KLM/LONGO-REHREN QUOTIENTS [E] -- mu/|L|^2: 16/4^2 = %s "
"(|L| = |mu4| = 4, one step to E8), 16/2^2 = %s (SO(16)_1), then "
"4/2^2 = %s (the theta_v = 1 simple current): both routes land on "
"mu = 1, the 16 -> 4 -> 1 chain" % (mu_e8, mu_so16, mu_2step),
mu_e8 == 1 and mu_so16 == 4 and mu_2step == 1)
mu_ising = 1 + 1 + 2 # d = (1, 1, sqrt(2)), Sigma d^2
mu_so16_s = 4 * 1 # (1, v, s, c), all d = 1
check("S5.3: SIGMA d^2 CROSS-CHECK [E] -- KLM mu = Sigma d_i^2: Ising "
"1 + 1 + 2 = %d; SO(16)_1 four abelian sectors = %d; (E8)_1 one "
"sector = 1: the measured lattice offsets (0 and ln 2 -> mu = 1 "
"and 4) match the category data" % (mu_ising, mu_so16_s),
mu_ising == 4 and mu_so16_s == 4)
nu = 2 * (G_CAR + N_FAM)
rivals = [(1, F(1, 16)), (2, F(2, 16)), (8, F(8, 16))]
riv_ok = all(frac % 1 != 0 for _n, frac in rivals)
check("S5.4: CONDENSABILITY [E] -- theta_v = e^{2 pi i nu/16} with "
"nu = 2 c_- = %d gives nu/16 = %s integer => theta_v = 1 (boson, "
"condensable, v490); rivals nu = 1, 2, 8 give non-integer nu/16 "
"=> theta_v != 1" % (nu, F(nu, 16)),
nu == 16 and F(nu, 16) % 1 == 0 and riv_ok)
d16_512 = [r for r in plateau if r[0] == 512][0][4]
mu_meas = np.exp(2 * d16_512)
check("S5.5: THE ANCHORED CHAIN -- measured mu(graded fermion) = "
"exp(2*0) = 1 [N]; measured mu(gauged) = exp(2 Delta_inf) = %.4f "
"-> 4 [N] (= v490 census); mu(after the theta_v = 1 extension) = "
"4/2^2 = 1 [C: the condensed net is interacting, not free-fermion "
"computable -- v490's honest fence]: the lattice pins BOTH ends "
"(1 and 4), the arithmetic closes the middle" % mu_meas,
abs(mu_meas - 4) < 1e-4)
# ---------------------------------------------------------------------------
# S6 -- negative controls
# ---------------------------------------------------------------------------
def section6(G512, N512, plateau):
print(" -- S6: negative controls (the offset must have teeth)")
# (a) nu = 1 single Majorana: offset present and NOT removable
d1_2048 = [r for r in plateau if r[0] == 2048][0][3]
theta_frac = F(1, 16)
check("S6.1: nu = 1 CONTROL [N/E] -- the single-layer offset is "
"Delta_2 = %.4f > 0.5 at N = 2048 (rising toward ln 2, S3.4): a "
"NON-trivial mu-offset; and theta_v = e^{2 pi i/16} != 1 "
"(nu/16 = %s not integer): the Ising-class edge has NO bosonic "
"condensation channel -- mu = 4 cannot be removed, fusion stays "
"non-trivial (the KILL discriminator has teeth)"
% (d1_2048, theta_frac),
d1_2048 > 0.5 and theta_frac % 1 != 0)
# (b) trivial (dimerised) phase: everything 0
Nt = 512
Gt = ground_gamma(ring_A(Nt, t_weak=0.2))
ells = [24, 32, 48, 64, 96, 128]
xs = np.array([np.log((Nt / np.pi) * np.sin(np.pi * e / Nt)) for e in ells])
ys = np.array([S_vN(sub(Gt, list(range(e)))) for e in ells])
c_triv = 3 * np.polyfit(xs, ys, 1)[0]
mi_max = 0.0
dmax = 0.0
for cuts in [(0, 64, 128, 192), (0, 128, 160, 288), (0, 240, 248, 488)]:
I1, _, GAB, la = mi_pack(Gt, cuts, Nt)
d2t, _ = deficit2(GAB, la, layers=16)
mi_max = max(mi_max, abs(I1))
dmax = max(dmax, abs(d2t))
check("S6.2: TRIVIAL PHASE CONTROL [N] -- dimerised (gapped, M = 3 "
"stand-in) chain: c_fit = %.5f ~ 0, max |I(A,B)| = %.1e, max "
"16-layer deficit = %.1e: no conformal growth, no mu-offset -- "
"the ln 2 is a property of the CRITICAL seam edge, not of the "
"prescription" % (c_triv, mi_max, dmax),
abs(c_triv) < 0.01 and mi_max < 1e-6 and dmax < 1e-6)
# (c) wrong sector sum: {1, P_AB} only (2 of 4 structures)
cuts = (0, 254, 256, 510)
ia, ib = two_interval_idx(cuts)
GAB = sub(G512, ia + ib)
d_right, _ = deficit2(GAB, len(ia), layers=16)
s_ab = -np.ones(GAB.shape[0])
dev = np.abs(GAB * np.outer(s_ab, s_ab) - GAB).max()
d_wrong = 0.0 if dev < 1e-15 else np.nan
check("S6.3: WRONG SECTOR SUM CONTROL [N/E-machine] -- averaging over "
"only {1, P_AB} (2 of 4 parity structures) gives offset %.6f "
"EXACTLY (machine identity S4.3), vs the correct 4-element sum "
"%.6f = ln 2: the bookkeeping shifts the offset by the full ln 2 "
"-- measurably wrong, as preregistered"
% (d_wrong, d_right),
d_wrong == 0.0 and abs(d_right - LN2) < 1e-6)
# ---------------------------------------------------------------------------
# S7 -- honest typing + verdict
# ---------------------------------------------------------------------------
def section7():
print(" -- S7: verdict against the WP5d roadmap criteria")
check("S7.1 [E]: exact ingredients -- Cartan dets (16, 4, 1), the "
"KLM/Longo-Rehren quotients 16/4^2 = 4/2^2 = 1, Sigma d_i^2 "
"(4, 4, 1), theta_v = 1 at nu = 16 vs rivals, Ptolemy, and the "
"machine identities (dual algebra defect-free, P_A = P_B "
"average, [rho, P_AB] = 0)", True)
check("S7.2 [N]: lattice witnesses -- fermionic extensivity F(x) -> 0 "
"(mu = 1 reference); the sector-summed offset rising to ln 2 "
"(seam carrier: |Delta - ln 2| < 1e-14 at N = 512); the "
"complementary-pair budget ln 4 = ln mu(SO(16)_1) + the duality "
"asymmetry witness; ED validation of every Gaussian formula; "
"vN/Renyi-3/4 tracking; the ln[index] scaling (16 ln 2 for "
"per-layer gauging)", True)
check("S7.3 [C]/[O]: honest fences -- the dictionary 'offset = ln index' "
"is the cited continuum theorem package (KLM two-interval index; "
"Longo-Xu; CHMP entropic order parameters); the condensed (E8)_1 "
"net itself is interacting (not free-fermion computable, v490 "
"fence): its offset-0 statement is ARITHMETIC anchored at both "
"lattice ends, not a direct measurement; continuum Haag duality, "
"local normality, split/strong additivity of the quotient net = "
"WP5d-beta, Costello-Li = WP5e -- all stay [O]; SEAM.EQUIV.01 "
"untouched, no marker moves", True)
# ---------------------------------------------------------------------------
def run():
reset()
print("v501 CELEST.WP5D.01: the two-interval index from the lattice "
"(WP5d-alpha of CELEST.SEAM.01)")
print(" model: critical Majorana ring (NS), c = 1/2 per layer; seam "
"carrier = 16 layers, c_- = 8")
section0()
N512 = 512
G512 = ground_gamma(ring_A(N512))
section1(G512, N512)
section2(G512, N512)
plateau = section3(G512, N512)
section4(G512, N512)
section5(plateau)
section6(G512, N512, plateau)
section7()
return summary("v501 CELEST.WP5D.01: the mu = 1 indicator chain passes. Fermionic "
"two-interval MI extensive (c fit 0.5000, max |F| = 6e-5 at N = 512, "
"falling with N: the mu = 1 reference); the sector-summed (orbifold / "
"SO(16)-class) prescription pays exactly one classical bit -- the "
"16-layer seam carrier saturates Delta_2 = ln 2 to machine precision "
"(1.1e-15 at N = 512) -- so [F : F_even] = 2 and mu_gauged = 4 = "
"v490's parity census (two independent lattice witnesses); the "
"complementary-pair budget is bounded by ln 4 = ln mu(SO(16)_1) "
"(double-limit statement) and the orbifold breaks S(E) = S(E') "
"(duality-failure witness). Condensation arithmetic anchored: "
"det Cartan(D5) x det Cartan(A3) = 16, KLM 16/4^2 = 4/2^2 = 1, "
"Sigma d^2 = (4, 4, 1), theta_v = 1 exactly at nu = 16 (rivals != 1): "
"mu = 1 after condensation -- KILL not triggered. Controls: nu = 1 "
"offset non-removable, trivial phase all zero, wrong sector sum "
"loses the full ln 2. Open (WP5d-beta/WP5e): continuum Haag duality / "
"local normality / split of the quotient net, Costello-Li. "
"SEAM.EQUIV.01 untouched")
if __name__ == "__main__":
raise SystemExit(1 if run() else 0)
Recorded source fingerprint
095d5c6f98b6c8eb0f0187a3d9dc01a1625945fbe3aee8b925fc6e4dd92b0c0b
Paper sections that cite this module
What this source index covers
The public registry includes 116 document views, 6,693 section records and 985 physical LaTeX sources. Active publication documents, research material and archives retain their recorded roles. This is source navigation, not a new semantic review or proof run.