From 22d63f263830c68ac47499d7eaac480bad2aee14 Mon Sep 17 00:00:00 2001 From: yfc Date: Fri, 6 Nov 2026 06:12:43 +0800 Subject: [PATCH] data: rename seven tier5 stems with reproduced GH-225/GH-227 CC lower bounds TN_324_4_23to25 (was TN_324_4_22to25), TN_496_2_28to30 (was TN_496_2_27to30), TN_540_4_24to34 (was TN_540_4_23to34), TN_648_14_22to28 (was TN_648_14_21to28), TN_684_2_24to29 (was TN_684_2_22to29), COLOR_1027_1_31to37 (was COLOR_1027_1_28to37), COLOR_2791_1_28to61 (was COLOR_2791_1_26to61). Same matrices; only the Gx/Gz header comments change. Each lower bound was reached by at least two CC runs with different search trees (relabelled qubits and rows, a different row order, or a different binary); same engine, not an independent method; upper bounds unchanged. Records: optimization/experiments/GH-225/lb-repro/ (12 h reproduction runs on main 1239e9a2, yfclab2 CPUs 64-95); witness copies under the new stems in optimization/experiments/GH-146/witnesses/renamed-2026-11-06/ (5/5 VALID). Co-Authored-By: Claude Opus 5.5 --- NOTICE | 14 ++ data/matrices/README.md | 14 +- ...to37_Gx.txt => COLOR_1027_1_31to37_Gx.txt} | 2 +- ...to37_Gz.txt => COLOR_1027_1_31to37_Gz.txt} | 2 +- ...to37_Hx.txt => COLOR_1027_1_31to37_Hx.txt} | 0 ...to37_Hz.txt => COLOR_1027_1_31to37_Hz.txt} | 0 ...to61_Gx.txt => COLOR_2791_1_28to61_Gx.txt} | 2 +- ...to61_Gz.txt => COLOR_2791_1_28to61_Gz.txt} | 2 +- ...to61_Hx.txt => COLOR_2791_1_28to61_Hx.txt} | 0 ...to61_Hz.txt => COLOR_2791_1_28to61_Hz.txt} | 0 ...4_22to25_Gx.txt => TN_324_4_23to25_Gx.txt} | 2 +- ...4_22to25_Gz.txt => TN_324_4_23to25_Gz.txt} | 2 +- ...4_22to25_Hx.txt => TN_324_4_23to25_Hx.txt} | 0 ...4_22to25_Hz.txt => TN_324_4_23to25_Hz.txt} | 0 ...2_27to30_Gx.txt => TN_496_2_28to30_Gx.txt} | 2 +- ...2_27to30_Gz.txt => TN_496_2_28to30_Gz.txt} | 2 +- ...2_27to30_Hx.txt => TN_496_2_28to30_Hx.txt} | 0 ...2_27to30_Hz.txt => TN_496_2_28to30_Hz.txt} | 0 ...4_23to34_Gx.txt => TN_540_4_24to34_Gx.txt} | 2 +- ...4_23to34_Gz.txt => TN_540_4_24to34_Gz.txt} | 2 +- ...4_23to34_Hx.txt => TN_540_4_24to34_Hx.txt} | 0 ...4_23to34_Hz.txt => TN_540_4_24to34_Hz.txt} | 0 ..._21to28_Gx.txt => TN_648_14_22to28_Gx.txt} | 2 +- ..._21to28_Gz.txt => TN_648_14_22to28_Gz.txt} | 2 +- ..._21to28_Hx.txt => TN_648_14_22to28_Hx.txt} | 0 ..._21to28_Hz.txt => TN_648_14_22to28_Hz.txt} | 0 ...2_22to29_Gx.txt => TN_684_2_24to29_Gx.txt} | 2 +- ...2_22to29_Gz.txt => TN_684_2_24to29_Gz.txt} | 2 +- ...2_22to29_Hx.txt => TN_684_2_24to29_Hx.txt} | 0 ...2_22to29_Hz.txt => TN_684_2_24to29_Hz.txt} | 0 data/matrices/untiered/MANIFEST.csv | 4 +- data/matrices/untiered/README.md | 4 +- data/matrices/untiered/validation.json | 4 +- optimization/baselines/SERVER.md | 56 ++++---- .../baselines/main_server_reference.json | 66 ++++----- .../TN_324_4_23to25.X.w25.txt | 6 + .../TN_496_2_28to30.Z.w30.txt | 7 + .../TN_540_4_24to34.X.w34.txt | 6 + .../TN_648_14_22to28.Z.w28.txt | 6 + .../TN_684_2_24to29.Z.w29.txt | 6 + .../witnesses/renamed-2026-11-06/VERIFY.txt | 6 + .../GH-225/lb-repro/REPRODUCTION.md | 34 +++++ .../experiments/GH-225/lb-repro/analysis.md | 95 +++++++++++++ .../experiments/GH-225/lb-repro/logs.tgz | Bin 0 -> 121754 bytes .../orig/gh225_tier5_results.jsonl.gz | Bin 0 -> 147141 bytes .../GH-225/lb-repro/repro/RUNNER_DONE | 1 + .../GH-225/lb-repro/repro/config.json | 44 ++++++ .../GH-225/lb-repro/repro/jobs.jsonl | 24 ++++ .../GH-225/lb-repro/repro/results.jsonl | 24 ++++ .../GH-225/lb-repro/repro/skips.log | 3 + .../GH-225/lb-repro/repro2/RUNNER_DONE | 1 + .../GH-225/lb-repro/repro2/config.json | 67 +++++++++ .../GH-225/lb-repro/repro2/jobs.jsonl | 1 + .../GH-225/lb-repro/repro2/results.jsonl | 1 + .../GH-225/lb-repro/runner/analyze_lb.py | 67 +++++++++ .../GH-225/lb-repro/runner/gh225lb_queue.py | 132 ++++++++++++++++++ .../GH-225/lb-repro/runner/make_jobs_lb.py | 13 ++ .../GH-225/lb-repro/runner/status.py | 22 +++ 58 files changed, 673 insertions(+), 83 deletions(-) rename data/matrices/tier5/{COLOR_1027_1_28to37_Gx.txt => COLOR_1027_1_31to37_Gx.txt} (99%) rename data/matrices/tier5/{COLOR_1027_1_28to37_Gz.txt => COLOR_1027_1_31to37_Gz.txt} (99%) rename data/matrices/tier5/{COLOR_1027_1_28to37_Hx.txt => COLOR_1027_1_31to37_Hx.txt} (100%) rename data/matrices/tier5/{COLOR_1027_1_28to37_Hz.txt => COLOR_1027_1_31to37_Hz.txt} (100%) rename data/matrices/tier5/{COLOR_2791_1_26to61_Gx.txt => COLOR_2791_1_28to61_Gx.txt} (99%) rename data/matrices/tier5/{COLOR_2791_1_26to61_Gz.txt => COLOR_2791_1_28to61_Gz.txt} (99%) rename data/matrices/tier5/{COLOR_2791_1_26to61_Hx.txt => COLOR_2791_1_28to61_Hx.txt} (100%) rename data/matrices/tier5/{COLOR_2791_1_26to61_Hz.txt => COLOR_2791_1_28to61_Hz.txt} (100%) rename data/matrices/tier5/{TN_324_4_22to25_Gx.txt => TN_324_4_23to25_Gx.txt} (99%) rename data/matrices/tier5/{TN_324_4_22to25_Gz.txt => TN_324_4_23to25_Gz.txt} (99%) rename data/matrices/tier5/{TN_324_4_22to25_Hx.txt => TN_324_4_23to25_Hx.txt} (100%) rename data/matrices/tier5/{TN_324_4_22to25_Hz.txt => TN_324_4_23to25_Hz.txt} (100%) rename data/matrices/tier5/{TN_496_2_27to30_Gx.txt => TN_496_2_28to30_Gx.txt} (99%) rename data/matrices/tier5/{TN_496_2_27to30_Gz.txt => TN_496_2_28to30_Gz.txt} (99%) rename data/matrices/tier5/{TN_496_2_27to30_Hx.txt => TN_496_2_28to30_Hx.txt} (100%) rename data/matrices/tier5/{TN_496_2_27to30_Hz.txt => TN_496_2_28to30_Hz.txt} (100%) rename data/matrices/tier5/{TN_540_4_23to34_Gx.txt => TN_540_4_24to34_Gx.txt} (99%) rename data/matrices/tier5/{TN_540_4_23to34_Gz.txt => TN_540_4_24to34_Gz.txt} (99%) rename data/matrices/tier5/{TN_540_4_23to34_Hx.txt => TN_540_4_24to34_Hx.txt} (100%) rename data/matrices/tier5/{TN_540_4_23to34_Hz.txt => TN_540_4_24to34_Hz.txt} (100%) rename data/matrices/tier5/{TN_648_14_21to28_Gx.txt => TN_648_14_22to28_Gx.txt} (99%) rename data/matrices/tier5/{TN_648_14_21to28_Gz.txt => TN_648_14_22to28_Gz.txt} (99%) rename data/matrices/tier5/{TN_648_14_21to28_Hx.txt => TN_648_14_22to28_Hx.txt} (100%) rename data/matrices/tier5/{TN_648_14_21to28_Hz.txt => TN_648_14_22to28_Hz.txt} (100%) rename data/matrices/tier5/{TN_684_2_22to29_Gx.txt => TN_684_2_24to29_Gx.txt} (99%) rename data/matrices/tier5/{TN_684_2_22to29_Gz.txt => TN_684_2_24to29_Gz.txt} (99%) rename data/matrices/tier5/{TN_684_2_22to29_Hx.txt => TN_684_2_24to29_Hx.txt} (100%) rename data/matrices/tier5/{TN_684_2_22to29_Hz.txt => TN_684_2_24to29_Hz.txt} (100%) create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_324_4_23to25.X.w25.txt create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_496_2_28to30.Z.w30.txt create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_540_4_24to34.X.w34.txt create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_648_14_22to28.Z.w28.txt create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_684_2_24to29.Z.w29.txt create mode 100644 optimization/experiments/GH-146/witnesses/renamed-2026-11-06/VERIFY.txt create mode 100644 optimization/experiments/GH-225/lb-repro/REPRODUCTION.md create mode 100644 optimization/experiments/GH-225/lb-repro/analysis.md create mode 100644 optimization/experiments/GH-225/lb-repro/logs.tgz create mode 100644 optimization/experiments/GH-225/lb-repro/orig/gh225_tier5_results.jsonl.gz create mode 100644 optimization/experiments/GH-225/lb-repro/repro/RUNNER_DONE create mode 100644 optimization/experiments/GH-225/lb-repro/repro/config.json create mode 100644 optimization/experiments/GH-225/lb-repro/repro/jobs.jsonl create mode 100644 optimization/experiments/GH-225/lb-repro/repro/results.jsonl create mode 100644 optimization/experiments/GH-225/lb-repro/repro/skips.log create mode 100644 optimization/experiments/GH-225/lb-repro/repro2/RUNNER_DONE create mode 100644 optimization/experiments/GH-225/lb-repro/repro2/config.json create mode 100644 optimization/experiments/GH-225/lb-repro/repro2/jobs.jsonl create mode 100644 optimization/experiments/GH-225/lb-repro/repro2/results.jsonl create mode 100644 optimization/experiments/GH-225/lb-repro/runner/analyze_lb.py create mode 100644 optimization/experiments/GH-225/lb-repro/runner/gh225lb_queue.py create mode 100644 optimization/experiments/GH-225/lb-repro/runner/make_jobs_lb.py create mode 100644 optimization/experiments/GH-225/lb-repro/runner/status.py diff --git a/NOTICE b/NOTICE index 4cfaf661..d0da6df5 100644 --- a/NOTICE +++ b/NOTICE @@ -361,6 +361,17 @@ engine in the GH-217 Tier 5 runs (#217, PR #220): main 02879a93's CC default and (same engine, not an independent second method): TN_468_4_23to29 (was TN_468_4_17to29), TN_612_2_24to40 (was TN_612_2_17to40), TN_648_14_21to28 (was TN_648_14_9to28), TN_684_2_22to29 (was TN_684_2_9to29). +Renamed 2026-11-06 (same matrices, upper bounds unchanged): lower bounds raised by DistQLDPC's optional CC +engine, mostly with the erasure rule (GH-195 #195 / PR #219; opt-in when the bounds were found, in the CC +default with a cost gate since GH-227 / PR #228), first seen in single 6 h runs of GH-225 (#225) and GH-227 +(#227), and each reached by at least two runs whose search trees differ (relabelled qubits and rows with +-seed=1 / -seed=2, a different row order with -cc-roworder=bfs, or a different binary and rule set; 12 h +runs on main 1239e9a2's binary; records in optimization/experiments/GH-225/lb-repro/). This is the same +engine, not an independent second method: TN_324_4_23to25 (was TN_324_4_22to25), TN_496_2_28to30 (was +TN_496_2_27to30), TN_540_4_24to34 (was TN_540_4_23to34), TN_648_14_22to28 (was TN_648_14_21to28), +TN_684_2_24to29 (was TN_684_2_22to29); COLOR_1027_1_31to37 (was COLOR_1027_1_28to37) and +COLOR_2791_1_28to61 (was COLOR_2791_1_26to61), section 9. + 9. Triangular 6.6.6 color-code matrices (GH-156; tiered 2026-11-04) ------------------------------------------------------------------ @@ -376,6 +387,9 @@ Fig. 1, Eqs. (1)-(2). Claimed distances use the published family formula; DistQLDPC smoke observations are recorded separately. See data/matrices/untiered/COLOR666.md and optimization/experiments/GH-156/. Placed and renamed 2026-11-04: COLOR_7_1_3 (tier0), COLOR_19_1_5 (tier0), COLOR_127_1_13 (tier1), COLOR_331_1_21 (tier5), COLOR_1027_1_28to37 (tier5), COLOR_2791_1_26to61 (tier5). +Renamed 2026-11-06 (same matrices, upper bounds unchanged; CC lower bounds reproduced by runs with different +search trees, same engine, see section 5): COLOR_1027_1_31to37 (was COLOR_1027_1_28to37), COLOR_2791_1_28to61 +(was COLOR_2791_1_26to61). 10. Twisted-torus generalized toric / BB matrices (GH-159; tiered 2026-11-04) -------------------------------------------------------------------------- diff --git a/data/matrices/README.md b/data/matrices/README.md index 86dbd78a..4fd0cc40 100644 --- a/data/matrices/README.md +++ b/data/matrices/README.md @@ -33,11 +33,11 @@ certified). | tier2 | medium filter; main 10–100 s on yfclab2 | TN_108_2_12 [[108,2,12]], BB_144_14_14 [[144,14,14]], TN_144_2_13 [[144,2,13]], TN_200_10_10 [[200,10,10]], BB_248_10_18 [[248,10,18]], BB_340_16_18 [[340,16,18]], AMC_522_6_20 [[522,6,20]], LP_544_80_12 [[544,80,12]] | | tier3 | decisive set; main 100–2000 s on yfclab2 | TN_250_10_15 [[250,10,15]], BB_294_10_20 [[294,10,20]], HGP_481_1_16 [[481,1,16]], LP_714_100_16 [[714,100,16]], LP_1020_136_16 [[1020,136,16]], HGP_1261_121_6 [[1261,121,6]], HGP_2866_256_8 [[2866,256,8]] | | tier4 | hard; main 2000–5000 s on yfclab2; timeout 2000 s Mac / 5000 s yfclab2 | (none) | -| tier5 | open set; main > 5000 s or unsolved on yfclab2; timeout 21600 s (6 h) | TN_180_2_17 [[180,2,17]], TN_216_4_18 [[216,4,18]], TN_252_2_21 [[252,2,21]], TN_288_2_22to24 [[288,2,22–24]], TN_324_4_22to25 [[324,4,22–25]], COLOR_331_1_21 [[331,1,21]], BB_360_12_24 [[360,12,24]], TN_360_4_23to24 [[360,4,23–24]], TN_396_4_23to26 [[396,4,23–26]], TN_432_8_23to29 [[432,8,23–29]], TN_468_4_23to29 [[468,4,23–29]], TN_496_2_27to30 [[496,2,27–30]], TN_504_2_24to34 [[504,2,24–34]], TN_540_4_23to34 [[540,4,23–34]], TN_576_2_24to37 [[576,2,24–37]], TN_612_2_24to40 [[612,2,24–40]], TN_648_10_22to32 [[648,10,22–32]], TN_648_14_21to28 [[648,14,21–28]], TN_684_2_22to29 [[684,2,22–29]], BB_756_16_32to34 [[756,16,32–34]], BB_864_4_32to40 [[864,4,32–40]], COLOR_1027_1_28to37 [[1027,1,28–37]], LP_1054_140_20 [[1054,140,20]], BB_1080_4_32to48 [[1080,4,32–48]], HGP_1105_1_24 [[1105,1,24]], LP_1122_148_20 [[1122,148,20]], LP_1428_184_24 [[1428,184,24]], LP_1768_224_22 [[1768,224,22]], LP_2610_744_16 [[2610,744,16]], COLOR_2791_1_26to61 [[2791,1,26–61]] | +| tier5 | open set; main > 5000 s or unsolved on yfclab2; timeout 21600 s (6 h) | TN_180_2_17 [[180,2,17]], TN_216_4_18 [[216,4,18]], TN_252_2_21 [[252,2,21]], TN_288_2_22to24 [[288,2,22–24]], TN_324_4_23to25 [[324,4,23–25]], COLOR_331_1_21 [[331,1,21]], BB_360_12_24 [[360,12,24]], TN_360_4_23to24 [[360,4,23–24]], TN_396_4_23to26 [[396,4,23–26]], TN_432_8_23to29 [[432,8,23–29]], TN_468_4_23to29 [[468,4,23–29]], TN_496_2_28to30 [[496,2,28–30]], TN_504_2_24to34 [[504,2,24–34]], TN_540_4_24to34 [[540,4,24–34]], TN_576_2_24to37 [[576,2,24–37]], TN_612_2_24to40 [[612,2,24–40]], TN_648_10_22to32 [[648,10,22–32]], TN_648_14_22to28 [[648,14,22–28]], TN_684_2_24to29 [[684,2,24–29]], BB_756_16_32to34 [[756,16,32–34]], BB_864_4_32to40 [[864,4,32–40]], COLOR_1027_1_31to37 [[1027,1,31–37]], LP_1054_140_20 [[1054,140,20]], BB_1080_4_32to48 [[1080,4,32–48]], HGP_1105_1_24 [[1105,1,24]], LP_1122_148_20 [[1122,148,20]], LP_1428_184_24 [[1428,184,24]], LP_1768_224_22 [[1768,224,22]], LP_2610_744_16 [[2610,744,16]], COLOR_2791_1_28to61 [[2791,1,28–61]] | Counts: tier0 26, tier1 9, tier2 8, tier3 7, tier4 0, tier5 30 (total 80). -**Tier assignment rule (PI 2026-10-12):** by main's time on yfclab2 (slower of no-card / card-mto, `optimization/baselines/SERVER.md`): < 1 s tier0, 1–10 s tier1, 10–100 s tier2, 100–2000 s tier3, 2000–5000 s tier4, > 5000 s or unsolved tier5. Re-check placements when main changes. 2026-11-04 (main 02879a93 baseline of all 75 codes, 5000 s panel limit for every code, `optimization/baselines/SERVER.md`; PI plan 2026-11-04): BB_288_12_18 tier2 -> tier1 (9.58 s), GB_144_12_12 tier2 -> tier1 (1.10 s), TN_144_2_13 tier3 -> tier2 (88.17 s), TN_250_10_15 tier4 -> tier3 (1283 s), LP_1020_136_16 tier5 -> tier3 (393 s); the 29 library codes placed by the same rule (tier0: COLOR_7_1_3, HGP_13_1_3, COLOR_19_1_5, BB_30_4_6, HGP_41_1_5, HGP_45_9_3, HGP_106_16_4, AMC_108_6_9, HGP_113_1_8, BB_120_8_12, AMC_216_6_12, HGP_306_36_5, AMC_330_6_14; tier1: COLOR_127_1_13, BB_186_10_14, HGP_265_1_12, AMC_438_6_17, HGP_610_64_6; tier2: BB_248_10_18, BB_340_16_18, AMC_522_6_20; tier3: BB_294_10_20, HGP_481_1_16, HGP_1261_121_6, HGP_2866_256_8; tier5: COLOR_331_1_21, COLOR_1027_1_28to37, HGP_1105_1_24, COLOR_2791_1_26to61). Codes that main solves within 6 h but over 5000 s stay in tier5 (TN_180_2_17, TN_216_4_18, BB_360_12_24, LP_1122_148_20); HGP_1105_1_24 is in tier5 because MaxSAT does not solve it in 6 h (the CC engine does, in 72-189 s). COLOR_331_1_21 goes to tier 5: MaxSAT solves it in 4300-4600 s on some seeds but its slower-mode 5-seed median is >= 5000 s (no-card seeds 0 and 2 over 5000 s; seed 0 solved after 6472 s), so tier 4 is empty after this re-tier. 2026-10-23 (main c914ef5 baseline, PR #142; PI): LP_442_68_10 tier2 -> tier1, BB_288_12_18 tier3 -> tier2, LP_714_100_16 tier4 -> tier3 (LP_1020_136_16 pending a 5-seed measurement). 2026-10-21 (main cbb0642, -frontier=auto; PI): BB_108_8_10, BB_144_12_12, LP_238_44_6 tier1 -> tier0; GB_144_12_12, LP_544_80_12, TN_200_10_10 tier3 -> tier2; LP_714_100_16 tier5 -> tier4 (optimization/baselines/SERVER.md). 2026-10-14 (main 398054e, GH-107; PI): BB_144_14_14 tier3 -> tier2 (72.7 s), BB_288_12_18 tier4 -> tier3 (919 s). +**Tier assignment rule (PI 2026-10-12):** by main's time on yfclab2 (slower of no-card / card-mto, `optimization/baselines/SERVER.md`): < 1 s tier0, 1–10 s tier1, 10–100 s tier2, 100–2000 s tier3, 2000–5000 s tier4, > 5000 s or unsolved tier5. Re-check placements when main changes. 2026-11-04 (main 02879a93 baseline of all 75 codes, 5000 s panel limit for every code, `optimization/baselines/SERVER.md`; PI plan 2026-11-04): BB_288_12_18 tier2 -> tier1 (9.58 s), GB_144_12_12 tier2 -> tier1 (1.10 s), TN_144_2_13 tier3 -> tier2 (88.17 s), TN_250_10_15 tier4 -> tier3 (1283 s), LP_1020_136_16 tier5 -> tier3 (393 s); the 29 library codes placed by the same rule (tier0: COLOR_7_1_3, HGP_13_1_3, COLOR_19_1_5, BB_30_4_6, HGP_41_1_5, HGP_45_9_3, HGP_106_16_4, AMC_108_6_9, HGP_113_1_8, BB_120_8_12, AMC_216_6_12, HGP_306_36_5, AMC_330_6_14; tier1: COLOR_127_1_13, BB_186_10_14, HGP_265_1_12, AMC_438_6_17, HGP_610_64_6; tier2: BB_248_10_18, BB_340_16_18, AMC_522_6_20; tier3: BB_294_10_20, HGP_481_1_16, HGP_1261_121_6, HGP_2866_256_8; tier5: COLOR_331_1_21, COLOR_1027_1_31to37, HGP_1105_1_24, COLOR_2791_1_28to61). Codes that main solves within 6 h but over 5000 s stay in tier5 (TN_180_2_17, TN_216_4_18, BB_360_12_24, LP_1122_148_20); HGP_1105_1_24 is in tier5 because MaxSAT does not solve it in 6 h (the CC engine does, in 72-189 s). COLOR_331_1_21 goes to tier 5: MaxSAT solves it in 4300-4600 s on some seeds but its slower-mode 5-seed median is >= 5000 s (no-card seeds 0 and 2 over 5000 s; seed 0 solved after 6472 s), so tier 4 is empty after this re-tier. 2026-10-23 (main c914ef5 baseline, PR #142; PI): LP_442_68_10 tier2 -> tier1, BB_288_12_18 tier3 -> tier2, LP_714_100_16 tier4 -> tier3 (LP_1020_136_16 pending a 5-seed measurement). 2026-10-21 (main cbb0642, -frontier=auto; PI): BB_108_8_10, BB_144_12_12, LP_238_44_6 tier1 -> tier0; GB_144_12_12, LP_544_80_12, TN_200_10_10 tier3 -> tier2; LP_714_100_16 tier5 -> tier4 (optimization/baselines/SERVER.md). 2026-10-14 (main 398054e, GH-107; PI): BB_144_14_14 tier3 -> tier2 (72.7 s), BB_288_12_18 tier4 -> tier3 (919 s). **Timeouts.** tier4: 2000 s per instance on the Mac, 5000 s on yfclab2; tier5: 21600 s (6 h) per instance. tier0–tier3 are the filtering tiers of the @@ -66,6 +66,13 @@ and [credit request and per-pass records](https://github.com/guluchen/DistQLDPC/ | Date | Old | New | Note | |------|-----|-----|------| +| 2026-11-06 | TN_324_4_22to25 | TN_324_4_23to25 | lb 23: CC lower bound first reached by the GH-225 erasure arm (issue #225; binary 5a201fd = the GH-217 CC default plus `erasure`, yfclab2, 6 h, seed 0): lb 23 at 20 985 s. Reproduction (12 h, main 1239e9a2 with `-cc-rules=excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv,erasure`, ungated): relabelled qubits and rows `-seed=1` lb 23 at 30 309 s, `-seed=2` at 31 369 s; level 22 EMPTY on both halves; node counts differ from the original at every high level; same engine, not an independent second method; records `optimization/experiments/GH-225/lb-repro/`. Without erasure: lb 22 (6 h seed 0; 12 h `-seed=1`). ub unchanged (GH-146 witness; copy under the new stem in `optimization/experiments/GH-146/witnesses/renamed-2026-11-06/`) | +| 2026-11-06 | TN_496_2_27to30 | TN_496_2_28to30 | lb 28 (as above): GH-225 erasure arm 17 996 s; GH-227 candidate (#227, main 755e0c21, gated erasure in the default) 19 683 s; reproduction with erasure `-seed=1` 20 699 s, `-seed=2` 19 095 s (`-cc-roworder=bfs` 19 856 s, the same tree as the GH-225 run); without erasure lb 27 at seed 0 (6 h) but lb 28 with `-seed=1` (24 919 s, 12 h); X half under the verified XZ-dual map; ub unchanged | +| 2026-11-06 | TN_540_4_23to34 | TN_540_4_24to34 | lb 24 (as above): GH-225 erasure arm 19 168 s; GH-227 candidate 18 399 s; reproduction with erasure `-seed=1` 35 026 s, `-seed=2` 32 893 s; without erasure lb 23 at seed 0 (6 h), lb 24 with `-seed=1` (42 322 s, 12 h); both halves EMPTY; ub unchanged | +| 2026-11-06 | TN_648_14_21to28 | TN_648_14_22to28 | lb 22 (as above): GH-225 erasure arm 20 292 s; GH-227 candidate 19 331 s; reproduction with erasure `-seed=1` 35 385 s, `-seed=2` 36 573 s; without erasure lb 21 at seed 0 (6 h), lb 22 with `-seed=1` (36 164 s, 12 h); both halves EMPTY; ub unchanged | +| 2026-11-06 | TN_684_2_22to29 | TN_684_2_24to29 | lb 24: lb 23 was reached by all four 6 h runs of GH-225 / GH-227 (with and without erasure; 16 367-21 196 s). In the 12 h reproduction (main 1239e9a2 plus `erasure`), the relabelled runs `-seed=1` and `-seed=2` reached lb 23 at 13 945 s / 14 375 s and lb 24 at 39 232 s / 39 063 s; level 23 EMPTY on both halves in both runs, with different node counts (different trees); without erasure `-seed=1` reached lb 23 (17 570 s). Same engine, not an independent second method; ub unchanged | +| 2026-11-06 | COLOR_1027_1_28to37 | COLOR_1027_1_31to37 | lb 31 (as above): GH-225 erasure arm 16 090 s; GH-227 candidate (gated erasure) 18 190 s; reproduction with erasure and a different row order, `-cc-roworder=bfs`: lb 31 at 33 206 s (different tree). Without erasure lb 30 (6 h, seed 0). X half only (Hx = Hz, verified XZ-dual map). Relabelled runs (`-seed=1/2`) are much slower on this code and reached lb 29 in 12 h. A `-cc-roworder=index` run with erasure searched the same tree as the GH-225 erasure run and reached lb 32 at 37 190 s; lb 32 is a single tree and stays PLAUSIBLE. ub unchanged (family formula d = 37) | +| 2026-11-06 | COLOR_2791_1_26to61 | COLOR_2791_1_28to61 | lb 28: CC default without erasure (GH-225 arm A, binary 42d7d1d: 10 312 s; GH-227 arm M, main 1239e9a2: 11 706 s; the same tree) and the GH-227 candidate (main 755e0c21, gated erasure in the default; a different tree): lb 28 at 9 612 s; 6 h, seed 0; X half only (Hx = Hz). The candidate went on to lb 29 at 20 721 s; that is a single run and stays PLAUSIBLE. Same engine, not an independent second method; ub unchanged (family formula d = 61) | | 2026-11-05 | TN_468_4_17to29 | TN_468_4_23to29 | lb 23: CC lower bound from GH-217 (issue #217, PR #220; yfclab2, 6 h, default seed): lb 23 at 19 263 s (main) / 19 518 s (candidate), reached both by main 02879a93's CC default (`excl,pack,orbf,parity,leaf,overlap,charge`, `-cc-roworder=index`) and by the GH-217 candidate bb3e2efc (`+tiebreak,sparse,sparseov,sparsemrv`, `-cc-roworder=auto`); every level EMPTY on both halves. Reproduction: candidate with relabelled qubits and rows (`-seed=1`, 30000 s; node counts differ at every high level); same engine, not an independent second method; `optimization/experiments/GH-217/` on branch `experiment/gh-217-cc-default-flip`. ub unchanged (GH-146 witness; copy under the new stem in `optimization/experiments/GH-146/witnesses/renamed-2026-11-05/`); relabelled lb 23 at 25 088 s | | 2026-11-05 | TN_612_2_17to40 | TN_612_2_24to40 | lb 24 (GH-217 CC lower bound as above: main 15 922 s, candidate 15 676 s; relabelled 24 335 s); ub unchanged | | 2026-11-05 | TN_648_14_9to28 | TN_648_14_21to28 | lb 21 (GH-217 CC lower bound as above: main 9 661 s, candidate 9 907 s; relabelled 12 933 s); ub unchanged | @@ -234,6 +241,9 @@ and [credit request and per-pass records](https://github.com/guluchen/DistQLDPC/ `GH-152/witnesses/` no longer resolve, and copies under the current stems are in `optimization/experiments/GH-146/witnesses/renamed-2026-10-31/` (same supports, `VERIFY.txt`: 8/8 VALID), checked with the same command on `optimization/experiments/GH-146/witnesses/renamed-2026-10-31/*.w*.txt`. + Five TN stems were renamed on 2026-11-06 (TN_324_4_23to25, TN_496_2_28to30, TN_540_4_24to34, TN_648_14_22to28, + TN_684_2_24to29); copies of their witnesses under the current stems are in + `optimization/experiments/GH-146/witnesses/renamed-2026-11-06/` (same supports, `VERIFY.txt`: 5/5 VALID). - **GH-152 lower bounds (2026-10-29):** the lower bounds of the six stems above come from the optional CC engine with `-cc-aut=on` (6 h, yfclab2) and were reproduced with a different search order (`mrv`, 12 h) on the same labels; this is the same algorithm, not an independent method. Record: issue #152 and diff --git a/data/matrices/tier5/COLOR_1027_1_28to37_Gx.txt b/data/matrices/tier5/COLOR_1027_1_31to37_Gx.txt similarity index 99% rename from data/matrices/tier5/COLOR_1027_1_28to37_Gx.txt rename to data/matrices/tier5/COLOR_1027_1_31to37_Gx.txt index 869bc3ce..eeea73fc 100644 --- a/data/matrices/tier5/COLOR_1027_1_28to37_Gx.txt +++ b/data/matrices/tier5/COLOR_1027_1_31to37_Gx.txt @@ -1,2 +1,2 @@ -# n=1027 Z-type logical rows ker(Hx)/row(Hz) parity COLOR_1027_1_28to37_Hx.txt +# n=1027 Z-type logical rows ker(Hx)/row(Hz) parity COLOR_1027_1_31to37_Hx.txt 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/COLOR_1027_1_28to37_Gz.txt b/data/matrices/tier5/COLOR_1027_1_31to37_Gz.txt similarity index 99% rename from data/matrices/tier5/COLOR_1027_1_28to37_Gz.txt rename to data/matrices/tier5/COLOR_1027_1_31to37_Gz.txt index 436b252b..44f60f1d 100644 --- a/data/matrices/tier5/COLOR_1027_1_28to37_Gz.txt +++ b/data/matrices/tier5/COLOR_1027_1_31to37_Gz.txt @@ -1,2 +1,2 @@ -# n=1027 X-type logical rows ker(Hz)/row(Hx) parity COLOR_1027_1_28to37_Hz.txt +# n=1027 X-type logical rows ker(Hz)/row(Hx) parity COLOR_1027_1_31to37_Hz.txt 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/COLOR_1027_1_28to37_Hx.txt b/data/matrices/tier5/COLOR_1027_1_31to37_Hx.txt similarity index 100% rename from data/matrices/tier5/COLOR_1027_1_28to37_Hx.txt rename to data/matrices/tier5/COLOR_1027_1_31to37_Hx.txt diff --git a/data/matrices/tier5/COLOR_1027_1_28to37_Hz.txt b/data/matrices/tier5/COLOR_1027_1_31to37_Hz.txt similarity index 100% rename from data/matrices/tier5/COLOR_1027_1_28to37_Hz.txt rename to data/matrices/tier5/COLOR_1027_1_31to37_Hz.txt diff --git a/data/matrices/tier5/COLOR_2791_1_26to61_Gx.txt b/data/matrices/tier5/COLOR_2791_1_28to61_Gx.txt similarity index 99% rename from data/matrices/tier5/COLOR_2791_1_26to61_Gx.txt rename to data/matrices/tier5/COLOR_2791_1_28to61_Gx.txt index fb1872de..2965a3a6 100644 --- a/data/matrices/tier5/COLOR_2791_1_26to61_Gx.txt +++ b/data/matrices/tier5/COLOR_2791_1_28to61_Gx.txt @@ -1,2 +1,2 @@ -# n=2791 Z-type logical rows ker(Hx)/row(Hz) parity COLOR_2791_1_26to61_Hx.txt +# n=2791 Z-type logical rows ker(Hx)/row(Hz) parity COLOR_2791_1_28to61_Hx.txt 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/COLOR_2791_1_26to61_Gz.txt b/data/matrices/tier5/COLOR_2791_1_28to61_Gz.txt similarity index 99% rename from data/matrices/tier5/COLOR_2791_1_26to61_Gz.txt rename to data/matrices/tier5/COLOR_2791_1_28to61_Gz.txt index 348d1208..f8925c0c 100644 --- a/data/matrices/tier5/COLOR_2791_1_26to61_Gz.txt +++ b/data/matrices/tier5/COLOR_2791_1_28to61_Gz.txt @@ -1,2 +1,2 @@ -# n=2791 X-type logical rows ker(Hz)/row(Hx) parity COLOR_2791_1_26to61_Hz.txt +# n=2791 X-type logical rows ker(Hz)/row(Hx) parity COLOR_2791_1_28to61_Hz.txt 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/COLOR_2791_1_26to61_Hx.txt b/data/matrices/tier5/COLOR_2791_1_28to61_Hx.txt similarity index 100% rename from data/matrices/tier5/COLOR_2791_1_26to61_Hx.txt rename to data/matrices/tier5/COLOR_2791_1_28to61_Hx.txt diff --git a/data/matrices/tier5/COLOR_2791_1_26to61_Hz.txt b/data/matrices/tier5/COLOR_2791_1_28to61_Hz.txt similarity index 100% rename from data/matrices/tier5/COLOR_2791_1_26to61_Hz.txt rename to data/matrices/tier5/COLOR_2791_1_28to61_Hz.txt diff --git a/data/matrices/tier5/TN_324_4_22to25_Gx.txt b/data/matrices/tier5/TN_324_4_23to25_Gx.txt similarity index 99% rename from data/matrices/tier5/TN_324_4_22to25_Gx.txt rename to data/matrices/tier5/TN_324_4_23to25_Gx.txt index f23f7a07..9f2b9e4d 100644 --- a/data/matrices/tier5/TN_324_4_22to25_Gx.txt +++ b/data/matrices/tier5/TN_324_4_23to25_Gx.txt @@ -1,4 +1,4 @@ -# n=324 Z-type logical rows ker(Hx)/row(Hz) parity TN_324_4_22to25_Hx.txt +# n=324 Z-type logical rows ker(Hx)/row(Hz) parity TN_324_4_23to25_Hx.txt 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_324_4_22to25_Gz.txt b/data/matrices/tier5/TN_324_4_23to25_Gz.txt similarity index 99% rename from data/matrices/tier5/TN_324_4_22to25_Gz.txt rename to data/matrices/tier5/TN_324_4_23to25_Gz.txt index 619e1c37..81f42ba3 100644 --- a/data/matrices/tier5/TN_324_4_22to25_Gz.txt +++ b/data/matrices/tier5/TN_324_4_23to25_Gz.txt @@ -1,4 +1,4 @@ -# n=324 X-type logical rows ker(Hz)/row(Hx) parity TN_324_4_22to25_Hz.txt +# n=324 X-type logical rows ker(Hz)/row(Hx) parity TN_324_4_23to25_Hz.txt 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_324_4_22to25_Hx.txt b/data/matrices/tier5/TN_324_4_23to25_Hx.txt similarity index 100% rename from data/matrices/tier5/TN_324_4_22to25_Hx.txt rename to data/matrices/tier5/TN_324_4_23to25_Hx.txt diff --git a/data/matrices/tier5/TN_324_4_22to25_Hz.txt b/data/matrices/tier5/TN_324_4_23to25_Hz.txt similarity index 100% rename from data/matrices/tier5/TN_324_4_22to25_Hz.txt rename to data/matrices/tier5/TN_324_4_23to25_Hz.txt diff --git a/data/matrices/tier5/TN_496_2_27to30_Gx.txt b/data/matrices/tier5/TN_496_2_28to30_Gx.txt similarity index 99% rename from data/matrices/tier5/TN_496_2_27to30_Gx.txt rename to data/matrices/tier5/TN_496_2_28to30_Gx.txt index 2d0d6f39..82ed63eb 100644 --- a/data/matrices/tier5/TN_496_2_27to30_Gx.txt +++ b/data/matrices/tier5/TN_496_2_28to30_Gx.txt @@ -1,3 +1,3 @@ -# n=496 Z-type logical rows ker(Hx)/row(Hz) parity TN_496_2_27to30_Hx.txt +# n=496 Z-type logical rows ker(Hx)/row(Hz) parity TN_496_2_28to30_Hx.txt 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_496_2_27to30_Gz.txt b/data/matrices/tier5/TN_496_2_28to30_Gz.txt similarity index 99% rename from data/matrices/tier5/TN_496_2_27to30_Gz.txt rename to data/matrices/tier5/TN_496_2_28to30_Gz.txt index 05b2b749..34a8e8de 100644 --- a/data/matrices/tier5/TN_496_2_27to30_Gz.txt +++ b/data/matrices/tier5/TN_496_2_28to30_Gz.txt @@ -1,3 +1,3 @@ -# n=496 X-type logical rows ker(Hz)/row(Hx) parity TN_496_2_27to30_Hz.txt +# n=496 X-type logical rows ker(Hz)/row(Hx) parity TN_496_2_28to30_Hz.txt 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_496_2_27to30_Hx.txt b/data/matrices/tier5/TN_496_2_28to30_Hx.txt similarity index 100% rename from data/matrices/tier5/TN_496_2_27to30_Hx.txt rename to data/matrices/tier5/TN_496_2_28to30_Hx.txt diff --git a/data/matrices/tier5/TN_496_2_27to30_Hz.txt b/data/matrices/tier5/TN_496_2_28to30_Hz.txt similarity index 100% rename from data/matrices/tier5/TN_496_2_27to30_Hz.txt rename to data/matrices/tier5/TN_496_2_28to30_Hz.txt diff --git a/data/matrices/tier5/TN_540_4_23to34_Gx.txt b/data/matrices/tier5/TN_540_4_24to34_Gx.txt similarity index 99% rename from data/matrices/tier5/TN_540_4_23to34_Gx.txt rename to data/matrices/tier5/TN_540_4_24to34_Gx.txt index 18468072..8ccdf6c9 100644 --- a/data/matrices/tier5/TN_540_4_23to34_Gx.txt +++ b/data/matrices/tier5/TN_540_4_24to34_Gx.txt @@ -1,4 +1,4 @@ -# n=540 Z-type logical rows ker(Hx)/row(Hz) parity TN_540_4_23to34_Hx.txt +# n=540 Z-type logical rows ker(Hx)/row(Hz) parity TN_540_4_24to34_Hx.txt 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_540_4_23to34_Gz.txt b/data/matrices/tier5/TN_540_4_24to34_Gz.txt similarity index 99% rename from data/matrices/tier5/TN_540_4_23to34_Gz.txt rename to data/matrices/tier5/TN_540_4_24to34_Gz.txt index f1575fc1..912f1c97 100644 --- a/data/matrices/tier5/TN_540_4_23to34_Gz.txt +++ b/data/matrices/tier5/TN_540_4_24to34_Gz.txt @@ -1,4 +1,4 @@ -# n=540 X-type logical rows ker(Hz)/row(Hx) parity TN_540_4_23to34_Hz.txt +# n=540 X-type logical rows ker(Hz)/row(Hx) parity TN_540_4_24to34_Hz.txt 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_540_4_23to34_Hx.txt b/data/matrices/tier5/TN_540_4_24to34_Hx.txt similarity index 100% rename from data/matrices/tier5/TN_540_4_23to34_Hx.txt rename to data/matrices/tier5/TN_540_4_24to34_Hx.txt diff --git a/data/matrices/tier5/TN_540_4_23to34_Hz.txt b/data/matrices/tier5/TN_540_4_24to34_Hz.txt similarity index 100% rename from data/matrices/tier5/TN_540_4_23to34_Hz.txt rename to data/matrices/tier5/TN_540_4_24to34_Hz.txt diff --git a/data/matrices/tier5/TN_648_14_21to28_Gx.txt b/data/matrices/tier5/TN_648_14_22to28_Gx.txt similarity index 99% rename from data/matrices/tier5/TN_648_14_21to28_Gx.txt rename to data/matrices/tier5/TN_648_14_22to28_Gx.txt index 1052e62c..7421527e 100644 --- a/data/matrices/tier5/TN_648_14_21to28_Gx.txt +++ b/data/matrices/tier5/TN_648_14_22to28_Gx.txt @@ -1,4 +1,4 @@ -# n=648 Z-type logical rows ker(Hx)/row(Hz) parity TN_648_14_21to28_Hx.txt +# n=648 Z-type logical rows ker(Hx)/row(Hz) parity TN_648_14_22to28_Hx.txt 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_648_14_21to28_Gz.txt b/data/matrices/tier5/TN_648_14_22to28_Gz.txt similarity index 99% rename from data/matrices/tier5/TN_648_14_21to28_Gz.txt rename to data/matrices/tier5/TN_648_14_22to28_Gz.txt index d89a635d..691b8590 100644 --- a/data/matrices/tier5/TN_648_14_21to28_Gz.txt +++ b/data/matrices/tier5/TN_648_14_22to28_Gz.txt @@ -1,4 +1,4 @@ -# n=648 X-type logical rows ker(Hz)/row(Hx) parity TN_648_14_21to28_Hz.txt +# n=648 X-type logical rows ker(Hz)/row(Hx) parity TN_648_14_22to28_Hz.txt 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_648_14_21to28_Hx.txt b/data/matrices/tier5/TN_648_14_22to28_Hx.txt similarity index 100% rename from data/matrices/tier5/TN_648_14_21to28_Hx.txt rename to data/matrices/tier5/TN_648_14_22to28_Hx.txt diff --git a/data/matrices/tier5/TN_648_14_21to28_Hz.txt b/data/matrices/tier5/TN_648_14_22to28_Hz.txt similarity index 100% rename from data/matrices/tier5/TN_648_14_21to28_Hz.txt rename to data/matrices/tier5/TN_648_14_22to28_Hz.txt diff --git a/data/matrices/tier5/TN_684_2_22to29_Gx.txt b/data/matrices/tier5/TN_684_2_24to29_Gx.txt similarity index 99% rename from data/matrices/tier5/TN_684_2_22to29_Gx.txt rename to data/matrices/tier5/TN_684_2_24to29_Gx.txt index 531e73ba..bae32c8d 100644 --- a/data/matrices/tier5/TN_684_2_22to29_Gx.txt +++ b/data/matrices/tier5/TN_684_2_24to29_Gx.txt @@ -1,3 +1,3 @@ -# n=684 Z-type logical rows ker(Hx)/row(Hz) parity TN_684_2_22to29_Hx.txt +# n=684 Z-type logical rows ker(Hx)/row(Hz) parity TN_684_2_24to29_Hx.txt 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 0 0 0 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_684_2_22to29_Gz.txt b/data/matrices/tier5/TN_684_2_24to29_Gz.txt similarity index 99% rename from data/matrices/tier5/TN_684_2_22to29_Gz.txt rename to data/matrices/tier5/TN_684_2_24to29_Gz.txt index 821b8583..faa485b5 100644 --- a/data/matrices/tier5/TN_684_2_22to29_Gz.txt +++ b/data/matrices/tier5/TN_684_2_24to29_Gz.txt @@ -1,3 +1,3 @@ -# n=684 X-type logical rows ker(Hz)/row(Hx) parity TN_684_2_22to29_Hz.txt +# n=684 X-type logical rows ker(Hz)/row(Hx) parity TN_684_2_24to29_Hz.txt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 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 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/matrices/tier5/TN_684_2_22to29_Hx.txt b/data/matrices/tier5/TN_684_2_24to29_Hx.txt similarity index 100% rename from data/matrices/tier5/TN_684_2_22to29_Hx.txt rename to data/matrices/tier5/TN_684_2_24to29_Hx.txt diff --git a/data/matrices/tier5/TN_684_2_22to29_Hz.txt b/data/matrices/tier5/TN_684_2_24to29_Hz.txt similarity index 100% rename from data/matrices/tier5/TN_684_2_22to29_Hz.txt rename to data/matrices/tier5/TN_684_2_24to29_Hz.txt diff --git a/data/matrices/untiered/MANIFEST.csv b/data/matrices/untiered/MANIFEST.csv index 551f772c..028bd949 100644 --- a/data/matrices/untiered/MANIFEST.csv +++ b/data/matrices/untiered/MANIFEST.csv @@ -15,8 +15,8 @@ COLOR_7_1_unknown,COLOR,7,1,triangular 6.6.6; d=3; b=3*(d-1)/2; 0<=c<=r<=b; site COLOR_19_1_unknown,COLOR,19,1,triangular 6.6.6; d=5; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 5 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 5,"PASS GF(2), independent Cartesian geometry and boundary logicals; default SOLVED",2026-10-29,5,5,SOLVED,optimization/experiments/GH-156/raw/actions/color-default/COLOR_19_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,,,,,,,,,tier0,COLOR_19_1_5 COLOR_127_1_unknown,COLOR,127,1,triangular 6.6.6; d=13; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 13 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 13,"PASS GF(2), independent Cartesian geometry and boundary logicals; default SOLVED",2026-10-29,13,13,SOLVED,optimization/experiments/GH-156/raw/actions/color-default/COLOR_127_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,,,,,,,,,tier1,COLOR_127_1_13 COLOR_331_1_unknown,COLOR,331,1,triangular 6.6.6; d=21; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 21 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 21,"PASS GF(2), independent Cartesian geometry and boundary logicals; default BOUNDED",2026-10-29,9,21,BOUNDED,optimization/experiments/GH-156/raw/actions/color-default/COLOR_331_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,,,,,,,,,tier5,COLOR_331_1_21 -COLOR_1027_1_unknown,COLOR,1027,1,triangular 6.6.6; d=37; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 37 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 37,"PASS GF(2), independent Cartesian geometry and boundary logicals; default BOUNDED",2026-10-29,9,37,BOUNDED,optimization/experiments/GH-156/raw/actions/color-default/COLOR_1027_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,,,,,,,,,tier5,COLOR_1027_1_28to37 -COLOR_2791_1_unknown,COLOR,2791,1,triangular 6.6.6; d=61; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 61 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 61,"PASS GF(2), independent Cartesian geometry and boundary logicals; default TIMEOUT_NO_BOUNDS",2026-10-29,,,TIMEOUT_NO_BOUNDS,optimization/experiments/GH-156/raw/actions/color-default/COLOR_2791_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,5,,-ub-pre=off -v,TIMEOUT_PARTIAL_BOUNDS; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080; evidence optimization/experiments/GH-156/raw/actions/color-no-prepass/COLOR_2791_1_unknown.log,,,,,tier5,COLOR_2791_1_26to61 +COLOR_1027_1_unknown,COLOR,1027,1,triangular 6.6.6; d=37; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 37 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 37,"PASS GF(2), independent Cartesian geometry and boundary logicals; default BOUNDED",2026-10-29,9,37,BOUNDED,optimization/experiments/GH-156/raw/actions/color-default/COLOR_1027_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,,,,,,,,,tier5,COLOR_1027_1_31to37 +COLOR_2791_1_unknown,COLOR,2791,1,triangular 6.6.6; d=61; b=3*(d-1)/2; 0<=c<=r<=b; sites r+c!=2 (mod 3); face centers r+c=2 (mod 3); six nearest neighbors clipped to triangle; Hx=Hz,Bombin-Martin-Delgado quant-ph/0605138v3 DOI:10.1103/PhysRevLett.97.180501; Sahay-Brown arXiv:2108.11395v3 Sec.II Eqs.(1)-(2),GPL-3.0-or-later (original generated matrices; no third-party code or matrices copied),exact 61 (published triangular honeycomb family formula; not a DistQLDPC result),python3 scripts/codegen/color666.py --distance 61,"PASS GF(2), independent Cartesian geometry and boundary logicals; default TIMEOUT_NO_BOUNDS",2026-10-29,,,TIMEOUT_NO_BOUNDS,optimization/experiments/GH-156/raw/actions/color-default/COLOR_2791_1_unknown.log; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080,5,,-ub-pre=off -v,TIMEOUT_PARTIAL_BOUNDS; source 43203da6c17841d1aff229007e755ffaf6fd600f; run 40781708080; evidence optimization/experiments/GH-156/raw/actions/color-no-prepass/COLOR_2791_1_unknown.log,,,,,tier5,COLOR_2791_1_28to61 BB_30_4_unknown,BB,30,4,"{""a"":2,""b"":0,""c"":2,""d"":6,""e"":0,""h"":3,""k"":4,""n"":30,""s"":1,""table"":1,""w"":5}",Liang-Liu-Song-Chen arXiv:2503.03827v3 Table 1 Eqs.(3)-(5); DOI:10.1103/rmy6-9n89,GPL-3.0-or-later (original clean-room generated matrices; no paper text/code/matrix files copied),exact 6 (published table; not a DistQLDPC result),python3 scripts/codegen/twisted_torus.py --n 30,"PASS independent lattice, GF(2), logicals and basis witnesses; default SOLVED",2026-10-29,6,6,SOLVED,optimization/experiments/GH-159/raw/actions/default/BB_30_4_unknown.log; source 5745cb2ac0f9091a5cd93455e32e1e526fa115c2; run 40802954550,,,,,,,,,tier0,BB_30_4_6 BB_120_8_unknown,BB,120,8,"{""a"":-2,""b"":1,""c"":1,""d"":12,""e"":2,""h"":10,""k"":8,""n"":120,""s"":4,""table"":2,""w"":6}",Liang-Liu-Song-Chen arXiv:2503.03827v3 Table 2 Eqs.(3)-(5); DOI:10.1103/rmy6-9n89,GPL-3.0-or-later (original clean-room generated matrices; no paper text/code/matrix files copied),exact 12 (published table; not a DistQLDPC result),python3 scripts/codegen/twisted_torus.py --n 120,"PASS independent lattice, GF(2), logicals and basis witnesses; default SOLVED",2026-10-29,12,12,SOLVED,optimization/experiments/GH-159/raw/actions/default/BB_120_8_unknown.log; source 5745cb2ac0f9091a5cd93455e32e1e526fa115c2; run 40802954550,,,,,,,,,tier0,BB_120_8_12 BB_186_10_unknown,BB,186,10,"{""a"":2,""b"":3,""c"":2,""d"":14,""e"":-2,""h"":31,""k"":10,""n"":186,""s"":7,""table"":2,""w"":3}",Liang-Liu-Song-Chen arXiv:2503.03827v3 Table 2 Eqs.(3)-(5); DOI:10.1103/rmy6-9n89,GPL-3.0-or-later (original clean-room generated matrices; no paper text/code/matrix files copied),exact 14 (published table; not a DistQLDPC result),python3 scripts/codegen/twisted_torus.py --n 186,"PASS independent lattice, GF(2), logicals and basis witnesses; default SOLVED",2026-10-29,14,14,SOLVED,optimization/experiments/GH-159/raw/actions/default/BB_186_10_unknown.log; source 5745cb2ac0f9091a5cd93455e32e1e526fa115c2; run 40802954550,,,,,,,,,tier1,BB_186_10_14 diff --git a/data/matrices/untiered/README.md b/data/matrices/untiered/README.md index f2c7214a..4528bfbd 100644 --- a/data/matrices/untiered/README.md +++ b/data/matrices/untiered/README.md @@ -55,8 +55,8 @@ which names the parity file, differs). Every solved distance has a GF(2)-verifie | COLOR_19_1_unknown | COLOR_19_1_5 | 0 | 5 | 0.06 | 0.09 | 0.09 | d = 5 | yes | | COLOR_127_1_unknown | COLOR_127_1_13 | 1 | 13 | 1.60 | 0.08 | 0.07 | d = 13 | yes | | COLOR_331_1_unknown | COLOR_331_1_21 | 5 | 21 | > 5000 | 122 | 13.65 | d = 21 | yes | -| COLOR_1027_1_unknown | COLOR_1027_1_28to37 | 5 | 37 | > 5000 | > 5000 | > 5000 | bounds 28–37 | consistent (open) | -| COLOR_2791_1_unknown | COLOR_2791_1_26to61 | 5 | 61 | > 5000 | > 5000 | > 5000 | bounds 26–61 | consistent (open) | +| COLOR_1027_1_unknown | COLOR_1027_1_31to37 | 5 | 37 | > 5000 | > 5000 | > 5000 | bounds 28–37 | consistent (open) | +| COLOR_2791_1_unknown | COLOR_2791_1_28to61 | 5 | 61 | > 5000 | > 5000 | > 5000 | bounds 26–61 | consistent (open) | | HGP_13_1_unknown | HGP_13_1_3 | 0 | 3 | 0.05 | 0.08 | 0.08 | d = 3 | yes | | HGP_41_1_unknown | HGP_41_1_5 | 0 | 5 | 0.08 | 0.09 | 0.08 | d = 5 | yes | | HGP_45_9_unknown | HGP_45_9_3 | 0 | 3 | 0.06 | 0.08 | 0.09 | d = 3 | yes | diff --git a/data/matrices/untiered/validation.json b/data/matrices/untiered/validation.json index 0f35c7b8..7fdcfcc7 100644 --- a/data/matrices/untiered/validation.json +++ b/data/matrices/untiered/validation.json @@ -313,7 +313,7 @@ "rank_Hz": 513, "rank_pairing": 1, "checks": "PASS", - "placed": "data/matrices/tier5/COLOR_1027_1_28to37", + "placed": "data/matrices/tier5/COLOR_1027_1_31to37", "stem": "COLOR_1027_1_unknown", "same_n_k_compared": [], "duplicates": [], @@ -332,7 +332,7 @@ "rank_Hz": 1395, "rank_pairing": 1, "checks": "PASS", - "placed": "data/matrices/tier5/COLOR_2791_1_26to61", + "placed": "data/matrices/tier5/COLOR_2791_1_28to61", "stem": "COLOR_2791_1_unknown", "same_n_k_compared": [], "duplicates": [], diff --git a/optimization/baselines/SERVER.md b/optimization/baselines/SERVER.md index 1646ff8d..5ad01988 100644 --- a/optimization/baselines/SERVER.md +++ b/optimization/baselines/SERVER.md @@ -121,8 +121,8 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | TN_252_2_21 | no-card | 21600 | TIMEOUT | 17 | 21 | 2@1, 3@1, 5@1, 9@6, 17@8965, 17@21600 | 21600, 17, 28 | | TN_288_2_22to24 | card-mto | 21600 | TIMEOUT | 9 | 24 | 2@1, 3@1, 5@1, 9@13, 9@21600 | 21600, 9, - | | TN_288_2_22to24 | no-card | 21600 | TIMEOUT | 9 | 24 | 2@1, 3@1, 5@2, 9@15, 9@21600 | 21600, 9, - | -| TN_324_4_22to25 | card-mto | 21600 | TIMEOUT | 9 | 25 | 2@1, 3@1, 5@2, 9@16, 9@21600 | 21600, 9, - | -| TN_324_4_22to25 | no-card | 21600 | TIMEOUT | 9 | 25 | 2@1, 3@1, 5@2, 9@16, 9@21600 | 21600, 9, - | +| TN_324_4_23to25 | card-mto | 21600 | TIMEOUT | 9 | 25 | 2@1, 3@1, 5@2, 9@16, 9@21600 | 21600, 9, - | +| TN_324_4_23to25 | no-card | 21600 | TIMEOUT | 9 | 25 | 2@1, 3@1, 5@2, 9@16, 9@21600 | 21600, 9, - | | COLOR_331_1_21 | card-mto | 7914 | solved | 21 | 21 | 2@0, 3@0, 5@0, 9@1, 17@119, 21@7914 | - | | COLOR_331_1_21 | no-card | 6472 | solved | 21 | 21 | 2@0, 3@0, 5@0, 9@1, 17@120, 21@6472 | - | | BB_360_12_24 | card-mto | 12723 | solved | 24 | 24 | 2@0, 4@0, 6@0, 10@0, 18@11, 23@12723, 24@12723 | 21600, 18, 24 | @@ -135,28 +135,28 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | TN_432_8_23to29 | no-card | 21600 | TIMEOUT | 9 | 33 | 2@2, 3@3, 5@6, 9@33, 9@21600 | 21600, 9, - | | TN_468_4_23to29 | card-mto | 21600 | TIMEOUT | 17 | 29 | 2@9, 3@10, 5@10, 9@19, 17@7588, 17@21600 | 21600, 17, - | | TN_468_4_23to29 | no-card | 21600 | TIMEOUT | 17 | 29 | 2@10, 3@10, 5@11, 9@20, 17@6895, 17@21600 | 21600, 17, - | -| TN_496_2_27to30 | card-mto | 21600 | TIMEOUT | 17 | 32 | 2@3, 3@3, 5@3, 9@9, 17@9742, 17@21600 | 21600, 17, - | -| TN_496_2_27to30 | no-card | 21600 | TIMEOUT | 17 | 32 | 2@3, 3@3, 5@3, 9@9, 17@11666, 17@21600 | 21600, 17, - | +| TN_496_2_28to30 | card-mto | 21600 | TIMEOUT | 17 | 32 | 2@3, 3@3, 5@3, 9@9, 17@9742, 17@21600 | 21600, 17, - | +| TN_496_2_28to30 | no-card | 21600 | TIMEOUT | 17 | 32 | 2@3, 3@3, 5@3, 9@9, 17@11666, 17@21600 | 21600, 17, - | | TN_504_2_24to34 | card-mto | 21600 | TIMEOUT | 17 | 47 | 2@2, 3@2, 5@2, 9@12, 17@5427, 17@21600 | 21600, 17, - | | TN_504_2_24to34 | no-card | 21600 | TIMEOUT | 17 | 47 | 2@2, 3@2, 5@3, 9@10, 17@6126, 17@21600 | 21600, 17, - | -| TN_540_4_23to34 | card-mto | 21600 | TIMEOUT | 9 | 40 | 2@5, 3@5, 5@8, 9@35, 9@21600 | 21600, 9, - | -| TN_540_4_23to34 | no-card | 21600 | TIMEOUT | 9 | 40 | 2@5, 3@5, 5@8, 9@38, 9@21600 | 21600, 9, - | +| TN_540_4_24to34 | card-mto | 21600 | TIMEOUT | 9 | 40 | 2@5, 3@5, 5@8, 9@35, 9@21600 | 21600, 9, - | +| TN_540_4_24to34 | no-card | 21600 | TIMEOUT | 9 | 40 | 2@5, 3@5, 5@8, 9@38, 9@21600 | 21600, 9, - | | TN_576_2_24to37 | card-mto | 21600 | TIMEOUT | 9 | 43 | 2@3, 3@3, 5@8, 9@36, 9@21600 | 21600, 9, - | | TN_576_2_24to37 | no-card | 21600 | TIMEOUT | 9 | 43 | 2@3, 3@3, 5@8, 9@40, 9@21600 | 21600, 9, - | | TN_612_2_24to40 | card-mto | 21600 | TIMEOUT | 17 | 41 | 2@6, 3@6, 5@6, 9@14, 17@7362, 17@21600 | 21600, 17, - | | TN_612_2_24to40 | no-card | 21600 | TIMEOUT | 17 | 41 | 2@6, 3@6, 5@6, 9@15, 17@6932, 17@21600 | 21600, 17, - | | TN_648_10_22to32 | card-mto | 21600 | TIMEOUT | 9 | 47 | 2@5, 3@5, 5@10, 9@65, 9@21600 | 21600, 9, - | | TN_648_10_22to32 | no-card | 21600 | TIMEOUT | 9 | 47 | 2@5, 3@5, 5@10, 9@57, 9@21600 | 21600, 9, - | -| TN_648_14_21to28 | card-mto | 21600 | TIMEOUT | 9 | 31 | 2@6, 3@6, 5@13, 9@64, 9@21600 | 21600, 9, - | -| TN_648_14_21to28 | no-card | 21600 | TIMEOUT | 9 | 31 | 2@6, 3@6, 5@12, 9@76, 9@21600 | 21600, 9, - | -| TN_684_2_22to29 | card-mto | 21600 | TIMEOUT | 17 | 31 | 2@5, 3@5, 5@5, 9@19, 17@18931, 17@21600 | 21600, 9, - | -| TN_684_2_22to29 | no-card | 21600 | TIMEOUT | 17 | 31 | 2@5, 3@5, 5@5, 9@20, 17@18881, 17@21600 | 21600, 9, - | +| TN_648_14_22to28 | card-mto | 21600 | TIMEOUT | 9 | 31 | 2@6, 3@6, 5@13, 9@64, 9@21600 | 21600, 9, - | +| TN_648_14_22to28 | no-card | 21600 | TIMEOUT | 9 | 31 | 2@6, 3@6, 5@12, 9@76, 9@21600 | 21600, 9, - | +| TN_684_2_24to29 | card-mto | 21600 | TIMEOUT | 17 | 31 | 2@5, 3@5, 5@5, 9@19, 17@18931, 17@21600 | 21600, 9, - | +| TN_684_2_24to29 | no-card | 21600 | TIMEOUT | 17 | 31 | 2@5, 3@5, 5@5, 9@20, 17@18881, 17@21600 | 21600, 9, - | | BB_756_16_32to34 | card-mto | 21600 | TIMEOUT | 18 | 34 | 2@10, 4@10, 6@10, 10@10, 18@18, 18@21600 | 21600, 18, - | | BB_756_16_32to34 | no-card | 21600 | TIMEOUT | 18 | 34 | 2@10, 4@10, 6@10, 10@11, 18@18, 18@21600 | 21600, 18, - | | BB_864_4_32to40 | card-mto | 21600 | TIMEOUT | 18 | 50 | 2@12, 4@12, 6@12, 10@12, 18@20, 18@21600 | 21600, 18, - | | BB_864_4_32to40 | no-card | 21600 | TIMEOUT | 18 | 50 | 2@12, 4@12, 6@12, 10@12, 18@20, 18@21600 | 21600, 18, - | -| COLOR_1027_1_28to37 | card-mto | 21600 | TIMEOUT | 17 | 37 | 2@46, 3@46, 5@46, 9@51, 17@1729, 17@21600 | - | -| COLOR_1027_1_28to37 | no-card | 21600 | TIMEOUT | 17 | 37 | 2@46, 3@46, 5@46, 9@51, 17@1758, 17@21600 | - | +| COLOR_1027_1_31to37 | card-mto | 21600 | TIMEOUT | 17 | 37 | 2@46, 3@46, 5@46, 9@51, 17@1729, 17@21600 | - | +| COLOR_1027_1_31to37 | no-card | 21600 | TIMEOUT | 17 | 37 | 2@46, 3@46, 5@46, 9@51, 17@1758, 17@21600 | - | | LP_1054_140_20 | card-mto | 21600 | TIMEOUT | 18 | 20 | 2@1, 4@2, 6@3, 10@11, 18@5978, 18@21600 | 21600, 18, 32 | | LP_1054_140_20 | no-card | 21600 | TIMEOUT | 18 | 20 | 2@1, 4@2, 6@3, 10@15, 18@6760, 18@21600 | 21600, 18, 32 | | BB_1080_4_32to48 | card-mto | 21600 | TIMEOUT | 18 | 60 | 2@29, 4@29, 6@29, 10@29, 18@40, 18@21600 | 21600, 18, - | @@ -171,8 +171,8 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | LP_1768_224_22 | no-card | 21600 | TIMEOUT | 18 | 22 | 2@53, 4@57, 6@62, 10@89, 18@4533, 18@21600 | 21600, 18, - | | LP_2610_744_16 | card-mto | 21600 | TIMEOUT | 10 | 16 | 2@8, 4@26, 6@69, 10@397, 10@21600 | 21600, 10, 16 | | LP_2610_744_16 | no-card | 21600 | TIMEOUT | 10 | 16 | 2@8, 4@25, 6@69, 10@398, 10@21600 | 21600, 10, 16 | -| COLOR_2791_1_26to61 | card-mto | 21600 | TIMEOUT | 17 | 63 | 2@70, 3@71, 5@72, 9@103, 17@18089, 17@21600 | - | -| COLOR_2791_1_26to61 | no-card | 21600 | TIMEOUT | 17 | 63 | 2@70, 3@70, 5@71, 9@102, 17@17980, 17@21600 | - | +| COLOR_2791_1_28to61 | card-mto | 21600 | TIMEOUT | 17 | 63 | 2@70, 3@71, 5@72, 9@103, 17@18089, 17@21600 | - | +| COLOR_2791_1_28to61 | no-card | 21600 | TIMEOUT | 17 | 63 | 2@70, 3@70, 5@71, 9@102, 17@17980, 17@21600 | - | ## CC engine (information only; not used for tier placement) @@ -232,24 +232,24 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | 5 | TN_216_4_18 | - | - | solved 18 in 508 s | - | 18 | | 5 | TN_252_2_21 | - | - | solved 21 in 8714 s | - | 21 | | 5 | TN_288_2_22to24 | - | - | TIMEOUT lb 22 ub 24 | - | 24 | -| 5 | TN_324_4_22to25 | - | - | TIMEOUT lb 22 ub 25 | - | 25 | +| 5 | TN_324_4_23to25 | - | - | TIMEOUT lb 22 ub 25 | - | 25 | | 5 | COLOR_331_1_21 | 21.25 / 122 / 148 | 122 | - | 13.65 | 21 | | 5 | BB_360_12_24 | - | - | solved 24 in 202 s | - | 24 | | 5 | TN_360_4_23to24 | - | - | TIMEOUT lb 22 ub 24 | - | 24 | | 5 | TN_396_4_23to26 | - | - | TIMEOUT lb 22 ub 26 | - | 26 | | 5 | TN_432_8_23to29 | - | - | TIMEOUT lb 23 ub 29 | - | 29 | | 5 | TN_468_4_23to29 | - | - | TIMEOUT lb 23 ub 29 | - | 29 | -| 5 | TN_496_2_27to30 | - | - | TIMEOUT lb 23 ub 30 | - | 30 | +| 5 | TN_496_2_28to30 | - | - | TIMEOUT lb 23 ub 30 | - | 30 | | 5 | TN_504_2_24to34 | - | - | TIMEOUT lb 23 ub 34 | - | 34 | -| 5 | TN_540_4_23to34 | - | - | TIMEOUT lb 23 ub 34 | - | 34 | +| 5 | TN_540_4_24to34 | - | - | TIMEOUT lb 23 ub 34 | - | 34 | | 5 | TN_576_2_24to37 | - | - | TIMEOUT lb 24 ub 38 | - | 38 | | 5 | TN_612_2_24to40 | - | - | TIMEOUT lb 24 ub 41 | - | 41 | | 5 | TN_648_10_22to32 | - | - | TIMEOUT lb 21 ub 33 | - | 33 | -| 5 | TN_648_14_21to28 | - | - | TIMEOUT lb 21 ub 31 | - | 31 | -| 5 | TN_684_2_22to29 | - | - | TIMEOUT lb 22 ub 29 | - | 29 | +| 5 | TN_648_14_22to28 | - | - | TIMEOUT lb 21 ub 31 | - | 31 | +| 5 | TN_684_2_24to29 | - | - | TIMEOUT lb 22 ub 29 | - | 29 | | 5 | BB_756_16_32to34 | - | - | TIMEOUT lb 28 ub 34 | - | 34 | | 5 | BB_864_4_32to40 | - | - | TIMEOUT lb 30 ub 42 | - | 42 | -| 5 | COLOR_1027_1_28to37 | T / T / T | 5000 | TIMEOUT lb 29 ub 37 | 5000 | 37 | +| 5 | COLOR_1027_1_31to37 | T / T / T | 5000 | TIMEOUT lb 29 ub 37 | 5000 | 37 | | 5 | LP_1054_140_20 | - | - | solved 20 in 2.00 s | - | 20 | | 5 | BB_1080_4_32to48 | - | - | TIMEOUT lb 30 ub 66 | - | 66 | | 5 | HGP_1105_1_24 | 71.64 / 181 / 189 | 181 | - | 3.86 | 24 | @@ -257,7 +257,7 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | 5 | LP_1428_184_24 | - | - | solved 24 in 147 s | - | 24 | | 5 | LP_1768_224_22 | - | - | solved 22 in 17.70 s | - | 22 | | 5 | LP_2610_744_16 | - | - | solved 16 in 2.70 s | - | 16 | -| 5 | COLOR_2791_1_26to61 | T / T / T | 5000 | TIMEOUT lb 28 ub 61 | 5000 | 61 | +| 5 | COLOR_2791_1_28to61 | T / T / T | 5000 | TIMEOUT lb 28 ub 61 | 5000 | 61 | ## Tier placement (rule PI 2026-10-12: slower-mode MaxSAT median on this server; <1 s t0, 1-10 t1, 10-100 t2, 100-2000 t3, 2000-5000 t4, else t5) @@ -317,24 +317,24 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | TN_216_4_18 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_252_2_21 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_288_2_22to24 | tier5 | - | unsolved / > 5000 | 5 | no | -| TN_324_4_22to25 | tier5 | - | unsolved / > 5000 | 5 | no | +| TN_324_4_23to25 | tier5 | - | unsolved / > 5000 | 5 | no | | COLOR_331_1_21 | untiered/COLOR_331_1_unknown | no-card | unsolved / > 5000 | 5 | untiered -> tier5 | | BB_360_12_24 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_360_4_23to24 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_396_4_23to26 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_432_8_23to29 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_468_4_23to29 | tier5 | - | unsolved / > 5000 | 5 | no | -| TN_496_2_27to30 | tier5 | - | unsolved / > 5000 | 5 | no | +| TN_496_2_28to30 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_504_2_24to34 | tier5 | - | unsolved / > 5000 | 5 | no | -| TN_540_4_23to34 | tier5 | - | unsolved / > 5000 | 5 | no | +| TN_540_4_24to34 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_576_2_24to37 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_612_2_24to40 | tier5 | - | unsolved / > 5000 | 5 | no | | TN_648_10_22to32 | tier5 | - | unsolved / > 5000 | 5 | no | -| TN_648_14_21to28 | tier5 | - | unsolved / > 5000 | 5 | no | -| TN_684_2_22to29 | tier5 | - | unsolved / > 5000 | 5 | no | +| TN_648_14_22to28 | tier5 | - | unsolved / > 5000 | 5 | no | +| TN_684_2_24to29 | tier5 | - | unsolved / > 5000 | 5 | no | | BB_756_16_32to34 | tier5 | - | unsolved / > 5000 | 5 | no | | BB_864_4_32to40 | tier5 | - | unsolved / > 5000 | 5 | no | -| COLOR_1027_1_28to37 | untiered/COLOR_1027_1_unknown | no-card | 5000 | 5 | untiered -> tier5 | +| COLOR_1027_1_31to37 | untiered/COLOR_1027_1_unknown | no-card | 5000 | 5 | untiered -> tier5 | | LP_1054_140_20 | tier5 | - | unsolved / > 5000 | 5 | no | | BB_1080_4_32to48 | tier5 | - | unsolved / > 5000 | 5 | no | | HGP_1105_1_24 | untiered/HGP_1105_1_unknown | no-card | 5000 | 5 | untiered -> tier5 | @@ -342,7 +342,7 @@ Binary: main 02879a93 (PR #203 merge) built on yfclab2 (frozen/server-main-02879 | LP_1428_184_24 | tier5 | - | unsolved / > 5000 | 5 | no | | LP_1768_224_22 | tier5 | - | unsolved / > 5000 | 5 | no | | LP_2610_744_16 | tier5 | - | unsolved / > 5000 | 5 | no | -| COLOR_2791_1_26to61 | untiered/COLOR_2791_1_unknown | no-card | 5000 | 5 | untiered -> tier5 | +| COLOR_2791_1_28to61 | untiered/COLOR_2791_1_unknown | no-card | 5000 | 5 | untiered -> tier5 | Notes: - Replaces the main c914ef5 table (2026-10-21; git history). The Mac table (README.md, main_mac_reference.json) was not re-recorded: the Mac is reserved for timing work of other rounds. diff --git a/optimization/baselines/main_server_reference.json b/optimization/baselines/main_server_reference.json index 5aa66f19..6d5173d6 100644 --- a/optimization/baselines/main_server_reference.json +++ b/optimization/baselines/main_server_reference.json @@ -3636,7 +3636,7 @@ }, { "tier": 5, - "case": "TN_324_4_22to25", + "case": "TN_324_4_23to25", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -3688,7 +3688,7 @@ }, { "tier": 5, - "case": "TN_324_4_22to25", + "case": "TN_324_4_23to25", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -4406,7 +4406,7 @@ }, { "tier": 5, - "case": "TN_496_2_27to30", + "case": "TN_496_2_28to30", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -4462,7 +4462,7 @@ }, { "tier": 5, - "case": "TN_496_2_27to30", + "case": "TN_496_2_28to30", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -4630,7 +4630,7 @@ }, { "tier": 5, - "case": "TN_540_4_23to34", + "case": "TN_540_4_24to34", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -4682,7 +4682,7 @@ }, { "tier": 5, - "case": "TN_540_4_23to34", + "case": "TN_540_4_24to34", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -5054,7 +5054,7 @@ }, { "tier": 5, - "case": "TN_648_14_21to28", + "case": "TN_648_14_22to28", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -5106,7 +5106,7 @@ }, { "tier": 5, - "case": "TN_648_14_21to28", + "case": "TN_648_14_22to28", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -5158,7 +5158,7 @@ }, { "tier": 5, - "case": "TN_684_2_22to29", + "case": "TN_684_2_24to29", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -5214,7 +5214,7 @@ }, { "tier": 5, - "case": "TN_684_2_22to29", + "case": "TN_684_2_24to29", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -5494,7 +5494,7 @@ }, { "tier": 5, - "case": "COLOR_1027_1_28to37", + "case": "COLOR_1027_1_31to37", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -5547,7 +5547,7 @@ }, { "tier": 5, - "case": "COLOR_1027_1_28to37", + "case": "COLOR_1027_1_31to37", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -6376,7 +6376,7 @@ }, { "tier": 5, - "case": "COLOR_2791_1_26to61", + "case": "COLOR_2791_1_28to61", "mode": "card-mto", "n": 1, "median_s": 21600.1, @@ -6429,7 +6429,7 @@ }, { "tier": 5, - "case": "COLOR_2791_1_26to61", + "case": "COLOR_2791_1_28to61", "mode": "no-card", "n": 1, "median_s": 21600.1, @@ -7529,7 +7529,7 @@ }, { "tier": 5, - "case": "TN_324_4_22to25", + "case": "TN_324_4_23to25", "cc_default_6h": { "wall_s": 21600.0, "result": null, @@ -7633,7 +7633,7 @@ }, { "tier": 5, - "case": "TN_496_2_27to30", + "case": "TN_496_2_28to30", "cc_default_6h": { "wall_s": 21600.1, "result": null, @@ -7657,7 +7657,7 @@ }, { "tier": 5, - "case": "TN_540_4_23to34", + "case": "TN_540_4_24to34", "cc_default_6h": { "wall_s": 21600.0, "result": null, @@ -7712,7 +7712,7 @@ }, { "tier": 5, - "case": "TN_648_14_21to28", + "case": "TN_648_14_22to28", "cc_default_6h": { "wall_s": 21600.1, "result": null, @@ -7731,7 +7731,7 @@ }, { "tier": 5, - "case": "TN_684_2_22to29", + "case": "TN_684_2_24to29", "cc_default_6h": { "wall_s": 21600.1, "result": null, @@ -7774,7 +7774,7 @@ }, { "tier": 5, - "case": "COLOR_1027_1_28to37", + "case": "COLOR_1027_1_31to37", "cc_default": { "seeds": { "0": null, @@ -7910,7 +7910,7 @@ }, { "tier": 5, - "case": "COLOR_2791_1_26to61", + "case": "COLOR_2791_1_28to61", "cc_default": { "seeds": { "0": null, @@ -8436,8 +8436,8 @@ "note": "" }, { - "case": "TN_324_4_22to25", - "old_stem": "TN_324_4_22to25", + "case": "TN_324_4_23to25", + "old_stem": "TN_324_4_23to25", "old_dir": "tier5", "new_tier": 5, "slower_mode": null, @@ -8499,8 +8499,8 @@ "note": "" }, { - "case": "TN_496_2_27to30", - "old_stem": "TN_496_2_27to30", + "case": "TN_496_2_28to30", + "old_stem": "TN_496_2_28to30", "old_dir": "tier5", "new_tier": 5, "slower_mode": null, @@ -8517,8 +8517,8 @@ "note": "" }, { - "case": "TN_540_4_23to34", - "old_stem": "TN_540_4_23to34", + "case": "TN_540_4_24to34", + "old_stem": "TN_540_4_24to34", "old_dir": "tier5", "new_tier": 5, "slower_mode": null, @@ -8553,8 +8553,8 @@ "note": "" }, { - "case": "TN_648_14_21to28", - "old_stem": "TN_648_14_21to28", + "case": "TN_648_14_22to28", + "old_stem": "TN_648_14_22to28", "old_dir": "tier5", "new_tier": 5, "slower_mode": null, @@ -8562,8 +8562,8 @@ "note": "" }, { - "case": "TN_684_2_22to29", - "old_stem": "TN_684_2_22to29", + "case": "TN_684_2_24to29", + "old_stem": "TN_684_2_24to29", "old_dir": "tier5", "new_tier": 5, "slower_mode": null, @@ -8589,7 +8589,7 @@ "note": "" }, { - "case": "COLOR_1027_1_28to37", + "case": "COLOR_1027_1_31to37", "old_stem": "COLOR_1027_1_unknown", "old_dir": "untiered", "new_tier": 5, @@ -8661,7 +8661,7 @@ "note": "" }, { - "case": "COLOR_2791_1_26to61", + "case": "COLOR_2791_1_28to61", "old_stem": "COLOR_2791_1_unknown", "old_dir": "untiered", "new_tier": 5, diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_324_4_23to25.X.w25.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_324_4_23to25.X.w25.txt new file mode 100644 index 00000000..fe9ba1c8 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_324_4_23to25.X.w25.txt @@ -0,0 +1,6 @@ +# TN_324_4_23to25 (renamed from TN_324_4_22to25 on 2026-11-06, GH-225 erasure lower bound): copy of ../../../GH-152/witnesses/TN_324_4_22to25.X.w25.txt; the upper bound in the stem comes from this witness +# TN_324_4_22to25 (renamed from TN_324_4_9to25 on 2026-10-29, GH-152 CC lower bound): copy of ../../GH-146/witnesses/renamed/TN_324_4_9to25.X.w25.txt; the upper bound in the stem comes from this witness +# TN_324_4_9to25 (renamed from TN_324_4_ge9 on 2026-10-23): copy of ../TN_324_4_ge9.X.w25.txt; the upper bound in the stem comes from this witness +# TN_324_4_ge9: X-type logical operator of weight 25 (0-based qubit indices), so d <= 25 +# found by the DistQLDPC finder (GH-146 S0/S1, binary 4f16e0d): old.TN_324_4_ge9.s0.log at 0.081 s (ub-search) +20 93 102 110 113 122 161 168 182 186 195 204 221 230 231 240 262 274 281 292 299 301 304 313 319 diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_496_2_28to30.Z.w30.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_496_2_28to30.Z.w30.txt new file mode 100644 index 00000000..06e9a226 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_496_2_28to30.Z.w30.txt @@ -0,0 +1,7 @@ +# TN_496_2_28to30 (renamed from TN_496_2_27to30 on 2026-11-06, GH-225 erasure lower bound): copy of ../renamed-2026-10-31/TN_496_2_27to30.Z.w30.txt; the upper bound in the stem comes from this witness +# TN_496_2_27to30 (renamed from TN_496_2_23to30 on 2026-10-31, GH-181 CC lower bound): copy of ../../../GH-152/witnesses/TN_496_2_23to30.Z.w30.txt; the upper bound in the stem comes from this witness +# TN_496_2_23to30 (renamed from TN_496_2_17to30 on 2026-10-29, GH-152 CC lower bound): copy of ../../GH-146/witnesses/renamed/TN_496_2_17to30.Z.w30.txt; the upper bound in the stem comes from this witness +# TN_496_2_17to30 (renamed from TN_496_2_ge17 on 2026-10-23): copy of ../TN_496_2_ge17.Z.w30.txt; the upper bound in the stem comes from this witness +# TN_496_2_ge17: Z-type logical operator of weight 30 (0-based qubit indices), so d <= 30 +# found by the DistQLDPC finder (GH-146 S0/S1, binary 4f16e0d): old.TN_496_2_ge17.s0.log at 7.949 s (ub-search) +64 65 67 74 85 93 97 105 119 127 130 138 241 249 256 263 266 269 307 310 311 314 371 375 376 380 417 425 439 447 diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_540_4_24to34.X.w34.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_540_4_24to34.X.w34.txt new file mode 100644 index 00000000..00e1b139 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_540_4_24to34.X.w34.txt @@ -0,0 +1,6 @@ +# TN_540_4_24to34 (renamed from TN_540_4_23to34 on 2026-11-06, GH-225 erasure lower bound): copy of ../../../GH-152/witnesses/TN_540_4_23to34.X.w34.txt; the upper bound in the stem comes from this witness +# TN_540_4_23to34 (renamed from TN_540_4_9to34 on 2026-10-29, GH-152 CC lower bound): copy of ../../GH-146/witnesses/renamed/TN_540_4_9to34.X.w34.txt; the upper bound in the stem comes from this witness +# TN_540_4_9to34 (renamed from TN_540_4_ge9 on 2026-10-23): copy of ../TN_540_4_ge9.X.w34.txt; the upper bound in the stem comes from this witness +# TN_540_4_ge9: X-type logical operator of weight 34 (0-based qubit indices), so d <= 34 +# found by the DistQLDPC finder (GH-146 S0/S1, binary 4f16e0d): old.TN_540_4_ge9.s0.log at 3240.171 s (ub-search) +3 54 55 80 85 119 125 143 175 222 233 238 248 256 312 324 339 408 413 418 428 433 441 453 454 455 467 474 504 514 515 527 531 534 diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_648_14_22to28.Z.w28.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_648_14_22to28.Z.w28.txt new file mode 100644 index 00000000..d99dc462 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_648_14_22to28.Z.w28.txt @@ -0,0 +1,6 @@ +# TN_648_14_22to28 (renamed from TN_648_14_21to28 on 2026-11-06, GH-225 erasure lower bound): copy of ../renamed-2026-11-05/TN_648_14_21to28.Z.w28.txt; the upper bound in the stem comes from this witness +# TN_648_14_21to28 (renamed from TN_648_14_9to28 on 2026-11-05, GH-217 CC lower bound): copy of ../renamed/TN_648_14_9to28.Z.w28.txt; the upper bound in the stem comes from this witness +# TN_648_14_9to28 (renamed from TN_648_14_ge9 on 2026-10-23): copy of ../TN_648_14_ge9.Z.w28.txt; the upper bound in the stem comes from this witness +# TN_648_14_ge9: Z-type logical operator of weight 28 (0-based qubit indices), so d <= 28 +# found by the DistQLDPC finder (GH-146 S0/S1, binary 4f16e0d): old.TN_648_14_ge9.s0.log at 2153.383 s (ub-search) +1 3 20 38 73 109 110 111 141 146 159 163 164 189 213 255 289 308 351 369 387 415 433 507 577 595 615 621 diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_684_2_24to29.Z.w29.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_684_2_24to29.Z.w29.txt new file mode 100644 index 00000000..8d9f53c4 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/TN_684_2_24to29.Z.w29.txt @@ -0,0 +1,6 @@ +# TN_684_2_24to29 (renamed from TN_684_2_22to29 on 2026-11-06, GH-225 erasure lower bound): copy of ../renamed-2026-11-05/TN_684_2_22to29.Z.w29.txt; the upper bound in the stem comes from this witness +# TN_684_2_22to29 (renamed from TN_684_2_9to29 on 2026-11-05, GH-217 CC lower bound): copy of ../renamed/TN_684_2_9to29.Z.w29.txt; the upper bound in the stem comes from this witness +# TN_684_2_9to29 (renamed from TN_684_2_ge9 on 2026-10-23): copy of ../TN_684_2_ge9.Z.w29.txt; the upper bound in the stem comes from this witness +# TN_684_2_ge9: Z-type logical operator of weight 29 (0-based qubit indices), so d <= 29 +# found by the DistQLDPC finder (GH-146 S0/S1, binary 4f16e0d): old.TN_684_2_ge9.s0.log at 32.510 s (ub-search) +0 5 6 15 48 104 228 233 234 243 276 332 342 347 348 357 390 446 575 579 585 595 608 617 618 636 646 652 671 diff --git a/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/VERIFY.txt b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/VERIFY.txt new file mode 100644 index 00000000..7d0d2af4 --- /dev/null +++ b/optimization/experiments/GH-146/witnesses/renamed-2026-11-06/VERIFY.txt @@ -0,0 +1,6 @@ +TN_324_4_23to25.X.w25.txt: n 324, weight 25, CSS True, H e = 0 True, not in rowspace(S) True, odd overlap with G True -> VALID: d <= 25 +TN_496_2_28to30.Z.w30.txt: n 496, weight 30, CSS True, H e = 0 True, not in rowspace(S) True, odd overlap with G True -> VALID: d <= 30 +TN_540_4_24to34.X.w34.txt: n 540, weight 34, CSS True, H e = 0 True, not in rowspace(S) True, odd overlap with G True -> VALID: d <= 34 +TN_648_14_22to28.Z.w28.txt: n 648, weight 28, CSS True, H e = 0 True, not in rowspace(S) True, odd overlap with G True -> VALID: d <= 28 +TN_684_2_24to29.Z.w29.txt: n 684, weight 29, CSS True, H e = 0 True, not in rowspace(S) True, odd overlap with G True -> VALID: d <= 29 +ALL VALID diff --git a/optimization/experiments/GH-225/lb-repro/REPRODUCTION.md b/optimization/experiments/GH-225/lb-repro/REPRODUCTION.md new file mode 100644 index 00000000..735bf1ab --- /dev/null +++ b/optimization/experiments/GH-225/lb-repro/REPRODUCTION.md @@ -0,0 +1,34 @@ +# GH-225 lower-bound reproduction (2026-11-05/06) + +The GH-225 Tier 5 runs (#225; records on branch `experiment/gh-225-cc-erasure-default`, `optimization/experiments/GH-225/`) +and the GH-227 open-code runs (#227, PR #229, `optimization/experiments/GH-227/tier5{a,b}/`) raised seven tier5 lower +bounds above their stems in single 6 h runs. This directory holds the reproduction runs and the comparison. + +- Binary: main 1239e9a2 built on yfclab2 (`frozen/server-gh225lb-main-1239e9a`, sha256 f939bbb2...). +- Arms (12 h = 43 200 s each, one pinned core per run, 4 GB cap, idle check of the core and its SMT sibling before each launch): + `E.s1` / `E.s2` = CC default plus `erasure` (ungated on this binary) with relabelled qubits and rows (`-seed=1`, `-seed=2`); + `E.bfs` = the same rules with `-cc-roworder=bfs`; `A.s1` = the CC default without erasure, `-seed=1`; + `E.idx` (COLOR_1027 only, `repro2/`) = erasure with `-cc-roworder=index`. It turned out to search the same tree as the + GH-225 erasure run and was stopped after 42 721 s (rc -15), after it had reached lb 32. +- yfclab2 logical CPUs 64-95 (runner: `runner/gh225lb_queue.py`, a copy of the GH-225 runner with the core range changed). +- `analysis.md` (from `runner/analyze_lb.py`): time to each lb per run and whether each search tree differs from the + original single runs (node counts per half and level). `orig/` holds the GH-225 results used for that comparison. +- `logs.tgz`: full solver output of every run. Every lb used for a rename has its last level EMPTY on both halves (X half + only where a verified XZ-dual map is in use: TN_496 and the color codes). + +A lower bound is used for a rename only when at least two runs with different search trees reached it (different seed, +row order, or binary and rule set). This is the same CC engine, not an independent second method. + +| Code | Claimed (single run) | Renamed lb | Runs reaching it with different trees | +|---|---:|---:|---| +| TN_324_4 | 23 | 23 | GH-225 E 20 985 s; E.s1 30 309 s; E.s2 31 369 s | +| TN_496_2 | 28 | 28 | GH-225 E 17 996 s; GH-227 C 19 683 s; E.s1 20 699 s; E.s2 19 095 s; A.s1 24 919 s | +| TN_540_4 | 24 | 24 | GH-225 E 19 168 s; GH-227 C 18 399 s; E.s1 35 026 s; E.s2 32 893 s; A.s1 42 322 s | +| TN_648_14 | 22 | 22 | GH-225 E 20 292 s; GH-227 C 19 331 s; E.s1 35 385 s; E.s2 36 573 s; A.s1 36 164 s | +| COLOR_1027_1 | 31 | 31 | GH-225 E 16 090 s; GH-227 C 18 190 s; E.bfs 33 206 s | +| TN_684_2 | 23 | 24 | lb 24: E.s1 39 232 s; E.s2 39 063 s (lb 23: all GH-225 / GH-227 arms and E.s1, E.s2, A.s1) | +| COLOR_2791_1 | 28 / 29 | 28 | GH-225 A 10 312 s (same tree as GH-227 M 11 706 s); GH-227 C 9 612 s | + +Still PLAUSIBLE (single tree): COLOR_1027 lb 32 (E.idx, same tree as GH-225 E), COLOR_2791 lb 29 (GH-227 C, 20 721 s). +Two COLOR_2791 runs on main 755e0c21 (`-cc-roworder=bfs` and `-cc-roworder=index`, 12 h, CPUs 65-66) were started on +2026-11-06 to check lb 29; they are not part of this record. diff --git a/optimization/experiments/GH-225/lb-repro/analysis.md b/optimization/experiments/GH-225/lb-repro/analysis.md new file mode 100644 index 00000000..30eb5101 --- /dev/null +++ b/optimization/experiments/GH-225/lb-repro/analysis.md @@ -0,0 +1,95 @@ +# GH-225 lb reproduction: summary + +Times are wall seconds from process start to the `c d_lb` event (yfclab2, one pinned core per run, 4 GB cap). +"tree" compares node counts per half and level with every original single run of the code at the deepest level both +finished: "differs" = differs from all of them at that level; "same as X" = identical to run X there. +Original runs: 6 h, default seed. Reproduction runs ("repro"): 12 h. "+erasure" = -cc-rules=excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv,erasure (ungated on 1239e9a2). + +## TN_324_4_22to25 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 A | 42d7d1d (PR #220 head) | 22 | - | same as GH-227 M (Z level 22) | +| GH-225 E | 5a201fd (A + erasure default) | 23 | 23@20985 | differs (checked to level 22) | +| GH-227 M | main 1239e9a2 | 22 | - | same as GH-225 A (Z level 22) | +| GH-227 C | 755e0c21 (gated erasure default) | 22 | - | differs (checked to level 22) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 23 | 23@30309 | differs (checked to level 22) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 23 | 23@31369 | differs (checked to level 22) | +| repro A.s1 | main 1239e9a2 -seed=1 | 22 | - | differs (checked to level 22) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 22 | - | differs (checked to level 22) | + +## TN_496_2_27to30 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 A | 42d7d1d (PR #220 head) | 27 | - | same as GH-227 M (X level 26) | +| GH-225 E | 5a201fd (A + erasure default) | 28 | 28@17996 | differs (checked to level 27) | +| GH-227 M | main 1239e9a2 | 27 | - | same as GH-225 A (X level 26) | +| GH-227 C | 755e0c21 (gated erasure default) | 28 | 28@19683 | differs (checked to level 27) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 28 | 28@20699 | differs (checked to level 27) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 28 | 28@19856 | same as GH-225 E (X level 27) | +| repro A.s1 | main 1239e9a2 -seed=1 | 28 | 28@24919 | differs (checked to level 27) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 28 | 28@19095 | differs (checked to level 27) | + +## TN_540_4_23to34 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 E | 5a201fd (A + erasure default) | 24 | 24@19168 | differs (checked to level 23) | +| GH-225 A | 42d7d1d (PR #220 head) | 23 | - | same as GH-227 M (Z level 23) | +| GH-227 M | main 1239e9a2 | 23 | - | same as GH-225 A (Z level 23) | +| GH-227 C | 755e0c21 (gated erasure default) | 24 | 24@18399 | differs (checked to level 23) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 24 | 24@35026 | differs (checked to level 23) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 24 | 24@32893 | differs (checked to level 23) | +| repro A.s1 | main 1239e9a2 -seed=1 | 24 | 24@42322 | differs (checked to level 23) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 23 | - | differs (checked to level 22) | + +## TN_648_14_21to28 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 E | 5a201fd (A + erasure default) | 22 | 22@20292 | differs (checked to level 21) | +| GH-225 A | 42d7d1d (PR #220 head) | 21 | - | same as GH-227 M (X level 21) | +| GH-227 M | main 1239e9a2 | 21 | - | same as GH-225 A (X level 21) | +| GH-227 C | 755e0c21 (gated erasure default) | 22 | 22@19331 | differs (checked to level 21) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 22 | 22@35385 | differs (checked to level 21) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 22 | 22@36573 | differs (checked to level 21) | +| repro A.s1 | main 1239e9a2 -seed=1 | 22 | 22@36164 | differs (checked to level 21) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 21 | - | differs (checked to level 20) | + +## COLOR_1027_1_28to37 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 A | 42d7d1d (PR #220 head) | 30 | 29@6698, 30@14256 | same as GH-227 M (X level 29) | +| GH-225 E | 5a201fd (A + erasure default) | 31 | 29@3550, 30@7564, 31@16090 | differs (checked to level 30) | +| GH-227 M | main 1239e9a2 | 30 | 29@7633, 30@16208 | same as GH-225 A (X level 29) | +| GH-227 C | 755e0c21 (gated erasure default) | 31 | 29@4032, 30@8572, 31@18190 | differs (checked to level 30) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 29 | 29@28751 | differs (checked to level 28) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 29 | 29@27806 | differs (checked to level 28) | +| repro A.s1 | main 1239e9a2 -seed=1 | 28 | - | differs (checked to level 27) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 31 | 29@6726, 30@15170, 31@33206 | differs (checked to level 30) | +| repro E.idx | main 1239e9a2 +erasure -cc-roworder=index | 32 | 29@3990, 30@8474, 31@18004, 32@37190 | same as GH-225 E (X level 30) | + +## TN_684_2_22to29 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 A | 42d7d1d (PR #220 head) | 23 | 23@16367 | same as GH-227 M (Z level 22) | +| GH-225 E | 5a201fd (A + erasure default) | 23 | 23@20207 | differs (checked to level 22) | +| GH-227 M | main 1239e9a2 | 23 | 23@17440 | same as GH-225 A (Z level 22) | +| GH-227 C | 755e0c21 (gated erasure default) | 23 | 23@21196 | differs (checked to level 22) | +| repro E.s1 | main 1239e9a2 +erasure -seed=1 | 24 | 23@13945, 24@39232 | differs (checked to level 22) | +| repro E.s2 | main 1239e9a2 +erasure -seed=2 | 24 | 23@14375, 24@39063 | differs (checked to level 22) | +| repro A.s1 | main 1239e9a2 -seed=1 | 23 | 23@17570 | differs (checked to level 22) | +| repro E.bfs | main 1239e9a2 +erasure -cc-roworder=bfs | 22 | - | differs (checked to level 22) | + +## COLOR_2791_1_26to61 + +| run | binary / args | final lb | time to each lb > stem lb | tree | +|---|---|---:|---|---| +| GH-225 A | 42d7d1d (PR #220 head) | 28 | 27@4825, 28@10312 | same as GH-227 M (X level 27) | +| GH-225 E | 5a201fd (A + erasure default) | 27 | 27@17220 | differs (checked to level 26) | +| GH-227 M | main 1239e9a2 | 28 | 27@5483, 28@11706 | same as GH-225 A (X level 27) | +| GH-227 C | 755e0c21 (gated erasure default) | 29 | 27@4471, 28@9612, 29@20721 | differs (checked to level 27) | + diff --git a/optimization/experiments/GH-225/lb-repro/logs.tgz b/optimization/experiments/GH-225/lb-repro/logs.tgz new file mode 100644 index 0000000000000000000000000000000000000000..933e637dfaa51f6d441af761704e81e7dce8301b GIT binary patch literal 121754 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 J`|kiK3IOBKHunGk literal 0 HcmV?d00001 diff --git a/optimization/experiments/GH-225/lb-repro/orig/gh225_tier5_results.jsonl.gz b/optimization/experiments/GH-225/lb-repro/orig/gh225_tier5_results.jsonl.gz new file mode 100644 index 0000000000000000000000000000000000000000..d75609137a86c8783c5279a6ed284475911cb033 GIT binary patch literal 147141 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

JKF znYEynvJn7+7{YbmO-5{IbPP4zK3nZW2I&Kw@*ja0}{U z#mf5nZBYOh#}sVpzxO@4oZJFZLy5JlV7gk-^F%g~ISzVXhKb)S3AZFMftSnmOy z@r)Mne$-T)Ah9|$eBk;3MO8I2_Dk3mr!NQ`U~~=P68NvK=dO(@S+5HxZ$DQgO2s>3<>CiZFeP_MMG z=OBf|f@9@N{eeJP~-EBb2{DpdQy+WoCBI*)(h{^OEyyv)=2_k*iPX5z$nMH_sLGOsVCyAVN

;pt(1SNWs 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≧Mj!sMpk34 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 f;C}6z_uJuqs~c&*`4IVgO#A&mu8{V0`vVRDUu= the old stem lb, final lb, and whether the search tree differs +from the original single runs (GH-225 arms A / E, GH-227 arms M / C): node counts of each half at level L are compared. +usage: analyze_lb.py ORIG_GH225.jsonl ORIG_GH227.jsonl REPRO_RESULTS.jsonl... > analysis.md""" +import json, re, sys + +STEMS = ['TN_324_4_22to25', 'TN_496_2_27to30', 'TN_540_4_23to34', 'TN_648_14_21to28', 'COLOR_1027_1_28to37', 'TN_684_2_22to29', + 'COLOR_2791_1_26to61'] + + +def load(path, tag): + out = [] + for l in open(path): + if not l.strip(): continue + r = json.loads(l) + if r.get('stem') in STEMS: r['tag'] = tag; out.append(r) + return out + + +def nodes(r): + d = {} + for x in r.get('levels', []): + m = re.match(r'([XZ]) level (\d+) (EMPTY|FOUND|\S+) nodes (\d+)', x) + if m: d[(m.group(1), int(m.group(2)))] = (m.group(3), int(m.group(4))) + return d + + +BIN = {'GH-225 A': '42d7d1d (PR #220 head)', 'GH-225 E': '5a201fd (A + erasure default)', 'GH-227 M': 'main 1239e9a2', + 'GH-227 C': '755e0c21 (gated erasure default)', 'repro E': 'main 1239e9a2', 'repro A': 'main 1239e9a2', 'repro C': 'main 755e0c21'} +orig = load(sys.argv[1], 'GH-225') + load(sys.argv[2], 'GH-227') +rep = [] +for p in sys.argv[3:]: rep += load(p, 'repro') +print('# GH-225 lb reproduction: summary\n') +print('Times are wall seconds from process start to the `c d_lb` event (yfclab2, one pinned core per run, 4 GB cap).') +print('"tree" compares node counts per half and level with every original single run of the code at the deepest level both') +print('finished: "differs" = differs from all of them at that level; "same as X" = identical to run X there.') +print('Original runs: 6 h, default seed. Reproduction runs ("repro"): 12 h. "+erasure" = -cc-rules=excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv,erasure (ungated on 1239e9a2).\n') +for s in STEMS: + lo = int(s.split('_')[3].split('to')[0]) + rs = [r for r in orig + rep if r['stem'] == s] + if not rs: continue + print(f'## {s}\n') + print('| run | binary / args | final lb | time to each lb > stem lb | tree |') + print('|---|---|---:|---|---|') + on = {f"{r['tag']} {r['arm']}": nodes(r) for r in orig if r['stem'] == s} + for r in rs: + name = f"{r['tag']} {r['arm']}" + ev = {} + for t, v in r['lb_events']: + if v > lo and v not in ev: ev[v] = int(t) + times = ', '.join(f'{v}@{t}' for v, t in sorted(ev.items())) or '-' + tree = '' + if True: + n = nodes(r); same = []; lvl = None + for o, on_ in on.items(): + if o == name: continue + common = [k for k in n if k in on_ and n[k][0] == 'EMPTY' and on_[k][0] == 'EMPTY'] + if not common: continue + k = max(common, key=lambda k: (k[1], k[0])) + lvl = k if lvl is None or k[1] > lvl[1] else lvl + if n[k][1] == on_[k][1]: same.append(f'{o} ({k[0]} level {k[1]})') + tree = ('same as ' + '; '.join(same)) if same else f'differs (checked to level {lvl[1] if lvl else "-"})' + b = BIN.get(name.split(' ')[0] + ' ' + name.split(' ')[1].split('.')[0], '?') + a = ' '.join(x for x in r['args'] if x not in ('-engine=cc', '-cc-stats')) + a = a.replace('-cc-rules=excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv,erasure', '+erasure') + print(f"| {name} | {b} {a} | {r.get('final_lb')} | {times} | {tree} |") + print() diff --git a/optimization/experiments/GH-225/lb-repro/runner/gh225lb_queue.py b/optimization/experiments/GH-225/lb-repro/runner/gh225lb_queue.py new file mode 100644 index 00000000..f589a0ac --- /dev/null +++ b/optimization/experiments/GH-225/lb-repro/runner/gh225lb_queue.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +"""GH-225 lb reproduction runner (copy of the GH-225 queue runner with the core range changed to 64-95; GH-225 queue runner copied from GH-217 / GH-206 / GH-183 / GH-162; GH-162 added an optional "env" dict and an optional "bin" per job; +GH-225 adds the idle check below) for yfclab2 (one process per pinned core, 4 GB cap, jobs from a JSON-lines file). + +Job: {"id", "args": [...solver flags...], "code": "data/matrices/tierT/STEM", "stem", "tier", "limit"}. +Every process: taskset -c CORE prlimit --as=4294967296 -- BIN ARGS -cpu-lim=LIMIT CODE (stdin /dev/null). +Jobs are taken in file order by whichever core is free. stdout is read live; every line is logged with its elapsed +time; c d_lb / c d_ub / o events are recorded with their time. Backstop kill at LIMIT + 600 s. Science check: an +answer must lie in the stem's range ({d} / {lb}to{ub} / ge{lb}), every lb <= the stem's upper value, every ub >= the +stem's lower value. GH-225 idle check (coordinator 2026-11-05): before each launch on core c, c and its SMT sibling +c+128 are sampled for 1 s from /proc/stat; if either is more than 10 % busy, the core is skipped for 60 s (the job stays +queued for any core). Every launch records the busy fraction of c / c+128 and the list of cores in 64-127 / 192-255 that +were more than 50 % busy (our own runs included). usage: gh225lb_queue.py --bin BIN --cpus 64-95 --jobs JOBS.jsonl --out DIR +""" +import argparse, json, os, re, signal, subprocess, threading, time, queue + +ap = argparse.ArgumentParser() +ap.add_argument('--bin', required=True); ap.add_argument('--cpus', required=True) +ap.add_argument('--jobs', required=True); ap.add_argument('--out', required=True) +a = ap.parse_args() +os.makedirs(a.out + '/logs', exist_ok=True) +cpus = [] +for part in a.cpus.split(','): + lo, _, hi = part.partition('-'); cpus += list(range(int(lo), int(hi or lo) + 1)) +assert all(64 <= c <= 95 for c in cpus) # GH-225 lb reproduction: yfclab2 logical CPUs 64-95 only (coordinator 2026-11-05) +jobs = [json.loads(l) for l in open(a.jobs) if l.strip()] +done_ids = set() +if os.path.exists(f'{a.out}/results.jsonl'): + for l in open(f'{a.out}/results.jsonl'): + try: done_ids.add(json.loads(l)['id']) + except Exception: pass +jobs = [j for j in jobs if j['id'] not in done_ids] +q = queue.Queue(); [q.put(j) for j in jobs] +lock = threading.Lock(); res = [] + + +def snap(): + d = {} + for l in open('/proc/stat'): + if l.startswith('cpu') and l[3].isdigit(): + f = l.split(); v = list(map(int, f[1:])); d[int(f[0][3:])] = (sum(v), v[3] + v[4]) + return d + + +def busy(sec=1.0): + x = snap(); time.sleep(sec); y = snap(); out = {} + for c in y: + t = y[c][0] - x[c][0]; out[c] = round(1 - (y[c][1] - x[c][1]) / t, 2) if t else 0.0 + return out + + +def busy_list(b): return [c for c in sorted(b) if (64 <= c <= 127 or 192 <= c <= 255) and b[c] > 0.5] + + +def bounds(stem): + f = stem.split('_')[3] + if f.isdigit(): return int(f), int(f) + if f.startswith('ge'): return int(f[2:]), None + if f == 'unknown': return 1, None # GH-217: untiered stems + x, y = f.split('to'); return int(x), int(y) + + +def run(j, cpu, idle): + lim = j['limit'] + cmd = ['taskset', '-c', str(cpu), 'prlimit', '--as=4294967296', '--', j.get('bin', a.bin)] + j['args'] + [f'-cpu-lim={lim}', j['code']] + log = open(f'{a.out}/logs/{j["id"]}.log', 'w', buffering=1) + t0 = time.monotonic(); start = time.time() + log.write(f'# start {start:.3f} cpu {cpu} idle-check {json.dumps(idle)} cmd: ' + ' '.join(cmd) + '\n') + env = dict(os.environ); env.update(j.get('env', {})) + if j.get('env'): log.write('# env ' + json.dumps(j['env']) + '\n') + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.DEVNULL, text=True, env=env, + start_new_session=True) + killed = [False] + + def backstop(): + killed[0] = True + try: os.killpg(p.pid, signal.SIGKILL) + except ProcessLookupError: pass + tm = threading.Timer(lim + 600, backstop); tm.start() + lbs = []; ubs = []; result = None; withdrawn = []; status = []; levels = [] + for line in p.stdout: + e = time.monotonic() - t0; log.write(f'{e:10.3f}\t{line}') + m = re.match(r'c d_(lb|ub): (\d+|-)\s*$', line) + if m: + if m.group(2) == '-': withdrawn.append((round(e, 3), m.group(1))) + else: (lbs if m.group(1) == 'lb' else ubs).append((round(e, 3), int(m.group(2)))) + if line.startswith('o '): result = (round(e, 3), int(line.split()[1])) + if line.startswith('c status') or line.startswith('s ') or line.startswith('error') or line.startswith('warning'): status.append(line.strip()) + if line.startswith('c cc-stats: ') and ' level ' in line: levels.append(line.strip()[12:]) + _, st, ru = os.wait4(p.pid, 0); tm.cancel(); wall = time.monotonic() - t0 + rc = os.waitstatus_to_exitcode(st) + lo, hi = bounds(j['stem']); bad = [] + if result and (result[1] < lo or (hi is not None and result[1] > hi)): bad.append(f'answer {result[1]} outside stem [{lo},{hi}]') + if hi is not None and any(x > hi for _, x in lbs): bad.append('lb above stem upper value') + if any(x < lo for _, x in ubs): bad.append('ub below stem lower value') + if killed[0]: bad.append('runner backstop kill') + if rc not in (0, 1) and not killed[0]: bad.append(f'rc {rc}') + rec = dict(id=j['id'], stem=j['stem'], tier=j.get('tier'), arm=j.get('arm'), seed=j.get('seed'), mode=j.get('mode'), + args=j['args'], cpu=cpu, limit=lim, rc=rc, wall=round(wall, 3), utime=round(ru.ru_utime, 3), maxrss_kb=ru.ru_maxrss, + start=round(start, 3), result=result, solved=result is not None, final_lb=None if withdrawn else max([x for _, x in lbs], default=None), + final_ub=None if withdrawn else min([x for _, x in ubs], default=None), lb_events=lbs, ub_events=ubs, withdrawn=withdrawn, + status=status, levels=levels, runner_killed=killed[0], science_ok=not bad, issues=bad, idle_check=idle) + with lock: + res.append(rec) + with open(f'{a.out}/results.jsonl', 'a') as f: f.write(json.dumps(rec) + '\n') + print(f'{j["id"]} cpu{cpu}: {wall:.2f}s o {result} ok {not bad}', flush=True) + + +def worker(cpu): + while True: + if q.empty(): return + b = busy() + if b[cpu] > 0.10 or b[cpu + 128] > 0.10: + with lock: + with open(f'{a.out}/skips.log', 'a') as f: f.write(f'{time.time():.0f} skip cpu {cpu}: {b[cpu]} / sibling {b[cpu + 128]}\n') + time.sleep(60); continue + idle = dict(cpu=b[cpu], sibling=b[cpu + 128], busy=busy_list(b)) + try: j = q.get_nowait() + except queue.Empty: return + try: run(j, cpu, idle) + except Exception as e: + with lock: + with open(f'{a.out}/results.jsonl', 'a') as f: f.write(json.dumps(dict(id=j['id'], cpu=cpu, error=repr(e))) + '\n') + + +json.dump(dict(bin=a.bin, cpus=cpus, njobs=len(jobs), jobs_file=a.jobs, started=time.time(), busy_at_start=busy_list(busy(2.0))), + open(f'{a.out}/config.json', 'w'), indent=1) +ts = [threading.Thread(target=worker, args=(c,)) for c in cpus] +[t.start() for t in ts]; [t.join() for t in ts] +bad = sum(not r.get('science_ok', False) for r in res) +open(f'{a.out}/RUNNER_DONE', 'w').write(f'{time.time():.0f} {len(res)} runs; science problems {bad}\n') +print('done', len(res), 'runs; science problems', bad) diff --git a/optimization/experiments/GH-225/lb-repro/runner/make_jobs_lb.py b/optimization/experiments/GH-225/lb-repro/runner/make_jobs_lb.py new file mode 100644 index 00000000..7712fec3 --- /dev/null +++ b/optimization/experiments/GH-225/lb-repro/runner/make_jobs_lb.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +"""GH-225 lb reproduction jobs: main 1239e9a2 (CC default A, -cc-roworder=auto) with and without erasure, relabelled or reordered.""" +import json, sys +B = '/home/yfc/mac-agent-20261009/frozen/server-gh225lb-main-1239e9a/distqldpc' +E = '-cc-rules=excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv,erasure' +STEMS = ['TN_324_4_22to25', 'TN_496_2_27to30', 'TN_540_4_23to34', 'TN_648_14_21to28', 'COLOR_1027_1_28to37', 'TN_684_2_22to29'] +LIM = 43200 +ARMS = [('E.s1', [E, '-seed=1'], 1), ('E.s2', [E, '-seed=2'], 2), ('E.bfs', [E, '-cc-roworder=bfs'], 0), ('A.s1', ['-seed=1'], 1)] +with open(sys.argv[1], 'w') as f: + for arm, extra, seed in ARMS: + for s in STEMS: + f.write(json.dumps(dict(id=f'lb.{s}.{arm}', bin=B, args=['-engine=cc', '-cc-stats'] + extra, code=f'data/matrices/tier5/{s}', + stem=s, tier='tier5', arm=arm, seed=seed, limit=LIM)) + '\n') diff --git a/optimization/experiments/GH-225/lb-repro/runner/status.py b/optimization/experiments/GH-225/lb-repro/runner/status.py new file mode 100644 index 00000000..28df51f9 --- /dev/null +++ b/optimization/experiments/GH-225/lb-repro/runner/status.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +import glob, os, re, json +R = os.path.expanduser('~/mac-agent-20261009/gh225lb-runs/repro') +done = set() +if os.path.exists(R + '/results.jsonl'): + for l in open(R + '/results.jsonl'): + try: done.add(json.loads(l)['id']) + except Exception: pass +for f in sorted(glob.glob(R + '/logs/*.log')): + lb = None; t = None; last = 0.0; cpu = '?' + for line in open(f): + if line.startswith('# start'): + cpu = line.split()[4]; continue + p = line.split('\t', 1) + if len(p) < 2: continue + try: last = float(p[0]) + except ValueError: continue + m = re.match(r'c d_lb: (\d+)\s*$', p[1]) + if m: lb = int(m.group(1)); t = last + i = os.path.basename(f)[:-4] + print(f'{i:40s} cpu{cpu:>3s} lb {lb} at {t} elapsed {last:.0f}{" DONE" if i in done else ""}') +print('RUNNER_DONE' if os.path.exists(R + '/RUNNER_DONE') else 'running')