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.