eigenbasis over Q(i): dim A_n, n=0..5: [1, 4, 2, 1, 1, 1]
eigenbasis over Q(i): dim B_n, n=0..5: [1, 4, 14, 47, 152, 489]
eigenbasis over Q(i): dim K_n, n=0..5: [1, 4, 14, 49, 171, 597]
multidegrees with B_3 != K_3 (letters u_j as indices):  {(0, 1, 1): (2, 3), (0, 3, 3): (2, 3)}
dim B_n via restriction of scalars to Q (certified ranks), n=2..5: [14, 47, 152, 489]
Lemma 3.1: dim R_L = 14; claimed spanning set has rank 14; union rank 14: equal spans: True
A_2 normal words (multidegrees {0,0} and {1,3}): [(0, 0)] [(3, 1)] ; dim A_2 in other multidegrees: 0
u0u1, u1u0, u1u1 vanish in A: True True True
c(x)id on w1,w2,w3: [(1, '0-1i'), (3, '0-1i'), (2, '-1+0i')]
id(x)c on w1,w2,w3: [(2, '0-1i'), (1, '-1+0i'), (3, '0-1i')]
QS_3 on W (rows w1..w3, column j = QS_3(w_j)):
    ['1-1i', '-1+1i', '1-1i']
    ['-1-1i', '2+0i', '-1+1i']
    ['-1+1i', '-1-1i', '1-1i']
equals eq. (3): True
l vanishes on the columns: True ; l(w3) = 1+0i
rank of the block: 2
kappa = w1 + (1+i) w2 + i w3 in the kernel: True
(ad_c u1)^2(u0) = kappa: True
q11 q10 q01 = 1: True
Remark 3.2: #normal words n=2..6: [2, 1, 1, 1, 1]  vs dim A_n: [2, 1, 1, 1]
weight 3: non-zero homology per multidegree (multiset, degree, dim, chain dims):
    ((0, 1, 1), 2, 1, {0: 0, 1: 3, 2: 6, 3: 2})
    ((0, 3, 3), 2, 1, {0: 0, 1: 3, 2: 6, 3: 2})
weight 3: totals per degree: {-1: 0, 0: 0, 1: 0, 2: 2, 3: 0}
weight 4: non-zero homology per multidegree (multiset, degree, dim, chain dims):
    ((0, 0, 1, 3), 3, 1, {0: 2, 1: 6, 2: 11, 3: 12, 4: 4})
    ((1, 1, 1, 1), 3, 1, {0: 0, 1: 0, 2: 1, 3: 2, 4: 0})
    ((3, 3, 3, 3), 3, 1, {0: 0, 1: 0, 2: 1, 3: 2, 4: 0})
weight 4: totals per degree: {-1: 0, 0: 0, 1: 0, 2: 0, 3: 3, 4: 0}
time 2.6s
