From f2b667d587d8429567a3eff03749cc6dc977f463 Mon Sep 17 00:00:00 2001 From: MatShep Date: Mon, 26 Oct 2026 07:48:24 +1000 Subject: [PATCH] Certify sharp two-qubit Clifford tensor threshold and conditioning --- .../CERTIFICATE.json | 503 ++++++++++++++++++ .../full-clifford-two-qubit-centre/NOTICE.md | 35 ++ .../full-clifford-two-qubit-centre/PROOF.md | 200 +++++++ .../full-clifford-two-qubit-centre/README.md | 91 ++++ .../RESULT.json | 56 ++ .../SOURCES.json | 18 + .../full-clifford-two-qubit-centre/TASK.json | 95 ++++ .../VERIFY.json | 33 ++ .../full-clifford-two-qubit-centre/verify.py | 288 ++++++++++ 9 files changed, 1319 insertions(+) create mode 100644 research/full-clifford-two-qubit-centre/CERTIFICATE.json create mode 100644 research/full-clifford-two-qubit-centre/NOTICE.md create mode 100644 research/full-clifford-two-qubit-centre/PROOF.md create mode 100644 research/full-clifford-two-qubit-centre/README.md create mode 100644 research/full-clifford-two-qubit-centre/RESULT.json create mode 100644 research/full-clifford-two-qubit-centre/SOURCES.json create mode 100644 research/full-clifford-two-qubit-centre/TASK.json create mode 100644 research/full-clifford-two-qubit-centre/VERIFY.json create mode 100644 research/full-clifford-two-qubit-centre/verify.py diff --git a/research/full-clifford-two-qubit-centre/CERTIFICATE.json b/research/full-clifford-two-qubit-centre/CERTIFICATE.json new file mode 100644 index 0000000000..3af757a6f7 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/CERTIFICATE.json @@ -0,0 +1,503 @@ +{ + "format": "two-qubit-clifford-centre-v1", + "group_size": 46080, + "projective_size": 11520, + "group_int8_sha256": "54ee7b64cf84bd048d7e83640bb0ac61f54dd79f0c8e2f4e18c485123d701baf", + "class_labels_u32le_sha256": "3d4c858543c165cbbb5fe96d369e40204a947e4c41d2431c17c449c317159472", + "class_sizes": [1,30,60,30,160,180,180,720,30,240,360,960,960,720,720,1920,160,30,1440,960,640,2304,360,720,2880,240,1920,720,60,60,960,2880,720,1920,160,960,640,720,180,1,360,2304,720,180,2304,30,1920,960,1920,720,1920,60,160,640,2304,1,30,640,1], + "representatives": [ + [[[2,0,0,0],[0,2,0,0],[0,0,2,0],[0,0,0,2]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[2,0,0,0],[0,2,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,2,0],[0,0,0,2]]], + [[[2,0,0,0],[0,2,0,0],[0,0,0,2],[0,0,2,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[2,0,0,0],[0,2,0,0],[0,0,-2,0],[0,0,0,-2]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[1,0,1,0],[0,1,0,1],[1,0,-1,0],[0,1,0,-1]],[[1,0,-1,0],[0,1,0,-1],[1,0,1,0],[0,1,0,1]]], + [[[2,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,-2]],[[0,0,0,0],[0,2,0,0],[0,0,2,0],[0,0,0,0]]], + [[[2,0,0,0],[0,2,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,2],[0,0,2,0]]], + [[[1,0,0,1],[0,1,1,0],[1,0,0,1],[0,1,1,0]],[[1,0,0,-1],[0,1,-1,0],[-1,0,0,1],[0,-1,1,0]]], + [[[2,0,0,0],[0,2,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,-2,0],[0,0,0,-2]]], + [[[1,0,1,0],[0,1,0,1],[-1,0,-1,0],[0,-1,0,-1]],[[1,0,-1,0],[0,1,0,-1],[1,0,-1,0],[0,1,0,-1]]], + [[[2,0,0,0],[0,0,0,0],[0,0,-2,0],[0,0,0,0]],[[0,0,0,0],[0,2,0,0],[0,0,0,0],[0,0,0,-2]]], + [[[1,0,1,0],[0,-1,0,1],[1,0,-1,0],[0,-1,0,-1]],[[1,0,-1,0],[0,1,0,1],[1,0,1,0],[0,1,0,-1]]], + [[[1,0,0,1],[0,1,1,0],[1,0,0,-1],[0,1,-1,0]],[[1,0,0,-1],[0,1,-1,0],[1,0,0,1],[0,1,1,0]]], + [[[2,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,-2,0]],[[0,0,0,0],[0,2,0,0],[0,0,0,2],[0,0,0,0]]], + [[[0,0,0,2],[0,0,2,0],[2,0,0,0],[0,2,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[1,0,0,1],[0,-1,1,0],[1,0,0,1],[0,1,-1,0]],[[1,0,0,-1],[0,1,1,0],[-1,0,0,1],[0,1,1,0]]], + [[[1,0,1,0],[0,1,0,1],[-1,0,1,0],[0,-1,0,1]],[[1,0,-1,0],[0,1,0,-1],[-1,0,-1,0],[0,-1,0,-1]]], + [[[0,0,2,0],[0,0,0,2],[-2,0,0,0],[0,-2,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[1,0,1,0],[0,-1,0,1],[-1,0,-1,0],[0,-1,0,1]],[[1,0,-1,0],[0,1,0,1],[1,0,-1,0],[0,-1,0,-1]]], + [[[1,1,0,0],[1,-1,0,0],[0,0,-1,-1],[0,0,-1,1]],[[1,-1,0,0],[1,1,0,0],[0,0,-1,1],[0,0,-1,-1]]], + [[[0,1,1,0],[0,-1,1,0],[0,1,-1,0],[0,-1,-1,0]],[[1,0,0,-1],[1,0,0,1],[1,0,0,1],[1,0,0,-1]]], + [[[1,0,0,1],[0,-1,1,0],[1,0,0,-1],[0,-1,-1,0]],[[1,0,0,-1],[0,1,1,0],[1,0,0,1],[0,1,-1,0]]], + [[[2,0,0,0],[0,-2,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,2],[0,0,-2,0]]], + [[[1,0,0,1],[0,1,1,0],[1,0,0,1],[0,1,1,0]],[[-1,0,0,1],[0,-1,1,0],[1,0,0,-1],[0,1,-1,0]]], + [[[0,0,0,2],[0,0,0,0],[2,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,2,0],[0,0,0,0],[0,2,0,0]]], + [[[0,0,2,0],[0,0,0,2],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[-2,0,0,0],[0,-2,0,0]]], + [[[0,1,1,0],[0,-1,1,0],[-1,0,0,-1],[-1,0,0,1]],[[1,0,0,-1],[1,0,0,1],[0,1,-1,0],[0,-1,-1,0]]], + [[[0,1,0,1],[1,0,1,0],[-1,0,-1,0],[0,-1,0,-1]],[[1,0,-1,0],[0,1,0,-1],[0,1,0,-1],[1,0,-1,0]]], + [[[0,0,1,1],[0,0,1,1],[-1,-1,0,0],[-1,-1,0,0]],[[1,-1,0,0],[-1,1,0,0],[0,0,1,-1],[0,0,-1,1]]], + [[[0,2,0,0],[2,0,0,0],[0,0,-2,0],[0,0,0,-2]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[1,0,0,1],[0,1,1,0],[-1,0,0,1],[0,-1,1,0]],[[-1,0,0,1],[0,-1,1,0],[1,0,0,1],[0,1,1,0]]], + [[[0,0,0,2],[0,0,0,0],[0,0,0,0],[0,-2,0,0]],[[0,0,0,0],[0,0,2,0],[2,0,0,0],[0,0,0,0]]], + [[[2,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,2,0]],[[0,0,0,0],[0,-2,0,0],[0,0,0,2],[0,0,0,0]]], + [[[1,0,0,1],[0,1,-1,0],[1,0,0,1],[0,-1,1,0]],[[-1,0,0,1],[0,1,1,0],[1,0,0,-1],[0,1,1,0]]], + [[[1,0,1,0],[0,1,0,1],[1,0,-1,0],[0,1,0,-1]],[[-1,0,1,0],[0,-1,0,1],[-1,0,-1,0],[0,-1,0,-1]]], + [[[1,0,1,0],[0,-1,0,-1],[-1,0,1,0],[0,1,0,-1]],[[1,0,-1,0],[0,-1,0,1],[-1,0,-1,0],[0,1,0,1]]], + [[[0,1,1,0],[0,-1,1,0],[0,-1,1,0],[0,1,1,0]],[[1,0,0,-1],[1,0,0,1],[-1,0,0,-1],[-1,0,0,1]]], + [[[0,0,1,1],[0,0,1,1],[0,0,-1,1],[0,0,1,-1]],[[1,-1,0,0],[-1,1,0,0],[-1,-1,0,0],[-1,-1,0,0]]], + [[[2,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,-2]],[[0,0,0,0],[0,-2,0,0],[0,0,-2,0],[0,0,0,0]]], + [[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[2,0,0,0],[0,2,0,0],[0,0,2,0],[0,0,0,2]]], + [[[0,0,1,1],[0,0,1,1],[-1,-1,0,0],[-1,-1,0,0]],[[0,0,-1,1],[0,0,1,-1],[-1,1,0,0],[1,-1,0,0]]], + [[[0,1,0,1],[0,-1,0,1],[-1,0,-1,0],[-1,0,1,0]],[[1,0,-1,0],[1,0,1,0],[0,1,0,-1],[0,-1,0,-1]]], + [[[0,1,1,0],[1,0,0,1],[0,-1,-1,0],[-1,0,0,-1]],[[0,1,-1,0],[1,0,0,-1],[0,1,-1,0],[1,0,0,-1]]], + [[[-1,1,1,1],[1,-1,1,1],[-1,-1,-1,1],[-1,-1,1,-1]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[1,0,0,1],[0,1,-1,0],[-1,0,0,1],[0,-1,-1,0]],[[-1,0,0,1],[0,1,1,0],[1,0,0,1],[0,-1,1,0]]], + [[[0,0,0,0],[0,0,0,0],[0,0,-2,0],[0,0,0,-2]],[[2,0,0,0],[0,2,0,0],[0,0,0,0],[0,0,0,0]]], + [[[0,0,1,1],[0,0,1,-1],[1,-1,0,0],[1,1,0,0]],[[0,0,1,-1],[0,0,1,1],[-1,-1,0,0],[-1,1,0,0]]], + [[[0,1,0,1],[1,0,1,0],[1,0,-1,0],[0,1,0,-1]],[[0,-1,0,1],[-1,0,1,0],[-1,0,-1,0],[0,-1,0,-1]]], + [[[0,0,1,1],[1,-1,0,0],[0,0,-1,1],[1,1,0,0]],[[1,-1,0,0],[0,0,1,1],[-1,-1,0,0],[0,0,1,-1]]], + [[[-1,1,1,1],[1,-1,1,1],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[-1,-1,-1,1],[-1,-1,1,-1]]], + [[[0,0,1,1],[0,0,-1,1],[-1,-1,0,0],[-1,1,0,0]],[[1,1,0,0],[1,-1,0,0],[0,0,-1,-1],[0,0,1,-1]]], + [[[0,0,1,1],[0,0,1,1],[-1,-1,0,0],[-1,-1,0,0]],[[-1,1,0,0],[1,-1,0,0],[0,0,-1,1],[0,0,1,-1]]], + [[[-1,0,1,0],[0,-1,0,1],[-1,0,-1,0],[0,-1,0,-1]],[[1,0,-1,0],[0,1,0,-1],[-1,0,-1,0],[0,-1,0,-1]]], + [[[1,0,0,1],[1,0,0,-1],[1,0,0,-1],[1,0,0,1]],[[0,-1,1,0],[0,1,1,0],[0,-1,-1,0],[0,1,-1,0]]], + [[[0,1,0,1],[1,0,-1,0],[1,0,-1,0],[0,1,0,1]],[[0,-1,0,1],[1,0,1,0],[-1,0,-1,0],[0,1,0,-1]]], + [[[-2,0,0,0],[0,-2,0,0],[0,0,-2,0],[0,0,0,-2]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]], + [[[-1,0,1,0],[0,-1,0,1],[-1,0,-1,0],[0,-1,0,-1]],[[-1,0,1,0],[0,-1,0,1],[-1,0,-1,0],[0,-1,0,-1]]], + [[[-1,0,1,0],[-1,0,1,0],[0,-1,0,-1],[0,1,0,1]],[[0,1,0,-1],[0,-1,0,1],[-1,0,-1,0],[-1,0,-1,0]]], + [[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[-2,0,0,0],[0,-2,0,0],[0,0,-2,0],[0,0,0,-2]]] + ], + "widths": { + "1": { + "matrix": [ + [[16,0],[240,240],[480,0],[0,1280],[0,1440],[2880,2880],[-3840,3840],[2880,2880],[0,7680],[-2560,0],[0,9216]], + [[8,-8],[240,0],[240,-240],[640,640],[720,720],[2880,0],[0,3840],[2880,0],[3840,3840],[-1280,1280],[4608,4608]], + [[8,0],[120,120],[240,0],[0,640],[0,720],[1440,1440],[-1920,1920],[1440,1440],[0,3840],[-1280,0],[0,4608]], + [[0,-8],[120,-120],[0,-240],[640,0],[720,0],[1440,-1440],[1920,1920],[1440,-1440],[3840,0],[0,1280],[4608,0]], + [[0,-8],[120,-120],[0,-240],[640,0],[720,0],[1440,-1440],[1920,1920],[1440,-1440],[3840,0],[0,1280],[4608,0]], + [[4,-4],[120,0],[120,-120],[320,320],[360,360],[1440,0],[0,1920],[1440,0],[1920,1920],[-640,640],[2304,2304]], + [[-4,-4],[0,-120],[-120,-120],[320,-320],[360,-360],[0,-1440],[1920,0],[0,-1440],[1920,-1920],[640,640],[2304,-2304]], + [[4,-4],[120,0],[120,-120],[320,320],[360,360],[1440,0],[0,1920],[1440,0],[1920,1920],[-640,640],[2304,2304]], + [[0,-4],[60,-60],[0,-120],[320,0],[360,0],[720,-720],[960,960],[720,-720],[1920,0],[0,640],[2304,0]], + [[-4,0],[-60,-60],[-120,0],[0,-320],[0,-360],[-720,-720],[960,-960],[-720,-720],[0,-1920],[640,0],[0,-2304]], + [[0,-4],[60,-60],[0,-120],[320,0],[360,0],[720,-720],[960,960],[720,-720],[1920,0],[0,640],[2304,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [0,11520], + "expected": { + "rank": 16, + "spectrum": { + "720": 16 + }, + "zero": 11504 + } + }, + "2": { + "matrix": [ + [[64,0],[0,960],[960,0],[0,0],[-2560,0],[-2880,0],[0,5760],[0,0],[0,-7680],[0,5760],[-7680,0],[0,0],[2560,0],[-9216,0],[0,0],[0,0]], + [[0,-32],[512,0],[0,-384],[0,32],[0,1536],[0,1536],[2304,0],[-256,0],[-4096,0],[3840,0],[0,3072],[0,512],[0,-1024],[0,6144],[0,384],[-1024,0]], + [[16,0],[0,192],[384,0],[48,0],[-256,0],[-576,0],[0,2304],[0,384],[0,-1536],[0,0],[-3072,0],[768,0],[1024,0],[0,0],[576,0],[0,1536]], + [[0,0],[0,-64],[192,0],[64,0],[512,0],[192,0],[0,1152],[0,512],[0,512],[0,-1920],[-1536,0],[1024,0],[512,0],[3072,0],[768,0],[0,2048]], + [[-16,0],[0,-288],[-96,0],[48,0],[1024,0],[864,0],[0,-576],[0,384],[0,2304],[0,-2880],[768,0],[768,0],[-256,0],[4608,0],[576,0],[0,1536]], + [[-16,0],[0,-256],[-192,0],[16,0],[768,0],[768,0],[0,-1152],[0,128],[0,2048],[0,-1920],[1536,0],[256,0],[-512,0],[3072,0],[192,0],[0,512]], + [[0,-8],[96,0],[0,-192],[0,-24],[0,128],[0,288],[1152,0],[192,0],[-768,0],[0,0],[0,1536],[0,-384],[0,-512],[0,0],[0,-288],[768,0]], + [[0,0],[-64,0],[0,-192],[0,-64],[0,-512],[0,-192],[1152,0],[512,0],[512,0],[-1920,0],[0,1536],[0,-1024],[0,-512],[0,-3072],[0,-768],[2048,0]], + [[0,8],[-128,0],[0,96],[0,-8],[0,-384],[0,-384],[-576,0],[64,0],[1024,0],[-960,0],[0,-768],[0,-128],[0,256],[0,-1536],[0,-96],[256,0]], + [[0,-8],[160,0],[0,0],[0,40],[0,640],[0,480],[0,0],[-320,0],[-1280,0],[1920,0],[0,0],[0,640],[0,0],[0,3072],[0,480],[-1280,0]], + [[-4,0],[0,-48],[-96,0],[-12,0],[64,0],[144,0],[0,-576],[0,-96],[0,384],[0,0],[768,0],[-192,0],[-256,0],[0,0],[-144,0],[0,-384]], + [[0,0],[0,-32],[96,0],[32,0],[256,0],[96,0],[0,576],[0,256],[0,256],[0,-960],[-768,0],[512,0],[256,0],[1536,0],[384,0],[0,1024]], + [[4,0],[0,48],[96,0],[12,0],[-64,0],[-144,0],[0,576],[0,96],[0,-384],[0,0],[-768,0],[192,0],[256,0],[0,0],[144,0],[0,384]], + [[-4,0],[0,-80],[0,0],[20,0],[320,0],[240,0],[0,0],[0,160],[0,640],[0,-960],[0,0],[320,0],[0,0],[1536,0],[240,0],[0,640]], + [[0,0],[0,-64],[192,0],[64,0],[512,0],[192,0],[0,1152],[0,512],[0,512],[0,-1920],[-1536,0],[1024,0],[512,0],[3072,0],[768,0],[0,2048]], + [[0,0],[-32,0],[0,-96],[0,-32],[0,-256],[0,-96],[576,0],[256,0],[256,0],[-960,0],[0,768],[0,-512],[0,-256],[0,-1536],[0,-384],[1024,0]] + ], + "picks": [0,1,2,3,4,5,7,9,11,13,15,19,20,21,22,26], + "eigenvalues": [0,4608,7680], + "expected": { + "rank": 136, + "spectrum": { + "120": 36, + "72": 100 + }, + "zero": 11384 + } + }, + "3": { + "matrix": [ + [[256,0],[-1920,1920],[1920,0],[0,-5120],[0,-5760],[-5760,5760],[7680,7680],[-5760,5760],[0,-7680],[-2560,0],[0,-9216]], + [[-64,-64],[1152,0],[-192,-192],[-2048,2048],[-1728,1728],[1152,0],[0,-4608],[5760,0],[-768,768],[256,256],[-4608,4608]], + [[32,0],[-96,96],[768,0],[0,512],[0,0],[-2880,2880],[-768,-768],[1728,-1728],[0,-5376],[256,0],[0,4608]], + [[0,32],[-384,-384],[0,-192],[1792,0],[1152,0],[576,576],[-1536,1536],[-2880,-2880],[-768,0],[0,256],[4608,0]], + [[0,32],[-288,-288],[0,0],[1024,0],[1152,0],[576,576],[-2304,2304],[-1728,-1728],[-2304,0],[0,-1280],[4608,0]], + [[-8,-8],[48,0],[-240,-240],[128,-128],[144,-144],[2304,0],[0,1536],[-1152,0],[-2688,2688],[-640,-640],[2304,-2304]], + [[8,-8],[0,144],[-48,48],[-256,-256],[-432,-432],[0,-1152],[2304,0],[0,1152],[1920,1920],[-896,896],[-2304,-2304]], + [[-8,-8],[240,0],[144,144],[-640,640],[-432,432],[-1152,0],[0,-1536],[2304,0],[1152,-1152],[128,128],[-2304,2304]], + [[0,4],[-12,-12],[0,168],[-64,0],[-216,0],[-1008,-1008],[960,-960],[432,432],[2688,0],[0,896],[-2304,0]], + [[-4,0],[12,-12],[24,0],[0,-64],[0,360],[-720,720],[-1344,-1344],[144,-144],[0,-2688],[1408,0],[0,2304]], + [[0,4],[-60,-60],[0,-120],[320,0],[360,0],[720,720],[-960,960],[-720,-720],[-1920,0],[0,-640],[2304,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [0,2304,4608,11520], + "expected": { + "rank": 816, + "spectrum": { + "45": 16, + "18": 400, + "9": 400 + }, + "zero": 10704 + } + }, + "4": { + "matrix": [ + [[1024,0],[-7680,0],[3840,0],[0,0],[10240,0],[11520,0],[-11520,0],[0,0],[0,0],[-15360,0],[-11520,0],[0,0],[7680,0],[0,0],[0,0],[2560,0],[9216,0],[0,0],[0,0],[0,0],[0,0]], + [[-256,0],[2816,0],[0,0],[-256,0],[-6144,0],[-4608,0],[768,0],[1024,0],[768,0],[7168,0],[9984,0],[-768,0],[-1536,0],[-1536,0],[-2048,0],[-512,0],[-9216,0],[-768,0],[1536,0],[2048,0],[1536,0]], + [[64,0],[0,0],[1920,0],[192,0],[-1280,0],[-1152,0],[-9216,0],[-768,0],[0,0],[4608,0],[4608,0],[1152,0],[10752,0],[0,0],[-768,0],[-512,0],[-9216,0],[1152,0],[-2304,0],[-1536,0],[2304,0]], + [[0,0],[-512,0],[768,0],[1024,0],[2048,0],[2304,0],[-5376,0],[-4096,0],[-3072,0],[-7168,0],[-5376,0],[3072,0],[7680,0],[6144,0],[8192,0],[2560,0],[9216,0],[3072,0],[-6144,0],[-8192,0],[-6144,0]], + [[64,0],[-1152,0],[-480,0],[192,0],[3904,0],[2016,0],[1728,0],[-1344,0],[-576,0],[-3456,0],[-8640,0],[-288,0],[-1536,0],[1152,0],[3264,0],[-512,0],[9216,0],[1440,0],[576,0],[-2688,0],[-2880,0]], + [[64,0],[-768,0],[-384,0],[192,0],[1792,0],[2688,0],[3072,0],[-768,0],[-768,0],[-7680,0],[-4608,0],[384,0],[-4608,0],[1536,0],[2304,0],[2560,0],[9216,0],[384,0],[-768,0],[-1536,0],[-2304,0]], + [[-16,0],[32,0],[-768,0],[-112,0],[384,0],[768,0],[5760,0],[256,0],[96,0],[-4352,0],[-2688,0],[-1152,0],[-10752,0],[384,0],[640,0],[2560,0],[9216,0],[0,0],[3456,0],[-1792,0],[-1920,0]], + [[0,0],[256,0],[-384,0],[-512,0],[-1792,0],[-1152,0],[1536,0],[2816,0],[1536,0],[3584,0],[6144,0],[-384,0],[-1536,0],[-3072,0],[-6400,0],[-512,0],[-9216,0],[-2688,0],[768,0],[5632,0],[5376,0]], + [[0,0],[256,0],[0,0],[-512,0],[-1024,0],[-1536,0],[768,0],[2048,0],[2304,0],[5120,0],[3840,0],[-768,0],[-1536,0],[-4608,0],[-7168,0],[-512,0],[-9216,0],[-768,0],[1536,0],[4096,0],[7680,0]], + [[-16,0],[224,0],[288,0],[-112,0],[-576,0],[-1440,0],[-3264,0],[448,0],[480,0],[6016,0],[2496,0],[96,0],[7680,0],[-1536,0],[-1472,0],[-3584,0],[-9216,0],[-480,0],[-1344,0],[3200,0],[2112,0]], + [[-16,0],[416,0],[384,0],[-112,0],[-1920,0],[-1152,0],[-2688,0],[1024,0],[480,0],[3328,0],[5760,0],[768,0],[4608,0],[-1152,0],[-3200,0],[-512,0],[-9216,0],[-1152,0],[-1920,0],[2816,0],[3456,0]], + [[0,0],[-128,0],[384,0],[256,0],[-256,0],[384,0],[-4608,0],[-256,0],[-384,0],[512,0],[3072,0],[2688,0],[10752,0],[0,0],[-1792,0],[-512,0],[-9216,0],[-384,0],[-6912,0],[2560,0],[3840,0]], + [[4,0],[-24,0],[336,0],[60,0],[-128,0],[-432,0],[-4032,0],[-96,0],[-72,0],[3840,0],[1728,0],[1008,0],[10752,0],[-864,0],[-384,0],[-3584,0],[-9216,0],[-432,0],[-4032,0],[3840,0],[1728,0]], + [[0,0],[-128,0],[0,0],[256,0],[512,0],[768,0],[768,0],[-1024,0],[-1152,0],[-4096,0],[-2304,0],[0,0],[-4608,0],[3072,0],[3584,0],[2560,0],[9216,0],[768,0],[1536,0],[-5120,0],[-4608,0]], + [[0,0],[-128,0],[-96,0],[256,0],[1088,0],[864,0],[960,0],[-1600,0],[-1344,0],[-2944,0],[-4800,0],[-672,0],[-1536,0],[2688,0],[6080,0],[-512,0],[9216,0],[1056,0],[1344,0],[-3200,0],[-6720,0]], + [[4,0],[-24,0],[-48,0],[60,0],[-128,0],[720,0],[2880,0],[-96,0],[-72,0],[-5376,0],[-576,0],[-144,0],[-10752,0],[1440,0],[-384,0],[5632,0],[9216,0],[720,0],[2880,0],[-5376,0],[-576,0]], + [[4,0],[-120,0],[-240,0],[60,0],[640,0],[720,0],[2880,0],[-480,0],[-360,0],[-3840,0],[-2880,0],[-720,0],[-7680,0],[1440,0],[1920,0],[2560,0],[9216,0],[720,0],[2880,0],[-3840,0],[-2880,0]], + [[0,0],[-128,0],[384,0],[256,0],[1280,0],[384,0],[0,0],[-1792,0],[-384,0],[-2560,0],[-4608,0],[-384,0],[-4608,0],[1536,0],[2816,0],[2560,0],[9216,0],[2688,0],[2304,0],[-6656,0],[-2304,0]], + [[0,0],[64,0],[-192,0],[-128,0],[128,0],[-192,0],[3456,0],[128,0],[192,0],[-1792,0],[-1920,0],[-1728,0],[-10752,0],[768,0],[896,0],[2560,0],[9216,0],[576,0],[5760,0],[-4352,0],[-2688,0]], + [[0,0],[64,0],[-96,0],[-128,0],[-448,0],[-288,0],[-1344,0],[704,0],[384,0],[3200,0],[2112,0],[480,0],[7680,0],[-1920,0],[-1600,0],[-3584,0],[-9216,0],[-1248,0],[-3264,0],[6016,0],[2496,0]], + [[0,0],[64,0],[192,0],[-128,0],[-640,0],[-576,0],[-1920,0],[896,0],[960,0],[2816,0],[3456,0],[960,0],[4608,0],[-2304,0],[-4480,0],[-512,0],[-9216,0],[-576,0],[-2688,0],[3328,0],[5760,0]] + ], + "picks": [0,1,2,3,4,5,7,9,10,11,13,14,15,18,19,20,21,22,24,26,31], + "eigenvalues": [0,1536,3072,6144,9216,18432,46080], + "expected": { + "rank": 3426, + "spectrum": { + "45": 1, + "18": 25, + "6": 225, + "3": 2025, + "3/2": 900, + "9": 250 + }, + "zero": 8094 + } + }, + "5": { + "matrix": [ + [[4096,0],[-15360,-15360],[7680,0],[0,20480],[0,23040],[-11520,-11520],[15360,-15360],[-11520,-11520],[0,7680],[-2560,0],[0,9216]], + [[-512,512],[7680,0],[0,0],[-10240,-10240],[-7680,-7680],[3840,0],[0,15360],[19200,0],[-3840,-3840],[1280,-1280],[-10752,-10752]], + [[128,0],[0,0],[5760,0],[0,-1280],[0,-1920],[-15360,-15360],[-3840,3840],[3840,3840],[0,19200],[-1280,0],[0,-10752]], + [[0,-128],[-1920,1920],[0,480],[9280,0],[4320,0],[1440,-1440],[-4800,-4800],[-12960,12960],[-1920,0],[0,-640],[16128,0]], + [[0,-128],[-1280,1280],[0,640],[3840,0],[7040,0],[2560,-2560],[-11520,-11520],[-6400,6400],[-3840,0],[0,3840],[14848,0]], + [[-16,16],[160,0],[-1280,1280],[320,320],[640,640],[11200,0],[0,-5760],[-3520,0],[-11520,-11520],[-2560,2560],[7424,7424]], + [[16,16],[0,-480],[-240,-240],[-800,800],[-2160,2160],[0,4320],[10560,0],[0,-4320],[6720,-6720],[-3520,-3520],[-9216,9216]], + [[-16,16],[800,0],[320,-320],[-2880,-2880],[-1600,-1600],[-3520,0],[0,5760],[11200,0],[3840,3840],[0,0],[-10496,-10496]], + [[0,-4],[-60,60],[0,-600],[-160,0],[-360,0],[-4320,4320],[3360,3360],[1440,-1440],[12480,0],[0,-4160],[-9216,0]], + [[-4,0],[60,60],[-120,0],[0,160],[0,-1080],[-2880,-2880],[-5280,5280],[0,0],[0,12480],[7360,0],[0,-8064]], + [[0,-4],[-140,140],[0,280],[1120,0],[1160,0],[2320,-2320],[-3840,-3840],[-3280,3280],[-7680,0],[0,2240],[11584,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [0,1280,2880,5760,7680,11520,23040,46080], + "expected": { + "rank": 9104, + "spectrum": { + "45/4": 16, + "45/8": 400, + "45/16": 400, + "15/8": 1296, + "45/32": 1600, + "45/64": 4096, + "5/16": 1296 + }, + "zero": 2416 + } + }, + "6": { + "matrix": [ + [[16384,0],[0,-61440],[15360,0],[0,0],[-40960,0],[-46080,0],[0,-23040],[0,0],[0,30720],[0,-23040],[-7680,0],[0,0],[2560,0],[-9216,0],[0,0],[0,0]], + [[0,2048],[23552,0],[0,1536],[0,-2048],[0,-36864],[0,-29184],[13824,0],[-4096,0],[-34816,0],[38400,0],[0,-12288],[0,-2048],[0,4096],[0,-24576],[0,-1536],[-1024,0]], + [[256,0],[0,-768],[19584,0],[768,0],[-256,0],[-3456,0],[0,-55296],[0,-1536],[0,6144],[0,0],[-41472,0],[768,0],[8704,0],[0,0],[3456,0],[0,-6144]], + [[0,0],[0,4096],[3072,0],[16384,0],[8192,0],[3072,0],[0,-4608],[0,-32768],[0,-2048],[0,7680],[-1536,0],[16384,0],[512,0],[3072,0],[12288,0],[0,-8192]], + [[-256,0],[0,6912],[-96,0],[768,0],[26944,0],[9504,0],[0,2304],[0,-7296],[0,-20736],[0,46080],[6528,0],[9408,0],[-2176,0],[39168,0],[4896,0],[0,-6144]], + [[-256,0],[0,4864],[-1152,0],[256,0],[8448,0],[21888,0],[0,4608],[0,-512],[0,-38912],[0,23040],[9216,0],[256,0],[-8192,0],[33792,0],[1152,0],[0,-2048]], + [[0,32],[576,0],[0,4608],[0,96],[0,-512],[0,-1152],[29952,0],[1152,0],[-4608,0],[0,0],[0,-36864],[0,1536],[0,2048],[0,0],[0,1152],[4608,0]], + [[0,0],[-1024,0],[0,768],[0,4096],[0,9728],[0,768],[6912,0],[23552,0],[512,0],[-19200,0],[0,-6144],[0,27136],[0,2048],[0,12288],[0,14592],[17408,0]], + [[0,-32],[-1088,0],[0,-384],[0,32],[0,3456],[0,7296],[-3456,0],[64,0],[27904,0],[-9600,0],[0,3072],[0,-1408],[0,-8704],[0,29184],[0,384],[2176,0]], + [[0,32],[1600,0],[0,0],[0,-160],[0,-10240],[0,-5760],[0,0],[-3200,0],[-12800,0],[34560,0],[0,0],[0,-10240],[0,0],[0,-43008],[0,-5760],[-12800,0]], + [[-4,0],[0,192],[-1296,0],[-12,0],[544,0],[864,0],[0,13824],[0,384],[0,-1536],[0,0],[24768,0],[-1632,0],[-1216,0],[0,0],[-864,0],[0,1536]], + [[0,0],[0,128],[96,0],[512,0],[3136,0],[96,0],[0,-2304],[0,-6784],[0,2816],[0,15360],[-6528,0],[20672,0],[2176,0],[13056,0],[4704,0],[0,-11776]], + [[4,0],[0,-192],[816,0],[12,0],[-544,0],[-2304,0],[0,-2304],[0,-384],[0,13056],[0,0],[-3648,0],[1632,0],[18496,0],[0,0],[2304,0],[0,-13056]], + [[-4,0],[0,320],[0,0],[20,0],[2720,0],[2640,0],[0,0],[0,-640],[0,-12160],[0,13440],[0,0],[2720,0],[0,0],[32256,0],[2640,0],[0,-12160]], + [[0,0],[0,256],[1152,0],[1024,0],[4352,0],[1152,0],[0,-4608],[0,-9728],[0,-2048],[0,23040],[-9216,0],[12544,0],[8192,0],[33792,0],[21888,0],[0,-38912]], + [[0,0],[-32,0],[0,384],[0,128],[0,1024],[0,384],[3456,0],[2176,0],[2176,0],[-9600,0],[0,-3072],[0,5888],[0,8704],[0,29184],[0,7296],[27904,0]] + ], + "picks": [0,1,2,3,4,5,7,9,11,13,15,19,20,21,22,26], + "eigenvalues": [0,1920,4608,5760,7680,11520,17280,23040,28800,40320,46080,69120,107520], + "expected": { + "rank": 11384, + "spectrum": { + "105/16": 36, + "135/32": 100, + "45/16": 100, + "315/128": 576, + "225/128": 1600, + "45/32": 900, + "135/128": 1600, + "15/32": 900, + "45/128": 1600, + "9/32": 100, + "15/128": 576, + "45/64": 3296 + }, + "zero": 136 + } + }, + "7": { + "matrix": [ + [[65536,0],[122880,-122880],[30720,0],[0,-81920],[0,-92160],[23040,-23040],[-30720,-30720],[23040,-23040],[0,-7680],[-2560,0],[0,-9216]], + [[4096,4096],[79872,0],[4608,4608],[69632,-69632],[56832,-56832],[33792,0],[0,-73728],[76800,0],[14592,-14592],[-4864,-4864],[26112,-26112]], + [[512,0],[2304,-2304],[71808,0],[0,-3328],[0,-32640],[105600,-105600],[-31488,-31488],[14208,-14208],[0,-89856],[-22784,0],[0,-26112]], + [[0,512],[13056,13056],[0,1248],[85312,0],[19872,0],[13536,13536],[43584,-43584],[82080,82080],[28032,0],[0,-9344],[85248,0]], + [[0,512],[9472,9472],[0,10880],[17664,0],[79232,0],[21376,21376],[74496,-74496],[44672,44672],[36096,0],[0,-19200],[76288,0]], + [[32,32],[1408,0],[8800,8800],[3008,-3008],[5344,-5344],[97984,0],[0,-50304],[16448,0],[79872,-79872],[-14080,-14080],[38144,-38144]], + [[-32,32],[0,2304],[-1968,1968],[7264,7264],[13968,13968],[0,37728],[97344,0],[0,25632],[35520,35520],[19904,-19904],[66816,66816]], + [[32,32],[3200,0],[1184,1184],[18240,-18240],[11168,-11168],[16448,0],[0,-34176],[97984,0],[26112,-26112],[-6912,-6912],[84736,-84736]], + [[0,4],[228,228],[0,2808],[2336,0],[3384,0],[29952,29952],[17760,-17760],[9792,9792],[105408,0],[0,-28864],[66816,0]], + [[-4,0],[-228,228],[-2136,0],[0,2336],[0,5400],[-15840,15840],[29856,29856],[-7776,7776],[0,86592],[77248,0],[0,42624]], + [[0,4],[340,340],[0,680],[5920,0],[5960,0],[11920,11920],[27840,-27840],[26480,26480],[55680,0],[0,-11840],[107584,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [0,16128,26880,40320,48384,60480,80640,116480,161280,334080], + "expected": { + "rank": 11504, + "spectrum": { + "1305/256": 16, + "315/128": 400, + "455/256": 1296, + "945/1024": 4096, + "189/256": 400, + "315/512": 1600, + "105/256": 1296, + "63/256": 400, + "315/256": 2000 + }, + "zero": 16 + } + }, + "8": { + "matrix": [ + [[262144,0],[491520,0],[61440,0],[0,0],[163840,0],[184320,0],[46080,0],[0,0],[0,0],[61440,0],[46080,0],[0,0],[7680,0],[0,0],[0,0],[2560,0],[9216,0],[0,0],[0,0],[0,0],[0,0]], + [[16384,0],[290816,0],[15360,0],[16384,0],[270336,0],[218112,0],[66048,0],[16384,0],[12288,0],[145408,0],[152064,0],[3072,0],[29184,0],[6144,0],[8192,0],[9728,0],[52224,0],[3072,0],[1536,0],[2048,0],[1536,0]], + [[1024,0],[7680,0],[274560,0],[3072,0],[6400,0],[114048,0],[409344,0],[3072,0],[7680,0],[112128,0],[54528,0],[12672,0],[179712,0],[3840,0],[6912,0],[45568,0],[52224,0],[12672,0],[13056,0],[13824,0],[2304,0]], + [[0,0],[32768,0],[12288,0],[262144,0],[32768,0],[36864,0],[21504,0],[262144,0],[196608,0],[28672,0],[21504,0],[49152,0],[7680,0],[98304,0],[131072,0],[2560,0],[9216,0],[49152,0],[24576,0],[32768,0],[24576,0]], + [[1024,0],[50688,0],[2400,0],[3072,0],[303424,0],[39456,0],[47808,0],[51456,0],[2304,0],[157824,0],[313920,0],[2592,0],[56064,0],[21312,0],[37824,0],[18688,0],[170496,0],[18720,0],[6336,0],[16512,0],[14400,0]], + [[1024,0],[36352,0],[38016,0],[3072,0],[35072,0],[293248,0],[76032,0],[3072,0],[36352,0],[284160,0],[165632,0],[5504,0],[72192,0],[18176,0],[35584,0],[38400,0],[152576,0],[5504,0],[9472,0],[13824,0],[13056,0]], + [[64,0],[2752,0],[34112,0],[448,0],[10624,0],[19008,0],[337280,0],[5376,0],[3136,0],[167168,0],[52352,0],[36288,0],[319488,0],[17024,0],[13440,0],[56320,0],[152576,0],[6720,0],[54656,0],[34048,0],[13440,0]], + [[0,0],[4096,0],[1536,0],[32768,0],[68608,0],[4608,0],[32256,0],[290816,0],[24576,0],[57344,0],[75264,0],[16896,0],[29184,0],[119808,0],[209920,0],[9728,0],[52224,0],[102912,0],[35328,0],[90112,0],[78336,0]], + [[0,0],[4096,0],[5120,0],[32768,0],[4096,0],[72704,0],[25088,0],[32768,0],[282624,0],[71680,0],[53760,0],[13312,0],[29184,0],[141312,0],[274432,0],[9728,0],[52224,0],[13312,0],[42496,0],[75776,0],[99840,0]], + [[64,0],[4544,0],[7008,0],[448,0],[26304,0],[53280,0],[125376,0],[7168,0],[6720,0],[340096,0],[58176,0],[8736,0],[142080,0],[55104,0],[31808,0],[79616,0],[267264,0],[3360,0],[25536,0],[49280,0],[44352,0]], + [[64,0],[6336,0],[4544,0],[448,0],[69760,0],[41408,0],[52352,0],[12544,0],[6720,0],[77568,0],[337280,0],[4928,0],[104448,0],[11648,0],[76160,0],[27648,0],[338944,0],[36288,0],[13440,0],[59136,0],[54656,0]], + [[0,0],[512,0],[4224,0],[4096,0],[2304,0],[5504,0],[145152,0],[11264,0],[6656,0],[46592,0],[19712,0],[283008,0],[179712,0],[85760,0],[11008,0],[45568,0],[52224,0],[39296,0],[277248,0],[79360,0],[37120,0]], + [[4,0],[456,0],[5616,0],[60,0],[4672,0],[6768,0],[119808,0],[1824,0],[1368,0],[71040,0],[39168,0],[16848,0],[421632,0],[13536,0],[14016,0],[115456,0],[267264,0],[6768,0],[119808,0],[71040,0],[39168,0]], + [[0,0],[512,0],[640,0],[4096,0],[9472,0],[9088,0],[34048,0],[39936,0],[35328,0],[146944,0],[23296,0],[42880,0],[72192,0],[293632,0],[61184,0],[38400,0],[152576,0],[14208,0],[51456,0],[151040,0],[155392,0]], + [[0,0],[512,0],[864,0],[4096,0],[12608,0],[13344,0],[20160,0],[52480,0],[51456,0],[63616,0],[114240,0],[4128,0],[56064,0],[45888,0],[328640,0],[18688,0],[170496,0],[20256,0],[33984,0],[110720,0],[214080,0]], + [[4,0],[456,0],[4272,0],[60,0],[4672,0],[10800,0],[63360,0],[1824,0],[1368,0],[119424,0],[31104,0],[12816,0],[346368,0],[21600,0],[14016,0],[308992,0],[170496,0],[10800,0],[63360,0],[119424,0],[31104,0]], + [[4,0],[680,0],[1360,0],[60,0],[11840,0],[11920,0],[47680,0],[2720,0],[2040,0],[111360,0],[105920,0],[4080,0],[222720,0],[23840,0],[35520,0],[47360,0],[430336,0],[11920,0],[47680,0],[111360,0],[105920,0]], + [[0,0],[512,0],[4224,0],[4096,0],[16640,0],[5504,0],[26880,0],[68608,0],[6656,0],[17920,0],[145152,0],[39296,0],[72192,0],[28416,0],[54016,0],[38400,0],[152576,0],[283008,0],[58624,0],[280064,0],[33536,0]], + [[0,0],[64,0],[1088,0],[512,0],[1408,0],[2368,0],[54656,0],[5888,0],[5312,0],[34048,0],[13440,0],[69312,0],[319488,0],[25728,0],[22656,0],[56320,0],[152576,0],[14656,0],[337280,0],[167168,0],[52352,0]], + [[0,0],[64,0],[864,0],[512,0],[2752,0],[2592,0],[25536,0],[11264,0],[7104,0],[49280,0],[44352,0],[14880,0],[142080,0],[56640,0],[55360,0],[79616,0],[267264,0],[52512,0],[125376,0],[340096,0],[58176,0]], + [[0,0],[64,0],[192,0],[512,0],[3200,0],[3264,0],[13440,0],[13056,0],[12480,0],[59136,0],[54656,0],[9280,0],[104448,0],[77696,0],[142720,0],[27648,0],[338944,0],[8384,0],[52352,0],[77568,0],[337280,0]] + ], + "picks": [0,1,2,3,4,5,7,9,10,11,13,14,15,18,19,20,21,22,24,26,31], + "eigenvalues": [0,64512,86016,107520,129024,161280,172032,193536,215040,241920,286720,301056,322560,358400,430080,465920,583680,645120,1336320], + "expected": { + "rank": 11519, + "spectrum": { + "1305/256": 1, + "315/128": 25, + "285/128": 225, + "455/256": 81, + "105/64": 225, + "175/128": 2025, + "147/128": 900, + "35/32": 2025, + "945/1024": 256, + "189/256": 25, + "21/32": 2025, + "315/512": 100, + "63/128": 225, + "105/256": 81, + "21/64": 225, + "63/256": 25, + "315/256": 125, + "105/128": 2925 + }, + "zero": 1 + } + }, + "9": { + "matrix": [ + [[1048576,0],[983040,983040],[122880,0],[0,327680],[0,368640],[46080,46080],[-61440,61440],[46080,46080],[0,7680],[-2560,0],[0,9216]], + [[32768,-32768],[1105920,0],[15360,-15360],[532480,532480],[414720,414720],[115200,0],[0,276480],[299520,0],[26880,26880],[-8960,8960],[50688,50688]], + [[2048,0],[7680,7680],[1073280,0],[0,6400],[0,224640],[800640,800640],[-111360,111360],[51840,51840],[0,341760],[-78080,0],[0,50688]], + [[0,-2048],[99840,-99840],[0,-2400],[1126720,0],[76320,0],[44640,-44640],[252480,252480],[606240,-606240],[78720,0],[0,26240],[315648,0]], + [[0,-2048],[69120,-69120],[0,-74880],[67840,0],[1100160,0],[74880,-74880],[541440,541440],[293760,-293760],[103680,0],[0,70400],[281088,0]], + [[64,-64],[4800,0],[66720,-66720],[9920,9920],[18720,18720],[1172160,0],[0,312960],[83520,0],[560640,560640],[-52480,52480],[140544,140544]], + [[-64,-64],[0,-8640],[-6960,-6960],[42080,-42080],[101520,-101520],[0,-234720],[1166400,0],[0,-93600],[131520,-131520],[137920,137920],[440064,-440064]], + [[64,-64],[12480,0],[4320,-4320],[134720,134720],[73440,73440],[83520,0],[0,124800],[1172160,0],[92160,92160],[-21760,21760],[578304,578304]], + [[0,-4],[420,-420],[0,-10680],[6560,0],[9720,0],[210240,-210240],[65760,65760],[34560,-34560],[1199040,0],[0,207040],[440064,0]], + [[-4,0],[-420,-420],[-7320,0],[0,-6560],[0,-19800],[-59040,-59040],[206880,-206880],[-24480,-24480],[0,-621120],[1094080,0],[0,-157824]], + [[0,-4],[660,-660],[0,-1320],[21920,0],[21960,0],[43920,-43920],[183360,183360],[180720,-180720],[366720,0],[0,43840],[1203264,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [322560,564480,725760,846720,887040,1028160,1209600,1416960,1728000,2522880], + "expected": { + "rank": 11520, + "spectrum": { + "9855/4096": 16, + "3375/2048": 400, + "5535/4096": 1296, + "16065/16384": 4096, + "3465/4096": 400, + "6615/8192": 1600, + "2835/4096": 1296, + "2205/4096": 400, + "315/1024": 16, + "4725/4096": 2000 + }, + "zero": 0 + } + }, + "10": { + "matrix": [ + [[4194304,0],[0,3932160],[245760,0],[0,0],[-655360,0],[-737280,0],[0,92160],[0,0],[0,-122880],[0,92160],[-7680,0],[0,0],[2560,0],[-9216,0],[0,0],[0,0]], + [[0,-131072],[4308992,0],[0,-6144],[0,131072],[0,2113536],[0,1591296],[198144,0],[-65536,0],[-526336,0],[591360,0],[0,49152],[0,8192],[0,-16384],[0,98304],[0,6144],[-1024,0]], + [[4096,0],[0,3072],[4243584,0],[12288,0],[-256,0],[-49536,0],[0,3170304],[0,6144],[0,-24576],[0,0],[-655872,0],[768,0],[131584,0],[0,0],[49536,0],[0,24576]], + [[0,0],[0,-262144],[49152,0],[4194304,0],[131072,0],[49152,0],[0,18432],[0,2097152],[0,8192],[0,-30720],[-1536,0],[262144,0],[512,0],[3072,0],[196608,0],[0,32768]], + [[-4096,0],[0,-396288],[-96,0],[12288,0],[4358464,0],[147744,0],[0,-9216],[0,397824],[0,820224],[0,-2396160],[98688,0],[147648,0],[-32896,0],[592128,0],[74016,0],[0,24576]], + [[-4096,0],[0,-265216],[-16512,0],[4096,0],[131328,0],[4276608,0],[0,-18432],[0,2048],[0,2121728],[0,-1075200],[132096,0],[256,0],[-131072,0],[525312,0],[16512,0],[0,8192]], + [[0,-128],[8256,0],[0,-264192],[0,-384],[0,2048],[0,4608],[4407552,0],[16512,0],[-66048,0],[0,0],[0,2113536],[0,-6144],[0,-8192],[0,0],[0,-4608],[66048,0]], + [[0,0],[-16384,0],[0,-3072],[0,-262144],[0,-530432],[0,-3072],[99072,0],[4308992,0],[512,0],[-295680,0],[0,24576],[0,-1583104],[0,-8192],[0,-49152],[0,-795648],[263168,0]], + [[0,128],[-16448,0],[0,1536],[0,-128],[0,-136704],[0,-397824],[-49536,0],[64,0],[4374784,0],[-147840,0],[0,-12288],[0,128512],[0,526336],[0,-1591296],[0,-1536],[32896,0]], + [[0,-128],[24640,0],[0,0],[0,640],[0,532480],[0,268800],[0,0],[-49280,0],[-197120,0],[4473600,0],[0,0],[0,532480],[0,0],[0,2138112],[0,268800],[-197120,0]], + [[-4,0],[0,-768],[-20496,0],[-12,0],[8224,0],[12384,0],[0,-792576],[0,-1536],[0,6144],[0,0],[4325568,0],[-24672,0],[-16576,0],[0,0],[-12384,0],[0,-6144]], + [[0,0],[0,-512],[96,0],[8192,0],[49216,0],[96,0],[0,9216],[0,395776],[0,-257024],[0,-798720],[-98688,0],[4260032,0],[32896,0],[197376,0],[73824,0],[0,538624]], + [[4,0],[0,768],[12336,0],[12,0],[-8224,0],[-36864,0],[0,9216],[0,1536],[0,-789504],[0,0],[-49728,0],[24672,0],[4227136,0],[0,0],[36864,0],[0,789504]], + [[-4,0],[0,-1280],[0,0],[20,0],[41120,0],[41040,0],[0,0],[0,2560],[0,663040],[0,-668160],[0,0],[41120,0],[0,0],[4440576,0],[41040,0],[0,663040]], + [[0,0],[0,-1024],[16512,0],[16384,0],[65792,0],[16512,0],[0,18432],[0,530432],[0,8192],[0,-1075200],[-132096,0],[196864,0],[131072,0],[525312,0],[4276608,0],[0,2121728]], + [[0,0],[-32,0],[0,-1536],[0,-512],[0,-4096],[0,-1536],[49536,0],[32896,0],[32896,0],[-147840,0],[0,12288],[0,-269312],[0,-526336],[0,-1591296],[0,-397824],[4374784,0]] + ], + "picks": [0,1,2,3,4,5,7,9,11,13,15,19,20,21,22,26], + "eigenvalues": [2096640,2741760,2903040,2970240,3427200,3655680,4112640,4210560,4700160,4993920,5581440,5875200,6110208,7441920], + "expected": { + "rank": 11520, + "spectrum": { + "14535/8192": 36, + "5967/4096": 100, + "11475/8192": 100, + "43605/32768": 576, + "39015/32768": 1600, + "2295/2048": 900, + "32895/32768": 1600, + "1785/2048": 900, + "26775/32768": 1600, + "23205/32768": 576, + "2835/4096": 100, + "5355/8192": 100, + "4095/8192": 36, + "16065/16384": 3296 + }, + "zero": 0 + } + }, + "11": { + "matrix": [ + [[16777216,0],[-7864320,7864320],[491520,0],[0,-1310720],[0,-1474560],[-92160,92160],[122880,122880],[-92160,92160],[0,-7680],[-2560,0],[0,-9216]], + [[-262144,-262144],[17006592,0],[43008,43008],[-4210688,4210688],[-3115008,3115008],[364032,0],[0,-1026048],[1175040,0],[-46848,46848],[15616,15616],[-96768,96768]], + [[8192,0],[21504,-21504],[16875648,0],[0,12032],[0,1480320],[-6318720,6318720],[-369408,-369408],[194688,-194688],[0,-1287936],[-237824,0],[0,96768]], + [[0,8192],[-789504,-789504],[0,-4512],[17088832,0],[290592,0],[134496,134496],[-1461696,1461696],[-4750560,-4750560],[143232,0],[0,-47744],[1145088,0]], + [[0,8192],[-519168,-519168],[0,-493440],[258304,0],[16970112,0],[245376,245376],[-4226304,4226304],[-2060928,-2060928],[189696,0],[0,-254720],[1018368,0]], + [[-128,-128],[15168,0],[-526560,-526560],[29888,-29888],[61344,-61344],[17244864,0],[0,2000256],[-533952,0],[-4167168,4167168],[-190720,-190720],[509184,-509184]], + [[128,-128],[0,32064],[-23088,23088],[-243616,-243616],[-792432,-792432],[0,-1500192],[17208384,0],[0,330912],[477120,477120],[-1061696,1061696],[-3089664,-3089664]], + [[-128,-128],[48960,0],[16224,16224],[-1055680,1055680],[-515232,515232],[-533952,0],[0,-441216],[17244864,0],[310272,-310272],[-55552,-55552],[-4103424,4103424]], + [[0,4],[-732,-732],[0,40248],[11936,0],[17784,0],[-1562688,-1562688],[238560,-238560],[116352,116352],[17339328,0],[0,1568576],[-3089664,0]], + [[-4,0],[732,-732],[-22296,0],[0,11936],[0,71640],[-214560,214560],[-1592544,-1592544],[-62496,62496],[0,-4705728],[16957888,0],[0,572544]], + [[0,4],[-1260,-1260],[0,-2520],[79520,0],[79560,0],[159120,159120],[-1287360,1287360],[-1282320,-1282320],[-2574720,0],[0,-159040],[17331264,0]] + ], + "picks": [0,1,2,4,5,7,11,13,15,20,21], + "eigenvalues": [10402560,12418560,14319360,15079680,16695360,18311040,18526464,19388160,21973248,25850880], + "expected": { + "rank": 11520, + "spectrum": { + "25245/16384": 16, + "85833/65536": 400, + "75735/65536": 1296, + "72369/65536": 400, + "143055/131072": 1600, + "260865/262144": 4096, + "55935/65536": 1296, + "24255/32768": 400, + "40635/65536": 16, + "58905/65536": 2000 + }, + "zero": 0 + } + }, + "12": { + "matrix": [ + [[67108864,0],[-31457280,0],[983040,0],[0,0],[2621440,0],[2949120,0],[-184320,0],[0,0],[0,0],[-245760,0],[-184320,0],[0,0],[7680,0],[0,0],[0,0],[2560,0],[9216,0],[0,0],[0,0],[0,0],[0,0]], + [[-1048576,0],[67567616,0],[184320,0],[-1048576,0],[-16809984,0],[-12423168,0],[726528,0],[262144,0],[196608,0],[2050048,0],[2348544,0],[-12288,0],[-93696,0],[-24576,0],[-32768,0],[-31232,0],[-193536,0],[-12288,0],[1536,0],[2048,0],[1536,0]], + [[16384,0],[92160,0],[67305600,0],[49152,0],[-24320,0],[-6106752,0],[-25226496,0],[-12288,0],[92160,0],[1525248,0],[776448,0],[196992,0],[2575872,0],[-11520,0],[-23808,0],[475648,0],[-193536,0],[196992,0],[-48384,0],[-47616,0],[2304,0]], + [[0,0],[-2097152,0],[196608,0],[67108864,0],[524288,0],[589824,0],[-86016,0],[-16777216,0],[-12582912,0],[-114688,0],[-86016,0],[786432,0],[7680,0],[1572864,0],[2097152,0],[2560,0],[9216,0],[786432,0],[-98304,0],[-131072,0],[-98304,0]], + [[16384,0],[-3151872,0],[-9120,0],[49152,0],[67764544,0],[580896,0],[554688,0],[-3154944,0],[-9216,0],[-5786496,0],[-18947520,0],[-8928,0],[286464,0],[286272,0],[590784,0],[95488,0],[2290176,0],[295200,0],[-16704,0],[-60288,0],[-54720,0]], + [[16384,0],[-2070528,0],[-2035584,0],[49152,0],[516352,0],[67559808,0],[1012992,0],[-12288,0],[-2070528,0],[-16857600,0],[-8195328,0],[61824,0],[379392,0],[258816,0],[516864,0],[509440,0],[2036736,0],[61824,0],[-31488,0],[-47616,0],[-48384,0]], + [[-256,0],[30272,0],[-2102208,0],[-1792,0],[123264,0],[253248,0],[68208000,0],[61696,0],[29376,0],[-8198912,0],[-2087808,0],[-2110272,0],[-16668672,0],[180864,0],[115840,0],[762880,0],[2036736,0],[56640,0],[771456,0],[197888,0],[-48000,0]], + [[0,0],[65536,0],[-6144,0],[-2097152,0],[-4206592,0],[-18432,0],[370176,0],[67567616,0],[393216,0],[763904,0],[1181184,0],[178176,0],[-93696,0],[-6131712,0],[-12636160,0],[-31232,0],[-193536,0],[-6309888,0],[357888,0],[1288192,0],[1168896,0]], + [[0,0],[65536,0],[61440,0],[-2097152,0],[-16384,0],[-4141056,0],[235008,0],[524288,0],[67436544,0],[1034240,0],[775680,0],[110592,0],[-93696,0],[-8429568,0],[-16826368,0],[-31232,0],[-193536,0],[110592,0],[493056,0],[1017856,0],[1574400,0]], + [[-256,0],[64064,0],[95328,0],[-1792,0],[-964416,0],[-3160800,0],[-6149184,0],[95488,0],[96960,0],[68200576,0],[757056,0],[89376,0],[1908480,0],[-3166656,0],[-984512,0],[-4246784,0],[-12358656,0],[-12000,0],[148416,0],[632960,0],[566592,0]], + [[-256,0],[97856,0],[64704,0],[-1792,0],[-4210560,0],[-2048832,0],[-2087808,0],[196864,0],[96960,0],[1009408,0],[68208000,0],[65088,0],[1241088,0],[37248,0],[-4234880,0],[222208,0],[-16413696,0],[-2110272,0],[-48000,0],[755456,0],[771456,0]], + [[0,0],[-2048,0],[65664,0],[65536,0],[-7936,0],[61824,0],[-8441088,0],[118784,0],[55296,0],[476672,0],[260352,0],[67436928,0],[2575872,0],[-3943680,0],[-40192,0],[475648,0],[-193536,0],[-2039424,0],[-16833792,0],[1000960,0],[518400,0]], + [[4,0],[-1464,0],[80496,0],[60,0],[23872,0],[35568,0],[-6250752,0],[-5856,0],[-4392,0],[954240,0],[465408,0],[241488,0],[69357312,0],[71136,0],[71616,0],[-6274304,0],[-12358656,0],[35568,0],[-6250752,0],[954240,0],[465408,0]], + [[0,0],[-2048,0],[-1920,0],[65536,0],[127232,0],[129408,0],[361728,0],[-2043904,0],[-2107392,0],[-8444416,0],[74496,0],[-1971840,0],[379392,0],[67560192,0],[905984,0],[509440,0],[2036736,0],[190848,0],[619776,0],[-8460800,0],[-8318208,0]], + [[0,0],[-2048,0],[-2976,0],[65536,0],[196928,0],[193824,0],[173760,0],[-3159040,0],[-3154944,0],[-1969024,0],[-6352320,0],[-15072,0],[286464,0],[679488,0],[68158400,0],[95488,0],[2290176,0],[289056,0],[364224,0],[-3877760,0],[-12649920,0]], + [[4,0],[-1464,0],[44592,0],[60,0],[23872,0],[143280,0],[858240,0],[-5856,0],[-4392,0],[-6370176,0],[249984,0],[133776,0],[-18822912,0],[286560,0],[71616,0],[67831552,0],[2290176,0],[143280,0],[858240,0],[-6370176,0],[249984,0]], + [[4,0],[-2520,0],[-5040,0],[60,0],[159040,0],[159120,0],[636480,0],[-10080,0],[-7560,0],[-5149440,0],[-5129280,0],[-15120,0],[-10298880,0],[318240,0],[477120,0],[636160,0],[69325056,0],[159120,0],[636480,0],[-5149440,0],[-5129280,0]], + [[0,0],[-2048,0],[65664,0],[65536,0],[262400,0],[61824,0],[226560,0],[-4206592,0],[55296,0],[-64000,0],[-8441088,0],[-2039424,0],[379392,0],[381696,0],[770816,0],[509440,0],[2036736,0],[67436928,0],[754944,0],[-16841216,0],[197376,0]], + [[0,0],[64,0],[-4032,0],[-2048,0],[-3712,0],[-7872,0],[771456,0],[59648,0],[61632,0],[197888,0],[-48000,0],[-4208448,0],[-16668672,0],[309888,0],[242816,0],[762880,0],[2036736,0],[188736,0],[68208000,0],[-8198912,0],[-2087808,0]], + [[0,0],[64,0],[-2976,0],[-2048,0],[-10048,0],[-8928,0],[148416,0],[161024,0],[95424,0],[632960,0],[566592,0],[187680,0],[1908480,0],[-3172800,0],[-1938880,0],[-4246784,0],[-12358656,0],[-3157728,0],[-6149184,0],[68200576,0],[757056,0]], + [[0,0],[64,0],[192,0],[-2048,0],[-12160,0],[-12096,0],[-48000,0],[194816,0],[196800,0],[755456,0],[771456,0],[129600,0],[1241088,0],[-4159104,0],[-8433280,0],[222208,0],[-16413696,0],[49344,0],[-2087808,0],[1009408,0],[68208000,0]] + ], + "picks": [0,1,2,3,4,5,7,9,10,11,13,14,15,18,19,20,21,22,24,26,31], + "eigenvalues": [41610240,49674240,53698560,56770560,57277440,60318720,60825600,64880640,65150976,66781440,68935680,73244160,73531392,74105856,77552640,78127104,82722816,87892992,103403520], + "expected": { + "rank": 11520, + "spectrum": { + "25245/16384": 1, + "85833/65536": 25, + "5049/4096": 225, + "9537/8192": 225, + "75735/65536": 81, + "72369/65536": 25, + "561/512": 2025, + "143055/131072": 100, + "260865/262144": 256, + "7953/8192": 900, + "495/512": 2025, + "7425/8192": 2025, + "55935/65536": 81, + "3465/4096": 225, + "6555/8192": 225, + "24255/32768": 25, + "40635/65536": 1, + "8415/8192": 2925, + "58905/65536": 125 + }, + "zero": 0 + } + } + } +} diff --git a/research/full-clifford-two-qubit-centre/NOTICE.md b/research/full-clifford-two-qubit-centre/NOTICE.md new file mode 100644 index 0000000000..44045be219 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/NOTICE.md @@ -0,0 +1,35 @@ +# Attribution and source references + +New work: MatShep, with substantial OpenAI Codex assistance (actual GPT-6.1 +Sol/xhigh for derivation, code, exact checking and documentation). A brief +actual GPT-6 Astra/high publication sanity check is separate; it is not an +independent human, proof-kernel or full multiplication-theorem review. +All new files are Apache-2.0, under the repository license. + +Ali Romman's PR5526 supplies the general pointwise Clifford/phase theorem and +open sharp-width/spectral question. MatShep's PR5549 and PR5594 supply the +one-qubit results and unreserved larger-qubit question. They are prior context, +not executable dependencies or certificates for this computation. The proof +and replay here are self-contained, with no imported predecessor code. + +DLamdata's PR5547 and josecarlosgonzalezroque-design's PR5570 are distinct +independent AI-assisted scoped audits. Retain Dugongue, Chris R/Clear1nsight, +Cao Yifan, Cinna Davis, zxv, Krzysztof Wojt, Nick Petalas and the credited +native/controller/history/Clifford/analytic lineage. Classical finite-group +regular representations, Pauli normalizers, spectral projectors and the Schur +product theorem retain their classical status. + +Exact pending-source context pins (not required at replay time): + +- PR5526, Ali Romman, head`45f7de73b168721cdf7ec8c1769b1b594493716a`, `research/clifford-pointwise-faithfulness/PROOF.md`, SHA256`45483e4b5f604a5e70602c5caaa4394d4a0d0d1a6d0b6e8a93b836d50b23f764`. +- PR5549, MatShep, head`7f104c00852346f0d07c4e87e830284e8daab67b`, `research/full-clifford-one-qubit/README.md`, SHA256`a38fccb6b1196821f00442f03e376b884f07b40ba7ddf99ae42d3cefa9afbec8`. +- PR5594, MatShep, head`bb6598a1622f74eeb73aeacc290224ef388b717d`, `research/full-clifford-one-qubit-spectrum/PROOF.md`, SHA256`1a7432f859600b7933d02e74a99c5ff584596596efe67049041e0c3b2f8f61aa`. + +No selected-frontier or supplier promotion is implied by local verification. + +JoyboyBrian's PR5051, exact head 0960807a68ff46acbe6510c8867912ef2324ee71, +already independently enumerates all 11,520 two-qubit projective Cliffords +for partial signed-Pauli contracts. This submission's enumeration is a new +implementation of that classical finite alphabet; the new result is its +tensor Gram spectrum, threshold and conditioning, not the group count. +No PR5051 executable or proof is imported. diff --git a/research/full-clifford-two-qubit-centre/PROOF.md b/research/full-clifford-two-qubit-centre/PROOF.md new file mode 100644 index 0000000000..5774060c87 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/PROOF.md @@ -0,0 +1,200 @@ +# Sharp two-qubit full-Clifford tensor threshold and conditioning + +Let G be the group of all two-qubit unitary Clifford matrices with entries in +Z[i,1/2]. Its scalar subgroup is Z={I,iI,-I,-iI}. Choose one representative U_a +of each projective class a in G/Z, and, for positive integer f, put + + H_f(a,b) = (tr(U_a^* U_b)/4)^f. + +This is the Gram matrix of the unit Hilbert-Schmidt vectors +U_a^{tensor f}/2^f. Changing representatives conjugates H_f by a diagonal +unitary, so its spectrum, rank and condition number are intrinsic. + +**Theorem.** There are 11,520 classes. Their pointwise tensor-independence +threshold is exactly 9. For every f>=9, + + (315/1024) I <= H_f <= (9855/4096) I. + +Both constants and the resulting uniform Gram condition bound 219/28 are +optimal, attained at f=9. The condition number of the synthesis map itself +is the square root of this Gram condition number. + +## 1. Authenticate the finite alphabet + +Use S=diag(1,i), V=((1+i,1-i),(1-i,1+i))/2 on either qubit, and CNOT with +basis map (a,b)->(a,b+a). The verifier stores 2U as a pair of 4-by-4 integer +matrices, enumerates their generated group by exact multiplication, and +checks all 46,080 elements are unitary. It checks that the five generators +normalize the signed two-qubit Pauli matrices and that quotienting by the +four scalar phases gives 11,520 distinct matrices. + +This exhausts the full projective Clifford group, rather than a selected +subalphabet. An ordered symplectic basis of F2^4 has +15*8*3*2=720 choices: choose a nonzero first vector, a vector pairing to one, +then a nonzero vector and its partner in their two-dimensional orthogonal +complement. Each symplectic action has at most 2^4 signed Pauli actions. +An operator's signed Pauli action determines it up to scalar, because the +Pauli matrices span the full matrix algebra. Thus there are at most +720*16=11,520 projective normalizers; the enumeration attains this bound. + +A scalar in Z[i,1/2] of modulus one is a Gaussian unit: write it as +(a+bi)/2^k and repeatedly use a^2+b^2=2^(2k) modulo four to divide a,b by +two. At k=0 only the four units remain. The enumerated four lifts therefore +also exhaust the Gaussian-dyadic scalar kernel. No eighth-root scalar is +silently identified with one. + +## 2. Reduce the Gram to the centre, retaining scalar residue + +On all of G, define the unnormalized matrix + + C_f(x,y) = tr(x^* y)^f. + +Its kernel is a central function of x^-1 y. Hence C_f is central convolution +in the finite group algebra, a semisimple algebra over C. Its eigenvalues +occur already in its action on class functions: each simple matrix block +has one central scalar, represented by its central idempotent. This is the +standard finite-group regular representation, not a numerical approximation. + +The verifier obtains all 59 conjugacy classes by closure of conjugation by +the five generators. For class representatives x_j and classes K_k, the +matrix on class functions is exactly + + M_f(j,k) = sum_{y in K_k} tr(x_j^* y)^f. (1) + +Every sum is recomputed from the literal integer matrices. No class table or +character table is imported. The range has scalar character +v(ix)=i^(-f) v(x). Orbiting the classes by multiplication by i and retaining +this character reduces (1) to R_f of dimensions 21,11,16,11 for f modulo +four equal to 0,1,2,3. Incompatible shorter scalar orbits contribute zero. +The verifier checks the entire 59-row invariance equation M_f B=B R_f. + +The other scalar sectors are zero. Grouping the four lifts of each +projective representative gives C_f/4^f as an outer product of a four-component +phase vector of squared norm four with itself, tensored with H_f. Consequently the nonzero +scalar-sector spectrum of C_f is exactly 4*4^f times the spectrum of H_f, +with the same multiplicities. There is no additional factor of four in +the projective multiplicities. + +## 3. An exact certificate, including regular multiplicities + +For each f=1..12, CERTIFICATE.json records the independently regenerated R_f +and a list L_f of distinct integer eigenvalues. The verifier uses unbounded +Gaussian-integer arithmetic to check + + product_{lambda in L_f} (R_f-lambda I) = 0. (2) + +The roots are distinct. Therefore the spectral projectors are the exact +polynomials + + P_lambda = product_{mu != lambda} + (R_f-mu I)/(lambda-mu). (3) + +Equations (2)-(3) certify the full spectrum without trusting the exploratory +symbolic eigensolver. The centre action is faithful on the corresponding +central ideal, so these identities also hold for central convolution in +the full regular representation. + +For completeness, the regular multiplicity is + + m_lambda = 11520 * (P_lambda)_(0,0). (4) + +Here index zero is the identity scalar orbit. Projecting delta_I to the +scalar sector gives B e_0/4. A central convolution operator has full regular +trace 46080 times its identity coefficient, so its spectral projector has +trace (46080/4)*(P_lambda)_(0,0), giving (4). The verifier evaluates the +integer numerator and denominator of (3), checks exact division, positive +integral multiplicities, their sum 11,520 and the unit-diagonal Gram trace. + +The resulting exact ranks for f=1..12 are + + 16,136,816,3426,9104,11384,11504,11519,11520,11520,11520,11520. + +At f=9 the full projective spectrum is: + +| Eigenvalue | Multiplicity | +|---|---:| +| 315/1024 | 16 | +| 2205/4096 | 400 | +| 2835/4096 | 1296 | +| 6615/8192 | 1600 | +| 3465/4096 | 400 | +| 16065/16384 | 4096 | +| 4725/4096 | 2000 | +| 5535/4096 | 1296 | +| 3375/2048 | 400 | +| 9855/4096 | 16 | + +All are positive, giving the stated endpoints at nine. There are ten +distinct eigenvalues in an eleven-dimensional central block; a central +multiplicity of two is combined in the regular multiplicity 2000. + +## 4. Propagate the bounds and prove sharpness + +The identity H_(f+1)=H_f Hadamard H_1 and the Schur product theorem imply + + a I <= H_f <= b I => a I <= H_(f+1) <= b I, + +because H_1 is positive semidefinite with diagonal one. Thus the two exact +endpoints at nine bound every f>=9. Their positive multiplicities make +each endpoint and their ratio 219/28 sharp for this uniform range. + +There is a particularly short explicit witness against width eight. +The character d(g)=det(g) is +/-1 for every enumerated lift and is invariant +under scalar multiplication by i. The verifier computes by the 24-term +determinant formula, separately from the centre spectral certificate, + + sum_{g in G} d(g) tr(g)^4 = 46080, + sum_{g in G} d(g) tr(g)^8 = 0, + sum_{g in G} d(g) tr(g)^12 = 103403520. (5) + +Multiplicativity of d makes the vector (d(g)) an eigenvector of C_f with +eigenvalue the corresponding sum. At width eight it is nonzero and null; +it descends to the 11,520 projective classes. Hence + + sum_a det(U_a) U_a^{tensor 8} = 0. + +Its normalized squared Hilbert-Schmidt norm is zero by the Gram identity. +This witness is nonzero at width twelve; no all-width identity follows from +the width-eight cancellation. In particular it is already nonzero at four. +The rank table shows all smaller positive widths also fail independence; +alternatively positive definiteness at any smaller width would propagate +to eight, contradicting (5). The threshold nine is therefore sharp. + +For a fixed residual in C[G], the four widths 9..12 suffice to decide its +vanishing at all positive widths: independence separates each projective +coefficient in one scalar residue, and the four-point Fourier transform +separates the four scalar lifts. This is only a sufficient window here; +no optimality among tests using several earlier widths is claimed. + +## 5. Arithmetic and scope of the checks + +All group and trace arithmetic uses NumPy int64 with explicit integrality, +entry and trace-magnitude checks. For f<=12, |tr(x^*y)|<=4 and every class +sum is bounded by 46080*4^12<2^40; the scalar-basis folds only use 0,+/-1,+/-i. +All relevant int64 intermediate bounds are below 2^63. Spectral polynomial +products and projector numerators then use unbounded Python integers. +There is no floating-point spectral calculation in the verifier. + +The verifier also checks 64 literal tensor Gram entries at widths one +through four. Seven controls reject width-eight independence, stronger +spectral/condition constants, an altered class-block coefficient, discarded +imaginary trace phases and persistence of the null witness at twelve. +Normal and optimized/warning-strict modes execute the same checks without +removable assertions. The written finite-group and Schur arguments provide +the all-width step; this is not a proof-assistant kernel certificate. + +No three-qubit result, general sharp 4n+1 theorem, physical implementation, +paid caller, supplier admission, precision/tape result, new kappa or selected +frontier change is claimed. + +## Attribution + +Ali Romman, PR5526, supplies the general pointwise Clifford/phase framework +and its open sharp-width/spectral question. MatShep's PR5549 and PR5594 solve +the one-qubit threshold and spectrum; their unreserved larger-qubit question +motivates this computation. DLamdata's PR5547 and +josecarlosgonzalezroque-design's PR5570 supply distinct scoped audits. Their +retained native/history/Clifford lineage is credited in NOTICE.md. Finite-group +centres, Pauli normalizers, character projectors, tensor Gram identities and +Schur products are classical. New two-qubit enumeration and certificates: +MatShep with substantial OpenAI Codex assistance; Apache-2.0. diff --git a/research/full-clifford-two-qubit-centre/README.md b/research/full-clifford-two-qubit-centre/README.md new file mode 100644 index 0000000000..caf6938e3b --- /dev/null +++ b/research/full-clifford-two-qubit-centre/README.md @@ -0,0 +1,91 @@ +# Sharp full two-qubit Clifford tensor threshold and conditioning + +The full two-qubit Gaussian-dyadic Clifford alphabet has **11,520 projective +classes**. Its sharp pointwise tensor-independence threshold is **9**. +For every width f>=9, its normalized tensor Gram matrix has optimal uniform +spectral bounds **315/1024** and **9855/4096**, hence sharp Gram condition +number **219/28**. All three constants are attained at width nine. + +This answers the two-qubit next question left by MatShep's +[one-qubit spectrum PR5594](https://github.com/CrocSwap/integer-mult-bounds/pull/5594) +and sharpens the n=2 sufficient threshold 12 in Ali Romman's +[general pointwise theorem PR5526](https://github.com/CrocSwap/integer-mult-bounds/pull/5526). +It is a native-algebra side result: no new kappa, selected-frontier change, +physical supplier, precision/tape or paid-caller claim. + +The [self-contained proof](PROOF.md) explains the all-width Schur-product step. +The computation avoids a dense 11,520-square Gram: it enumerates 46,080 exact +lifts and 59 conjugacy classes, then retains scalar-residue blocks of sizes +11,16,11,21. The [certificate](CERTIFICATE.json) contains exact finite block +matrices and eigenvalues at widths 1..12. The verifier regenerates each block +and certifies the spectrum and full regular multiplicities by unbounded-integer +polynomial identities. No symbolic or numerical eigensolver is used in replay. + +Ranks at widths 1..12 are +`16,136,816,3426,9104,11384,11504,11519,11520,11520,11520,11520`. +The literal determinant character supplies a nonzero null vector at width +eight; its separate character sums are zero at eight and nonzero at four +and twelve. It is not an all-width identity. + +## Reproduce + +Python 3.12 and NumPy 2.3.5 suffice. No network, Git or predecessor executable +is needed for either direct scientific command once NumPy is installed: + +```sh +python -B research/full-clifford-two-qubit-centre/verify.py +python -I -O -W error -B research/full-clifford-two-qubit-centre/verify.py +``` + +For registered metadata/pins and both scientific commands from the repository: + +```sh +python -B scripts/research_package.py --package research/full-clifford-two-qubit-centre +``` + +Both modes pass locally on CPython 3.12.14, NumPy 2.3.5, Windows 11, with equal +complete JSON payloads in [RESULT.json](RESULT.json). The verifier authenticates +all group elements and class data, exact spectra and multiplicities, 64 literal +tensor Gram entries, and seven rejecting controls. It uses explicit checks +that remain active under optimized Python. The full width-nine spectrum is +tabulated in PROOF.md. The proof and finite certificate are author checked; +no independent human or proof-assistant acceptance is claimed. Hosted CI is +separate from these local checks. + +## Sources and overlap + +Base: canonical main `5e0052ca0aa3036a3afa8b0438927377c8d97d53`, priority 7, +selected PR5413 unchanged. [TASK.json](TASK.json) records the changed scope +from the frozen formal-interface card. [SOURCES.json](SOURCES.json) pins the +catalogue and selected record as provenance; there are no external scientific +inputs. All matrix generators and certificate checks are implemented here. + +Current guidance, the selected review and source manifest, live handoff thread +1166 and canonical Clifford thread 5236 were read. Targeted all-state PR/Issue +searches covered two-qubit tensor,11520,Clifford spectrum and Clifford Gram; +Discussion queries covered two-qubit and Clifford spectrum. The relevant +matches were the credited one-qubit/general packages and the distinct two-qubit +partial-Pauli census in JoyboyBrian's PR5051 and unrelated qubit repair PR5245. +The 11,520-class group count itself is classical/prior; this computation adds +the tensor spectrum and sharp quantitative bounds. No equivalent result was found in that bounded coverage. +The repository overlap helper was also attempted: gh was unavailable and local +sparse coverage was 4 of 7611 notes. The direct authenticated/public API checks +do not establish universal novelty, arbitrary historical diff coverage or +coverage of unpublished work. Active P104/query-history scopes are excluded. + +## Open next questions + +Does the sharp threshold 4n+1 continue at three or more qubits? This could +sharpen exact native interface tests. First seek a representation or class +reduction before a much larger enumeration. Only n=1 in the predecessor and +n=2 here are established; neither a general theorem nor a three-qubit test +is supplied. The [structured question](TASK.json) records these limits. + +## Attribution + +New two-qubit computation and certificate: MatShep with substantial OpenAI +Codex assistance. Credit Ali Romman/#5526, MatShep/#5549/#5594, +DLamdata/#5547, josecarlosgonzalezroque-design/#5570 and the retained lineage. +Exact predecessor references and source notices are in [NOTICE.md](NOTICE.md). +Finite-group centres, Pauli normalizers, character projectors, tensor Grams +and Schur products are classical. Apache-2.0. diff --git a/research/full-clifford-two-qubit-centre/RESULT.json b/research/full-clifford-two-qubit-centre/RESULT.json new file mode 100644 index 0000000000..3a0e05b753 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/RESULT.json @@ -0,0 +1,56 @@ +{ + "conjugacy_classes": 59, + "determinant_character_moments": { + "4": 46080, + "8": 0, + "12": 103403520 + }, + "lifts": 46080, + "literal_tensor_entries": 64, + "projective_classes": 11520, + "ranks_widths_1_to_12": [ + 16, + 136, + 816, + 3426, + 9104, + 11384, + 11504, + 11519, + 11520, + 11520, + 11520, + 11520 + ], + "rejection_controls": [ + "width-eight independence rejected", + "stronger lower bound rejected", + "stronger upper bound rejected", + "stronger condition bound rejected", + "changed centre coefficient rejected", + "discarded imaginary trace phases rejected", + "null witness at width twelve rejected" + ], + "scalar_sector_dimensions": { + "0": 21, + "1": 11, + "2": 16, + "3": 11 + }, + "sharp_uniform_gram_condition": "219/28", + "sharp_uniform_lower": "315/1024", + "sharp_uniform_upper": "9855/4096", + "status": "PASS_TWO_QUBIT_CLIFFORD_CENTRE", + "width_nine_spectrum": { + "16065/16384": 4096, + "2205/4096": 400, + "2835/4096": 1296, + "315/1024": 16, + "3375/2048": 400, + "3465/4096": 400, + "4725/4096": 2000, + "5535/4096": 1296, + "6615/8192": 1600, + "9855/4096": 16 + } +} diff --git a/research/full-clifford-two-qubit-centre/SOURCES.json b/research/full-clifford-two-qubit-centre/SOURCES.json new file mode 100644 index 0000000000..095c982619 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "5e0052ca0aa3036a3afa8b0438927377c8d97d53", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "fc3d4ba105e1f097d0d7d051a308281e86ab1446", + "sha256": "66974efdced4083c00025f97d95d83909a226cdf801edb9301c195c6641f6903" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + } + ] +} diff --git a/research/full-clifford-two-qubit-centre/TASK.json b/research/full-clifford-two-qubit-centre/TASK.json new file mode 100644 index 0000000000..78277e530e --- /dev/null +++ b/research/full-clifford-two-qubit-centre/TASK.json @@ -0,0 +1,95 @@ +{ + "schema_version": 1, + "task_id": "formal-interface-lemma", + "priority_revision": 7, + "base_commit": "5e0052ca0aa3036a3afa8b0438927377c8d97d53", + "original_card": { + "id": "formal-interface-lemma", + "question": "Can one uncovered interface implication be formalized with exact caller and certificate bindings?", + "starting_points": [ + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "research/gate-operand-parity-lean/README.md", + "research/staged544-certified-endpoint/README.md", + "research/unconditional-batched-crt/README.md" + ], + "methods": [ + "Formalize a missing boundary lemma identified by the selected review.", + "Audit a formal theorem-to-certificate binding independently." + ], + "acceptance_gate": "State the exact formalized proposition and remaining assumptions; avoid duplicate arithmetic formalizations already present.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Inventory the gate-operand parity lemma (#3807) and certified endpoint arithmetic (#3857). Neither is a full multiplication proof. For #4100, audit the compact-switch statement and its hypotheses before formalizing it.", + "scope": "Source-binding orientation only; no scientific replay, theorem acceptance or supplier admission. Budget any heavy replay separately." + }, + "first_experiment": "Write one missing statement with quantified hypotheses, actual caller and existing coverage. A compact-switch lemma is a candidate only after its mathematical contract is reviewed. Establish a bounded proof plan before a separately budgeted proof-assistant build; do not rerun large Lean jobs as orientation.", + "bottleneck_link": "A missing interface proof can reduce the conditional gap even if it does not change kappa.", + "allowed_variations": [ + "Narrow to one formal lemma or one theorem-to-certificate binding." + ], + "scope_change_triggers": [ + "Formalizing already-covered arithmetic and claiming the full multiplication theorem." + ], + "overlap_terms": [ + "hyperplane end", + "formal interface", + "Lean binding", + "3807", + "3857", + "4100", + "gate-operand-parity-lean", + "staged544-certified-endpoint", + "unconditional-batched-crt" + ], + "existing_checks": [ + { + "scope": "PR #3807: scoped gate-operand parity formalization.", + "evidence": "research/gate-operand-parity-lean/README.md", + "remaining": "Exact theorem-to-caller binding and genuinely uncovered interface lemmas.", + "status": "author-checked", + "source_commit": "4c3530f42a6abcc48e7a6bcffd6c901911dc8269", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #3857: certified real-power moment/endpoint arithmetic.", + "evidence": "research/staged544-certified-endpoint/README.md", + "remaining": "Uniform algorithmic implications, not another endpoint digit.", + "status": "author-checked", + "source_commit": "ef4315b8caa605e47a2515004845eb2d2ed71a86", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #4100: compact-switch formalization proposed as future validation.", + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Audit the statement and assumptions before a formal proof campaign.", + "status": "author-checked", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + } + ] + }, + "scope_status": "changed", + "actual_scope": "Exact two-qubit full-Clifford tensor-Gram ranks, sharp threshold nine and sharp uniform spectral bounds using conjugacy-class reduction.", + "scope_change_reason": "PR5526 and PR5594 leave larger full-Clifford Gram spectra open. This independently implemented finite central-extension certificate resolves the full two-qubit alphabet; it replaces a proof-assistant campaign, with no formal-kernel claim.", + "bottleneck_link": "A precise small-alphabet native tensor separation result sharpens exact interface tests. It supplies no physical supplier, selected paid-profile or kappa improvement.", + "budget_minutes": 60, + "stop_rule": "Finish the compact exact class-block certificate, determinant null witness, normal/optimized and portable checks, and frozen handoff. Do not expand to three qubits or a physical caller.", + "outcome": "completed", + "evidence": "PROOF.md, CERTIFICATE.json, RESULT.json, exact int64 group/class enumeration and unbounded-integer spectral/projector checks.", + "author": "MatShep", + "ai_assistance": "Substantial OpenAI Codex assistance: actual GPT-6.1 Sol/xhigh research, derivation, implementation, exact verification and documentation. A brief actual GPT-6 Astra/high publication pass is separate. No independent human or proof-kernel acceptance.", + "open_questions": [ + { + "question": "Does the sharp pointwise threshold 4n+1 continue at three or more qubits?", + "why_it_matters": "A general sharp threshold would reduce native-algebra identity tests beyond the two-qubit case.", + "first_step": "Seek a representation or central-algebra reduction before enumerating the much larger three-qubit group.", + "blocked_by": "Only n=1 and n=2 are established here and in the credited predecessor; the next full group is substantially larger." + } + ] +} diff --git a/research/full-clifford-two-qubit-centre/VERIFY.json b/research/full-clifford-two-qubit-centre/VERIFY.json new file mode 100644 index 0000000000..00bc5b4858 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/VERIFY.json @@ -0,0 +1,33 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [ + "numpy==2.3.5" + ], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "Exact full group/class enumeration, finite centre spectra1..12, determinant null witness, literal tensors and seven rejection controls" + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-W", + "error", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "Same exact scientific checks with assertions disabled and warnings treated as errors" + } + ] +} diff --git a/research/full-clifford-two-qubit-centre/verify.py b/research/full-clifford-two-qubit-centre/verify.py new file mode 100644 index 0000000000..781a1a9747 --- /dev/null +++ b/research/full-clifford-two-qubit-centre/verify.py @@ -0,0 +1,288 @@ +#!/usr/bin/env python3 +"""Exact two-qubit Clifford centre. MatShep/Codex; Apache-2.0. + +NumPy does bounded int64 arithmetic only. Spectral certificates use unbounded +Python integers. No floating-point eigenvalue computation or symbolic package. +""" +from fractions import Fraction +from hashlib import sha256 +from itertools import permutations +import json +from pathlib import Path +import numpy as np + +HERE = Path(__file__).resolve().parent + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def mul(a, b): + ar, ai, br, bi = a[..., 0, :, :], a[..., 1, :, :], b[..., 0, :, :], b[..., 1, :, :] + rr, ii = ar @ br - ai @ bi, ar @ bi + ai @ br + need(not np.any(rr % 2) and not np.any(ii % 2), 'scaled Gaussian integrality') + out = np.stack((rr // 2, ii // 2), axis=-3) + need(np.max(np.abs(out)) <= 2, 'unitary entry encoding bound') + return out + + +def star(a): + b = a.swapaxes(-1, -2).copy() + b[..., 1, :, :] *= -1 + return b + + +def phase(a): + return np.stack((-a[..., 1, :, :], a[..., 0, :, :]), axis=-3) + + +def key(a): + return a.astype('int8').tobytes() + + +IDENT = np.stack((2 * np.eye(4, dtype='int64'), np.zeros((4, 4), dtype='int64'))) + + +def embed(a, axis): + return np.stack([np.kron(x, np.eye(2, dtype='int64')) if axis == 0 + else np.kron(np.eye(2, dtype='int64'), x) for x in a]) + + +S = np.array([[[2, 0], [0, 0]], [[0, 0], [0, 2]]], dtype='int64') +V = np.array([[[1, 1], [1, 1]], [[1, -1], [-1, 1]]], dtype='int64') +CNOT = np.zeros((2, 4, 4), dtype='int64') +for j in range(4): + CNOT[0, j ^ ((j >> 1) & 1), j] = 2 +GENERATORS = np.array([embed(S, 0), embed(V, 0), embed(S, 1), embed(V, 1), CNOT]) + + +def enumerate_group(): + mats, index, frontier = [IDENT], {key(IDENT): 0}, np.array([IDENT]) + while len(frontier): + new = [] + for s in GENERATORS: + for a in mul(s, frontier): + k = key(a) + if k not in index: + index[k] = len(mats) + mats.append(a) + new.append(a) + frontier = np.array(new) + g = np.array(mats) + need(len(g) == 46080, '46080 exact elements') + need(np.all(mul(star(g), g) == IDENT), 'all lifts unitary') + need(all(key(p) in index for p in (IDENT, phase(IDENT), -IDENT, -phase(IDENT))), 'four scalar lifts') + # Exact integer Pauli alphabet; generator normalization extends by closure. + local = [np.array([[[2, 0], [0, 2]], [[0, 0], [0, 0]]]), + np.array([[[0, 2], [2, 0]], [[0, 0], [0, 0]]]), + np.array([[[0, 0], [0, 0]], [[0, -2], [2, 0]]]), + np.array([[[2, 0], [0, -2]], [[0, 0], [0, 0]]])] + p2 = [] + for a in local: + for b in local: + p2.append(np.stack((np.kron(a[0], b[0]) - np.kron(a[1], b[1]), + np.kron(a[0], b[1]) + np.kron(a[1], b[0]))) // 2) + pkeys = {key(p) for p in p2} | {key(-p) for p in p2} + for s in GENERATORS: + need(all(key(mul(mul(s, p), star(s))) in pkeys for p in p2), 'signed Pauli normalizer') + canonical = {min(key(a), key(phase(a)), key(-a), key(-phase(a))) for a in g} + need(len(canonical) == 11520, '11520 projective classes') + parent = list(range(len(g))) + + def find(a): + while parent[a] != a: + parent[a] = parent[parent[a]] + a = parent[a] + return a + + for s in GENERATORS: + for a, b in enumerate(mul(mul(s, g), star(s))): + u, v = find(a), find(index[key(b)]) + if u != v: + parent[v] = u + classes = {} + for a in range(len(g)): + classes.setdefault(find(a), []).append(a) + classes = sorted(classes.values(), key=lambda c: c[0]) + labels = np.zeros(len(g), dtype='int64') + for j, c in enumerate(classes): + labels[c] = j + need(len(classes) == 59, '59 conjugacy classes') + return g, index, labels, np.array([c[0] for c in classes]) + + +def power(a, b, f): + x, y = np.ones_like(a), np.zeros_like(b) + for _ in range(f): + x, y = x * a - y * b, x * b + y * a + return x, y + + +def scalar_basis(iperm, r): + done, columns, picks = set(), [], [] + for j in range(len(iperm)): + if j in done: + continue + orbit, k = [], j + while k not in orbit: + orbit.append(k) + done.add(k) + k = iperm[k] + if (r * len(orbit)) % 4: + continue + v = np.zeros((2, len(iperm)), dtype='int64') + for t, k in enumerate(orbit): + v[:, k] = ((1, 0), (0, 1), (-1, 0), (0, -1))[(r * t) % 4] + columns.append(v) + picks.append(j) + return np.stack(columns, axis=-1), picks + + +def centre_matrix(traces, labels, f): + ar, ai = [], [] + for rr, ii in traces: + a, b = power(rr, ii, f) + x, y = np.zeros(len(traces), dtype='int64'), np.zeros(len(traces), dtype='int64') + np.add.at(x, labels, a) + np.add.at(y, labels, b) + ar.append(x) + ai.append(y) + return np.array(ar), np.array(ai) + + +def matvec(a, v, shift=0): + return [(sum(x * u - y * w for (x, y), (u, w) in zip(row, v)) - shift * v[i][0], + sum(x * w + y * u for (x, y), (u, w) in zip(row, v)) - shift * v[i][1]) + for i, row in enumerate(a)] + + +def spectral_certificate(a, values): + d = len(a) + for j in range(d): + v = [(int(i == j), 0) for i in range(d)] + for x in values: + v = matvec(a, v, x) + need(not any(x or y for x, y in v), 'exact square-free spectral annihilator') + counts = {} + for x in values: + v, den = [(int(i == 0), 0) for i in range(d)], 1 + for y in values: + if y != x: + v, den = matvec(a, v, y), den * (x - y) + need(v[0][1] == 0 and (11520 * v[0][0]) % den == 0, 'exact projector trace') + count = 11520 * v[0][0] // den + need(count > 0, 'positive regular spectral multiplicity') + counts[x] = count + need(sum(counts.values()) == 11520, 'complete regular spectral mass') + return counts + + +def determinants(g): + rr, ii = np.zeros(len(g), dtype='int64'), np.zeros(len(g), dtype='int64') + for p in permutations(range(4)): + sign = (-1) ** sum(p[i] > p[j] for i in range(4) for j in range(i + 1, 4)) + a, b = np.ones(len(g), dtype='int64'), np.zeros(len(g), dtype='int64') + for j in range(4): + x, y = g[:, 0, j, p[j]], g[:, 1, j, p[j]] + a, b = a * x - b * y, a * y + b * x + rr, ii = rr + sign * a, ii + sign * b + need(np.all(ii == 0) and np.all(np.abs(rr) == 16), 'determinant character +/-1') + return rr // 16 + + +def literal_controls(g): + chosen, count = g[[0, 1, 4, 111]], 0 + for f in range(1, 5): + tensors = [] + for a in chosen: + rr, ii = np.array([[1]], dtype='int64'), np.array([[0]], dtype='int64') + for _ in range(f): + rr, ii = np.kron(rr, a[0]) - np.kron(ii, a[1]), np.kron(rr, a[1]) + np.kron(ii, a[0]) + tensors.append((rr, ii)) + for i, (a, b) in enumerate(tensors): + for j, (c, d) in enumerate(tensors): + tr = (int(np.sum(chosen[i, 0] * chosen[j, 0] + chosen[i, 1] * chosen[j, 1])), + int(np.sum(chosen[i, 0] * chosen[j, 1] - chosen[i, 1] * chosen[j, 0]))) + x, y = power(np.array(tr[0]), np.array(tr[1]), f) + need(int(np.sum(a * c + b * d)) == x and int(np.sum(a * d - b * c)) == y, 'literal tensor Gram') + count += 1 + return count + + +def run(): + cert = json.loads((HERE / 'CERTIFICATE.json').read_text()) + g, index, labels, reps = enumerate_group() + need(sha256(g.astype('int8').tobytes()).hexdigest() == cert['group_int8_sha256'], 'group receipt') + need(sha256(labels.astype('= lo + Fraction(1, 2 ** 20), 'reject stronger lower bound'); controls.append('stronger lower bound rejected') + need(not hi <= hi - Fraction(1, 2 ** 20), 'reject stronger upper bound'); controls.append('stronger upper bound rejected') + need(not hi / lo <= Fraction(219, 28) - Fraction(1, 1000), 'reject stronger condition bound'); controls.append('stronger condition bound rejected') + bad = [list(row) for row in actual9] + bad[0][0] = (bad[0][0][0] + 1, bad[0][0][1]) + try: + spectral_certificate(bad, cert['widths']['9']['eigenvalues']) + except ValueError: + controls.append('changed centre coefficient rejected') + else: + raise ValueError('mutated centre matrix accepted') + real_only = traces.copy(); real_only[:, 1] = 0 + ar, ai = centre_matrix(real_only, labels, 9) + (br, bi), picks = scalar_basis(iperm, -9 % 4) + cr = np.array([[x for x, y in row] for row in actual9]); ci = np.array([[y for x, y in row] for row in actual9]) + need(not np.array_equal(ar @ br - ai @ bi, br @ cr - bi @ ci), 'reject discarded imaginary traces') + controls.append('discarded imaginary trace phases rejected') + need(moments[12] != moments[8], 'reject persistence of null witness'); controls.append('null witness at width twelve rejected') + return {'status': 'PASS_TWO_QUBIT_CLIFFORD_CENTRE', 'lifts': len(g), 'projective_classes': 11520, + 'conjugacy_classes': len(reps), 'scalar_sector_dimensions': dimensions, + 'ranks_widths_1_to_12': ranks, 'width_nine_spectrum': spectra[9], + 'sharp_uniform_lower': str(lo), 'sharp_uniform_upper': str(hi), + 'sharp_uniform_gram_condition': str(hi / lo), 'determinant_character_moments': moments, + 'literal_tensor_entries': literal_controls(g), 'rejection_controls': controls} + + +if __name__ == '__main__': + print(json.dumps(run(), indent=2, sort_keys=True))