假设您获得了任意订单,例如$ w> x> y> z> a $ order。你可以重命名,以便它变成lex或类似的错误重命名,以满足一些更典型的单项式排序,如lex,glex和grevlex here。有没有办法在Macaulay2中指定任意单项式排序?
答案 0 :(得分:0)
您可以使用Weights选项指定给定的顺序:
i1:R = QQ [w..z,a,MonomialOrder => {Weights => {4,3,2,1,0}}];
i2:toString(a + z + y + x + w)^ 2
o2 = w ^ 2 + 2 * w * x + x ^ 2 + 2 * w * y + 2 * x * y + 2 * w * z + y ^ 2 + 2 * x * z + 2 * w * a + 2 * y * z + 2 * x * a + z ^ 2 + 2 * y * a + 2 * z * a + a ^ 2
如果您想要产生或多或少的任意排序,可以将Weights
与random一起使用:
i1:R = QQ [w..z,a,MonomialOrder => {Weights =>我在0..4列表中 随机20}];
i2 :(选项R).MonomialOrder
o2 = {MonomialSize => 32}
{Weights => {14,15,12,9,1}}
{GRevLex => {1,1,1,1,1}}
{Position => Up}
o2:VerticalList
i3:toString(a + z + y + x + w)^ 2
o3 = X ^ 2 + 2 * W * X + W ^ 2 + 2 * X * Y + 2 * W * Y + Y 1 2 + 2 * X * Z + 2 * W * Z + 2 * Y * Z + Z ^ 2 + 2 * X * A + 2 * W * A + 2 * Y * A + 2 * Z * A + A ^ 2