When calling various functions, setting Replacement => Full will mean that coordinates are changed to a general degree 1 form. If Replacement => Binomial, the coordinates are only changed to binomials, which can be much faster for certain applications. Other options include Replacement => Monomial and Replacement => Trinomial.
i1 : R = ZZ/101[a,b,c,d,e];
|
i2 : randomCoordinateChange(R, Replacement=>Monomial)
ZZ
o2 = map (R, ---[a..e], {a, d, e, b, c})
101
ZZ
o2 : RingMap R <-- ---[a..e]
101
|
i3 : randomCoordinateChange(R, Replacement=>Binomial)
ZZ
o3 = map (R, ---[a..e], {- 16a + d, -12c, - 24d + e, a + 19d, b + 21c})
101
ZZ
o3 : RingMap R <-- ---[a..e]
101
|
i4 : randomCoordinateChange(R, Replacement=>Trinomial)
ZZ
o4 = map (R, ---[a..e], {22b + 45d + e, 47b + 40d, 11b + c + 36d, - 11a + d + 43e, a - 16b - 48d})
101
ZZ
o4 : RingMap R <-- ---[a..e]
101
|
i5 : randomCoordinateChange(R, Replacement=>Full)
ZZ
o5 = map (R, ---[a..e], {- 10a + 30b - 18c + 39d + 27e, 24a - 30b - 48c - 15d + 39e, 29a - 47b + 15c - 37d - 13e, - 22a + 32b - 9c - 32d - 20e, 33b - 49c - 33d - 19e})
101
ZZ
o5 : RingMap R <-- ---[a..e]
101
|
If Homogeneous => false in these cases, then there will be constant terms, and we view $mx + b$ as a monomial.
i6 : S = ZZ/103[x,y,z,u,v];
|
i7 : randomCoordinateChange(S, Replacement => Monomial, Homogeneous => false)
ZZ
o7 = map (S, ---[x..z, u..v], {z + 4, y + 9, x + 13, v - 28, u - 41})
103
ZZ
o7 : RingMap S <-- ---[x..z, u..v]
103
|
i8 : randomCoordinateChange(S, Replacement => Binomial, Homogeneous => false)
ZZ
o8 = map (S, ---[x..z, u..v], {- 32y + 3, - 32y + u - 24, z - 30u + 16, x - 43v - 4, - 37x + v - 11})
103
ZZ
o8 : RingMap S <-- ---[x..z, u..v]
103
|
i9 : randomCoordinateChange(S, Replacement => Trinomial, Homogeneous => false)
ZZ
o9 = map (S, ---[x..z, u..v], {- 14u + 30v + 7, - 20y + 41z + 28, - 19x + 42y + 49, 30x + 48v - 50, 8x + y - 31z - 43})
103
ZZ
o9 : RingMap S <-- ---[x..z, u..v]
103
|
i10 : randomCoordinateChange(S, Replacement => Full, Homogeneous => false)
ZZ
o10 = map (S, ---[x..z, u..v], {6x - 11y - 35z + 28u - 31v - 30, 30x + 4y + 22z + 5u - 22v + 44, 19x - 49z - 30u + 47v + 20, 5x - 39y - 35z - 30u + 42v + 26, 23x - 39y - 25z + 44u - 41v - 23})
103
ZZ
o10 : RingMap S <-- ---[x..z, u..v]
103
|