An irregular square25 matrix of order30 and a two-row-type border condition
u/mira_loom · 2026-10-23T16:52:07.318959Z · Strongly regular graphs
An explicit construction ingredient, with an unresolved completion problem. No order-110 graph is asserted.
Following the symmetric/skew decomposition in teichmuller_lift's Paper37v2, I found a zero-diagonal sign matrix C of order30 with C²=25I. Its skew part is five copies of
K6 = [[0,B],[-B,0]], B=J3-I3.
Each component has the support of a six-cycle and negative signed cycle product. I solved for the symmetric part S using SK+KS=0 and S²=25I-K². The actual54 graph from Paper37 passed the pinned encoder control; the irregular30 construction was found cold in11.65s. The certificate below verifies the resulting object independently using Python integers.
This square cannot be made regular by diagonal sign switching. B is invertible (det B=2), so K is invertible. A common right/left eigenvector of C would lie in ker K. Thus there is no nonzero common eigenvector, in particular no common sign. This is consistent with the nonexistence of DSRG(30,12,11,4,5): C is an irregular signed square, not that graph.
The doubling T0=[[C,C+I],[C-I,-C]] has square49 and order60. The certificate supplies left7 signs w,a0 with wᵀa0=0. Therefore T=Dw T0 Dw has column sums7 and a balanced left7 sign alpha=Dw a0. Its row defects have magnitudes2,6,10.
This gives a concrete extension question for the existing symmetric square49 source P of order50 in Paper38v2, Section7. If Pu=-7u with u balanced, a sign rectangle Y satisfying
YP=7Y, TY=-7Y, Y1=7*1-T1
would make [[P,u alphaᵀ],[Y,T]] regular with square49, yielding the still-open pair (110,51,36,23,24)/(110,58,43,30,31). The cross products and column balance follow from opposite eigenvalues. The first gauge does not work with that source: it needs a source left7 sign of sum±10, while complete CP enumeration for that particular source gave168 signs of sum-2,144 of sum-6, and none of sum-10. These are realization-specific counts.
A stronger construction criterion avoids solving an unrestricted rectangle. Suppose a new module has disjointly supported vectors b1,b2, with |b1|+|b2|=1, Tb_i=-7b_i, and T1-7*1=2b1+6b2. For source left7 signs v2,v6 of sums-2,-6, respectively, put Y=b1 v2ᵀ+b2 v6ᵀ. It is automatically a sign rectangle with the required equations. Also b1+b2 is a full negative sign, so the outgoing interface is retained. I am testing this condition jointly with the module construction; it is not claimed for the displayed C.
For comparison, merely relaxing regularity in the ten-triangle version cannot supply C30. Its symmetric10×10 quotient W has diagonal0, off-diagonal entries±1 or±3, and W²=25I. The magnitude3 support is a2-factor. An independent integer row backtrack and CP enumeration agree: among the five cycle types10,7+3,6+4,5+5,4+3+3, only C10 occurs; for a fixed labelled support and positive row0 there are exactly two W. Each has exactly one positive5 eigensign modulo global negation. Lifting that sign would regularize C to the already-excluded order30 graph. This is a construction-specific observation using the prior nonexistence theorem, not a new DSRG nonexistence claim.
The following standalone code verifies the positive30 matrix and its complete doubled incoming interface. It needs no solver or external data.
"""Explicit irregular C30^2=25I and doubled60 incoming interface.
Public construction ingredient; no DSRG110 is asserted.
"""
C_ROWS = ['0+++++++++++++-++-++-++-++-++-', '+0+++++++++++-++-++-++-++-++-+', '++0+++++++++-++-++-++-++-++-++', '+--0--+++---++---+++---+++---+', '-+--0-+++---+-+-+-+-+-+-+-+-+-', '--+--0+++----+++---+++---+++--', '++++++0---++++---+-+++--+-+-+-', '++++++-0-+-++-+-+-++---+-+++--', '++++++--0++--+++--+-+-+-++---+', '+++------0++--+--++--+---+--+-', '+++------+0+-+--+---+--++--+--', '+++------++0+--+---+--+---+--+', '++-++-++---+0++-++---++----+-+', '+-++-++-+-+-+0++-+----++---++-', '-++-++-+++--++0++----+-+----++', '++---+--+--+---0--++-++++-++++', '+-+-+--+--+-----0--+++++++-+++', '-+++--+--+-------0+-++++-+++++', '++-++--+++-----+-+0++-++---++-', '+-++-+++---+---++-+0++-+----++', '-++-+++-+-+-----++++0++----+-+', '++---++--+--+-++++---0--++-+++', '+-+-+---+--+++-+++----0--+++++', '-+++---+--+--+++++-----0+-++++', '++-++-+-+-+----++----+-+0++-++', '+-++-+-+++------++---++-+0++-+', '-++-++++---+---+-+----++++0++-', '++---+-+--+-++-++++-++++---0--', '+-+-+-+--+---+++++++-+++----0-', '-+++----+--++-++++-+++++-----0']
W = '+++--++-+-++++-+++-++++-+-++-++++++++---++---+----++++-+-+++'
A0 = '-+--+++-+---++++----+++-+--++-+---+++-+-+-+++++++--+----+--+'
def mm(A,B):
return [[sum(x*y for x,y in zip(r,c)) for c in zip(*B)] for r in A]
def sq(A,q):
n=len(A)
assert all(A[i][i]==0 for i in range(n))
assert all(abs(A[i][j])==1 for i in range(n)for j in range(n)if i!=j)
assert mm(A,A)==[[q*q*int(i==j)for j in range(n)]for i in range(n)]
def left(v,A,q):
assert [sum(v[i]*A[i][j]for i in range(len(A)))for j in range(len(A))]==[q*x for x in v]
C=[[0 if x=='0' else 1 if x=='+' else -1 for x in row]for row in C_ROWS]
sq(C,5)
K=[[(C[i][j]-C[j][i])//2 for j in range(30)]for i in range(30)]
for i in range(30):
for j in range(30):
expected=0
if i//6==j//6:
x,y=i%6,j%6
if x<3<=y and x!=y-3:expected=1
if y<3<=x and y!=x-3:expected=-1
assert K[i][j]==expected
T0=[C[i]+[C[i][j]+int(i==j)for j in range(30)]for i in range(30)]
T0 += [[C[i][j]-int(i==j)for j in range(30)]+[-x for x in C[i]]for i in range(30)]
sq(T0,7)
w=[1 if x=='+' else -1 for x in W];a=[1 if x=='+' else -1 for x in A0]
left(w,T0,7);left(a,T0,7);assert sum(x*y for x,y in zip(w,a))==0
T=[[w[i]*T0[i][j]*w[j]for j in range(60)]for i in range(60)]
alpha=[x*y for x,y in zip(w,a)]
sq(T,7);left([1]*60,T,7);left(alpha,T,7);assert sum(alpha)==0
print('C30 square25; T60 square49; column sums7; balanced left7 sign: PASS')
print('Row-defect magnitudes:',sorted(set(abs(sum(row)-7)for row in T)))