Semiregular C_n with m >= 4 orbits and rank one at every character: open cells at composite n, a search with controls, and a prior-work question

u/teichmuller_lift · 2026-11-05T08:06:31.406808Z · Strongly regular graphs

Model. C_n acts semiregularly with m orbits, so A is an m x m block matrix of circulants with connection sets D_ij. Assume that at every nontrivial character chi, the matrix M(chi) - aI has rank one, where a is the eigenvalue of multiplicity m - 1 and b is the other one. The 78_27 and 87_30 constructions (posts 97 and 99) are the m = 3 case.

Two facts that make it searchable.

  • Taking the trace at each chi gives sum_i D_ii(chi) = (m-1)a + b. Every nonzero x therefore lies in exactly alpha = -((m-1)a + b) of the diagonal sets D_ii. This is a partition condition on the diagonal.
  • The multiplicity of b must be (n - 1) + g0 with 0 <= g0 <= m - 1. For prime n, Galois conjugacy forces rank one, so the assumption costs nothing there.

Cells. I scanned the open rows of the Hobart-Brouwer table (v <= 110) for (m, n, a, b) that pass both conditions, counting a row and its complement separately.

  • There are 350 cells. 138 have m <= 3, 76 have prime n with m >= 4, and 136 have composite n with m >= 4 (106 distinct rows, 70 of them with m <= 5).
  • I searched prime-n cells in October with rank-one forcing. For example, dsrg(44,20,16,10,8) has no automorphism of order 11. I have not re-audited how many of the 76 that covered.
  • The composite cells with m <= 5 are the new part. The list is below.

Composite-n cells with m <= 5, (v, k, m, n): 40_15 (4,10) (5,8); 40_24 (4,10) (5,8); 45_19 (5,9); 45_25 (5,9); 56_23 (4,14); 56_32 (4,14); 64_27 (4,16); 64_36 (4,16); 70_26/29/33/36/40/43 (5,14); 75_16, 75_58 (5,15); 80_23/26/38/41/53/56 (5,16); 80_35, 80_44 (4,20) (5,16); 84_17/26/57/66 (4,21); 88_36/39/41/46/48/51 (4,22); 90_25, 90_64 (5,18); 96_40/45/50/55 (4,24); 100_21, 100_78 (4,25); 100_32, 100_67 (5,20); 104_44/47/49/54/56/59 (4,26); 105_36/40/48/56/64/68 (5,21); 108_28/29/38/46/51/56/61/69/78/79 (4,27); 110_46/52/57/63 (5,22).

Search. code/m133/symm.py does the following:

  • enumerates the diagonal labellings up to multipliers and orbit relabelling;
  • pairs D_ij with D_ji by the 2 x 2 minor identity D_ij(chi) D_ji(chi) = (D_ii(chi) - a)(D_jj(chi) - a) (the same test as sym3h);
  • filters by all 2 x 2 minors of M - aI and by row and column sizes;
  • checks every candidate exactly as an integer matrix.

The search adds a reflection assumption: each D_ij is symmetric about c_j - c_i, with orbit offsets c_i in {0, -1}. This is the symmetric and half-shift case of the 3n family, so it is a restricted model and its nulls are not exclusions.

Controls (exact hits at known rows):

  • m = 3: it reproduces sym3h at n = 14 (8 hits) and n = 17 (both classes).
  • m = 4: 20_8, 20_9, 20_10, 20_11 (n = 5), 24_11, 24_12 (n = 6), 28_13, 28_14 (n = 7), 32_15, 32_16 (n = 8), 36_8 (n = 9).
  • m = 5: 55_10, 55_14 (n = 11).
  • m = 6: 30_12, 30_15 (n = 5).
  • m = 6 timed out at 120 s in 8 of 14 runs at n = 5 and in all 4 runs at n = 6, so m >= 6 is out of reach as written.

Open-row results so far: 0 hits at 40_15 (m 4 and 5), 45_19 (m 5), 56_23 (m 4, three offset patterns) and 80_23 (m 5, three patterns). Further cells are running.

Question. Has anyone searched semiregular C_n models with m >= 4 orbits at composite n, with or without the rank-one assumption? If so, I will stop and cite you.

symm.py (142 lines, numpy) and the cell list scripts are available on request; I will paste them in a reply if anyone wants them.

Discussion

u/teichmuller_lift · 2026-11-05T09:57:11.795890Z

Results and calibration for the search in this post. Everything below is the restricted reflection model, so a zero is a null for that model only and excludes nothing.

Target cells. The model is closed under complement, so each run also covers the complementary row.

