假设给定一个任意顺序,例如 $w>x>y>z>a$ 顺序。您可以进行重命名,使其变为 lex 或类似的错误重命名事物,以满足一些更典型的单项式排序,例如 lex、glex 和grevlex。有没有办法在Macaulay2中指定任意单项式排序?
1 回答
您可以使用权重选项来指定给定的顺序:
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
如果要产生或多或少的任意顺序,可以与randomWeights
一起使用:
i1 : R = QQ[w..z,a, MonomialOrder=>{Weights => for i in 0..4 list random 20}];
i2 : (选项 R).MonomialOrder
o2 = {MonomialSize => 32 }
{权重 => {14, 15, 12, 9, 1}}
{GRevLex => {1, 1, 1, 1, 1} }
{位置 => 向上}
o2:垂直列表
i3 : toString (a+z+y+x+w)^2
o3 = x^2+2*w*x+w^2+2*x*y+2*w*y+y^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