"""universal_ceiling.py -- closed-form universal ceiling for shadow-map nuclear norms, derived via Cauchy-Schwarz (rank bound) + a trace identity for the Pauli correlation tensor of a pure n-qubit state. Single-party source (m=1) in n qubits: max_rho ||M_a(rho)||_* = 3 * sqrt(2^(n-2) / (2^(n-1)-1)) reproduces sqrt(6) (n=3), 6/sqrt(7) (n=4), 2.19089... (n=5) -- exactly the "common values" the paper reports numerically for GHZ_n / line_n / ring_n / connected graph states. General m-qubit cluster source S (m <= n/2): max_rho ||M_S(rho)||_* = sqrt( (2^(2m)-1)(2^n - 2^(n-2m)) / ((2^m-1)(2^(n-m)-1)) ) which reduces to the m=1 formula above, and gives exactly 5 for (n=4, m=2) -- matching the numerically found ceiling for the 2-qubit cluster maps M_AB, M_AC, M_AD. Equality holds iff (i) the m-qubit source marginal rho_S is maximally mixed (tr(rho_S^2) = 1/2^m), and (ii) the resulting shadow map has all singular values equal ("isotropic"). This ceiling is saturated not only by highly symmetric stabilizer states (GHZ_n, connected graph states) but also by simple biseparable states across an UNRELATED cut (e.g. two Bell pairs) -- which is why Phi_sym / a single ||M_S||_* cannot serve as a genuine multipartite entanglement witness on their own. """ import numpy as np def universal_ceiling(n, m): num = (2 ** (2 * m) - 1) * (2 ** n - 2 ** (n - 2 * m)) den = (2 ** m - 1) * (2 ** (n - m) - 1) return np.sqrt(num / den) def universal_ceiling_singleparty(n): return 3 * np.sqrt(2 ** (n - 2) / (2 ** (n - 1) - 1)) if __name__ == "__main__": print("Single-party (m=1) ceiling for n=3,4,5:") for n in [3, 4, 5]: print(f" n={n}: {universal_ceiling_singleparty(n):.6f} " f"(general formula gives: {universal_ceiling(n, 1):.6f})") print(" compare: sqrt(6) =", np.sqrt(6), " 6/sqrt(7) =", 6 / np.sqrt(7)) print() print("2-qubit cluster (m=2) ceiling for n=4 qubits:") print(f" {universal_ceiling(4, 2):.6f} (matches the numerically found value 5.0)")