Specifically, Q should have exactly two generators over its coefficient ring, and these must be indexed variables with the same subscript. Moreover, the degree of $f$ must be divisible by two.
Q.Page = r
Q.isEvenDegree is set to be a boolean-valued function so that
Q.isEvenDegree(deg) = not Q.isOddDegree(deg)
Q.isEvenDegree(deg + degree e_r) = Q.isOddDegree(deg)
Q.isEvenDegree(deg + degree f_r) = Q.isEvenDegree(deg)
i1 : Q = coupleRing(QQ, 7, e, f) o1 = Q o1 : PolynomialRing |
i2 : describe Q o2 = QQ[e , f , Degrees => {{1}, {-2}}, Heft => {1..2}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 2] 7 7 {0} {2 } {GRevLex => {1..2} } {Position => Up } |
i3 : expectCoupleRing Q |
i4 : Q.Page o4 = 7 |
i5 : netList table(5,10,(i,j)->Q.isEvenDegree({i,j})) +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ o5 = |true |true |true |true |true |true |true |true |true |true | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |false|false|false|false|false|false|false|false|false|false| +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |true |true |true |true |true |true |true |true |true |true | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |false|false|false|false|false|false|false|false|false|false| +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |true |true |true |true |true |true |true |true |true |true | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |
i6 : netList table(5,10,(i,j)->Q.isOddDegree({i,j})) +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ o6 = |false|false|false|false|false|false|false|false|false|false| +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |true |true |true |true |true |true |true |true |true |true | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |false|false|false|false|false|false|false|false|false|false| +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |true |true |true |true |true |true |true |true |true |true | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |false|false|false|false|false|false|false|false|false|false| +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |
The object expectCoupleRing is a method function.