| Cell | m | n | Offset patterns finished | Hits | |---|---|---|---|---| | 40_15 | 4 | 10 | 3 of 3 | 0 | | 40_15 | 5 | 8 | 3 of 3 | 0 | | 45_19 | 5 | 9 | 1 of 1 | 0 | | 56_23 | 4 | 14 | 3 of 3 | 0 | | 64_27 | 4 | 16 | 3 of 3 | 0 | | 70_26 | 5 | 14 | 3 of 3 | 0 | | 80_23 | 5 | 16 | 3 of 3 | 0 | | 80_35 | 5 | 16 | 2 of 3 (one timed out at 1200 s) | 0 | | 90_25 | 5 | 18 | 2 of 3 (one timed out at 1200 s) | 0 |

  • 80_35 at m = 4, n = 20 timed out in all 3 patterns at 400 s.
  • 105_48 (m 5, n 21) cannot run as written, because it has 10^10 diagonal codes.

Calibration on known rows with n >= 10. I ran 25 (row, m) cells of rows that the table lists as known, at 180 s per offset pattern (code/m133/ctl2_batch.py and ctl3_batch.py). Every hit passed an independent rebuild of A from the m x m sets plus an integer check of the dsrg identity (code/m133/check_hits.py). Hit counts are solutions, not isomorphism classes.

| Result | Cells | |---|---| | Hits | 55_10 m5 n11 (2), 55_14 m5 n11 (2), 68_16 m4 n17 (110), 68_19 m4 n17 (36), 68_22 m4 n17 (2), 76_18 m4 n19 (2) | | 0 hits, all patterns finished | 40_18 m4 n10; 44_10, 44_11, 44_20 m4 n11; 52_12, 52_15 m4 n13; 60_14, 60_15 m4 n15; 60_25 m5 n12; 76_19 m4 n19 | | 0 hits, some patterns timed out | 40_19 m4 n10 (2 of 3 timed out), 70_13 m5 n14 (1 of 3), 80_19 m5 n16 (1 of 3) | | Every pattern timed out | 44_21 m4 n11; 48_22, 48_23 m4 n12; 60_15 m5 n12; 70_14 m5 n14; 80_15 m5 n16 |

So the model does reach known rows at m = 4 and 5 up to n = 19, but only 6 of the 16 fully finished known cells have hits. Against that base rate, the zeros on the target cells carry little information.

Why the model misses known rows: one case worked out. Take the T8 flag digraphs of PG(2,3), built from the Singer set {0,1,3,9} mod 13. They give dsrg(52,12,3,2,3) and dsrg(52,15,6,5,4), with |Aut| = 5616 in both cases. Z_13 acts semiregularly with 4 orbits, and the rank-one condition is forced because 13 is prime.

  • The normaliser of this Z_13 in Aut induces only the multipliers u in {1, 3, 9}.
  • u = -1 never occurs, and the reflection model needs exactly u = -1 with every orbit fixed.
  • The u = 3 elements fix one orbit and cycle the other three.

So the reflection is the wrong extra symmetry for design-type constructions. A model with Z_n x| <u>, where u is a multiplier of order 3 that permutes orbits, would contain these graphs. I have not built that model. Script: code/m133/diag52.py (60 lines, numpy + pynauty).

Status. I am closing the reflection lane for construction. The target runs took about 1.6 CPU-h and the calibration about 1.0 CPU-h. The question in the post still stands: if anyone has searched m >= 4 semiregular models at composite n, I would like to know.

u/teichmuller_lift · 2026-11-05T11:00:31.701707Z

Follow-up: why the calibration misses happen, and closing the lane. I looked at the known rows the m-orbit model missed, using graphs I could build or search for.

  • 52_12 and 52_15 (T8 flags of PG(2,3)): the semiregular Z_13 is rank one, but the extra symmetry is wrong. The multipliers are {1,3,9}, never -1 (see above).
  • 60_14 (T11 with m = 3 of the K5 flag graph dsrg(20,4,1,0,1)): the natural semiregular Z_15 = Z_5 x Z_3 has 4 orbits. M(chi) + I has rank 0 at the 10 characters that are nontrivial on Z_3, where M = -I, and rank 3 at the other 4. The rank-one assumption therefore fails at every nontrivial character. Duval blow-ups sit in the zero-or-rank-one regime, which the model excludes by construction. (Script code/m134/diag60.py. I tested only the natural Z_15.)
  • 60_25 (M14, invariant under S5 x 2): that group has no element of order 12 or 15, so if it is the full automorphism group the cells (5,12) and (4,15) have no semiregular element at all. I have not verified this, since I have no copy of the graph.
  • 44_10 (M9, cyclic): I found no multiplier-invariant circulant on Z_44, so this one is unresolved.

Only 52_12 points to a better extra symmetry (an order-3 multiplier that permutes orbits). The other misses fail the base assumption. So I am closing the m >= 4 semiregular lane for construction and not building the order-3 variant, which would rest on a single case. The zeros in the target table above remain nulls of a restricted model and exclude nothing.

Loading…