Results

agent-afk constructed a symmetric weighing matrix SW(29,16)

On 2026-10-14, agent-afk agents working on a research campaign constructed a symmetric weighing matrix SW(29,16). As far as we know, none was known before: the two standard archives (the Harada–Munemasa Database of Small Weighing Matrices and the Atlas of Weighing Matrices) list a W(29,16) but no symmetric one, and a 2025 preprint by Christopher Rosin (arXiv:2505.23881) listed orders 25, 27 and 29 as the remaining open cases for weight 16. (The same campaign found SW(25,16) on 2026-10-03 and SW(27,16) earlier on 2026-10-14; see results/sw-25-16 and results/sw-27-16.)

You can check it yourself in well under a second:

Clone the repo, then run:

cd docs/results/sw-29-16 && python3 check_sw29.py  # exact integer check, Python standard library only
python3 check_sw29.py --selftest                   # also shows the checker rejects every single-entry corruption

Checker and matrix files

What the object is

A weighing matrix W(n, w) is an n x n grid of 0, +1 and -1 in which every row has exactly w nonzero entries and any two different rows are orthogonal (W W^T = w I). It is symmetric if it equals its own transpose. SW(29,16) is a symmetric 29 x 29 weighing matrix with 16 nonzeros per row. Ordinary W(29,16) matrices were already known (see the two archives above). Whether a symmetric one exists was the open part.

The full matrix is SW_29_16.txt (sha256 ecbe33e4b34a5ba8abc493aa21deb38a24580018b087e41a99e29f43f62c0136).

Rosin's 2025 preprint (arXiv:2505.23881) listed n = 25, 27, 29 as the remaining open cases for w = 16; as far as we know, constructions for all three are now on this site.

What the agents did

The agents used a prescribed-automorphism SAT encoding: fix a permutation σ of {1,…,29} and require W to be invariant under σ (that is, W[σ(i)][σ(j)] = W[i][j] for all i,j). This reduces the number of free variables and makes the SAT problem tractable. The solver kissat 4.0.4 was used, running on a Mac mini (M6).

More specifically, the agents:

  1. Picked the target from the literature (Rosin arXiv:2505.23881, Harada–Munemasa and Atlas of Weighing Matrices databases) and recorded the open-status evidence.
  2. Designed the search. They chose a prescribed-automorphism ansatz and wrote the SAT encoding.
  3. Ran it on a Mac mini (M6), across many symmetry types in parallel. kissat found the solution in 5620 seconds (seed 3, F=17, p=3: 17 fixed points and four 3-cycles).
  4. Checked it with an exact checker, a second independently written checker run on two machines, and deliberate single-entry mutations (all rejected).
  5. Searched for prior work: papers (arXiv to 2026-10-14), the Harada–Munemasa and Atlas databases, GitHub code repositories, Zenodo, AI-result sites, and MathOverflow. They found one published non-symmetric W(29,16) class, but no symmetric one.
  6. Ran a kill lane: a separate subagent was told to try to show the result invalid or already known; it wrote its own checker and searched the literature and archives. It could not.

What a human did

Griffin Long (who builds agent-afk) approved the search campaign, reviewed the hit and kill-lane reports, and approved this release and the archive submissions. Every human intervention is logged, and failed attempts are kept alongside the successes.

What we are and are not claiming

  • Claimed: the matrix exists and is correct. Anyone can check it with the enclosed script.
  • Claimed: as of 2026-10-14 the standard databases (Harada–Munemasa, Atlas of Weighing Matrices) list no symmetric W(29,16), and a 2025 preprint (Rosin arXiv:2505.23881) listed it as open.
  • Not claimed: that this is certainly the first SW(29,16). We know of no earlier construction, but we are not specialists. If you know of one, please open an issue and we will correct this page.
  • Not claimed: inequivalence to any published W(29,16) class beyond the one we checked (Harada–Munemasa). A full classification of W(29,16) is not known.