check_note.py -- the exact program of the note (record OWR-4428-012)

Part A: counter matrices, the automaton A_2 of the companion note, Lemma 3.7, the value
  A1 all 29524 counter matrices M_s, s in {U,D,I}^N, N <= 9: dim ker M_s = [#U = #D] (exact rank over Q); for balanced s the kernel contains (A_0, B_0, ..., A_N, B_N)   [0.9 s]
  A2 automaton A_2: 8 live transitions out of 6 x 625; depth-first search over all 625 letters (3197500 transitions examined) finds 2047 accepted words of length <= 21; the recognized matrices of size <= 22 are exactly the M_s, s in {U,D}^N, N <= 10, with kernels [#U = #D]; coefficients of F_{A_2} at x^2, x^6, x^10, ...: [1, 2, 6, 20, 70, 252] = coefficients of x^2(1-4x^4)^(-1/2) = B_0, B_1, ... (all other coefficients up to x^22 vanish)   [1.3 s]
  A3 Lemma 3.7: B_N = sum over balanced words of 2^#I = C(2N,N) by enumeration (N <= 10), the four-letter count (N <= 8), the bijection w -> (A,B) with |A|-|B| = #U-#D (N <= 6), Vandermonde and the closed sum (N <= 300), C(2N,N) = (-4)^N binom(-1/2,N) (N <= 60); B_0..B_10 = [1, 2, 6, 20, 70, 252, 924, 3432, 12870, 48620, 184756]   [1.4 s]
  A4 (1/4) sum_{N<=64} C(2N,N) 8^-N = 0.35355339059327376219 <= sqrt(2)/4 <= 0.35355339059327376221 (squares straddle 1/8); four copies: 1.41421356237309504879 <= sqrt(2) <= 1.41421356237309504885   [1.4 s]

Part B: the operator T' of Theorem A
  B1 T' built in Q[G] from pi_j, chi', alpha', beta', S' with the group law equals the expansion (2) and its compact form; 8T' is integral (23 terms, max |coefficient of 8T'| = 9); only t^0 and t^3 occur   [1.4 s]
  B2 phi_K is a homomorphism (random products, K <= 7); kernels of left and of right multiplication by 8T' on Q[G_K]^2, computed in the group ring without Fourier transform (exact ranks), agree: d_1 = 3/2, d_2 = 1/2, d_3 = 5/4, d_4 = 13/32, d_5 = 31/80, d_6 = 33/64, d_7 = 331/896; the block sum of four copies has 4 times the kernel for K <= 4   [42.0 s]
  B3 fibre operators theta_x(8T') for all x in {0,1}^K, K = 1..14 (32766 matrices, exact ranks): d_1 = 3/2, d_2 = 1/2, d_3 = 5/4, d_4 = 13/32, d_5 = 31/80, d_6 = 33/64, d_7 = 331/896, d_8 = 373/1024, d_9 = 101/256, d_10 = 1841/5120, d_11 = 4027/11264, d_12 = 2993/8192, d_13 = 37897/106496, d_14 = 2545/7168; equal to the group-ring values for K <= 7, to Proposition 4.2 for K = 3, 6, 9, 12, and to the values recorded by the other programs of the package   [44.3 s]
  B4 all 299592 cyclic configurations with P <= 6 positions, three classes each: no entries between classes; rows as in Lemma 3.3; 2632140 segment blocks, each equal to 8 M_s, closed in rows and columns, partitioning the class; kernel of a class part = number of balanced segments (with markers) or [no U] + [no D] (without); sum_x dim ker theta_x = 3 x the count in the proof of Proposition 4.2 (P=1: 30, P=2: 198, P=3: 1818, P=4: 17958, P=5: 175578, P=6: 1673910)   [107.6 s]
  B5 1000 random windows of 60 positions of the line (seed 14102026): 120000 rows as in Lemma 3.3, 29089 segment blocks between consecutive markers equal to 8 M_s and closed   [109.2 s]
  B6 Proposition 4.2 gives the values of Table 1 (K=3: 1.250000000, d_K - sqrt2/4 = 8.964e-01; K=6: 0.515625000, d_K - sqrt2/4 = 1.621e-01; K=9: 0.394531250, d_K - sqrt2/4 = 4.098e-02; K=12: 0.365356445, d_K - sqrt2/4 = 1.180e-02; K=15: 0.357214355, d_K - sqrt2/4 = 3.661e-03; K=18: 0.354747772, d_K - sqrt2/4 = 1.194e-03; K=21: 0.353958538, d_K - sqrt2/4 = 4.051e-04; K=30: 0.353572415, d_K - sqrt2/4 = 1.902e-05; K=60: 0.353553393, d_K - sqrt2/4 = 3.171e-09); the identity of Remark 4.3 holds exactly for P <= 40, and |d_3P - sqrt2/4| <= 2^-(P+1) + 2(3/8)^P/P for P <= 60 (checked by squaring)   [109.3 s]

ALL CHECKS PASSED (81145766 checks, 109.3 s)
