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 bionomials, 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 |
The object Replacement is a symbol.