我试图用 Macaulay2 来演示 Handelman 定理和示例1。我无法理解为受间隔限制的多面体定义理想值时的错误。
R=QQ[x1,x2,x3,MonomialOrder=>Lex];
I=ideal(x1-0.2,-x1+0.5,x2,-x2+1,x3-1,-x3+1)
stdio:2:11:(3): error: can't promote number to ring
错误是什么?我应该如何定义常量?
我试图用 Macaulay2 来演示 Handelman 定理和示例1。我无法理解为受间隔限制的多面体定义理想值时的错误。
R=QQ[x1,x2,x3,MonomialOrder=>Lex];
I=ideal(x1-0.2,-x1+0.5,x2,-x2+1,x3-1,-x3+1)
stdio:2:11:(3): error: can't promote number to ring
错误是什么?我应该如何定义常量?
出于某种原因,Macaulay2 只接受多项式环的计算RR
not QQ
:
i1 : R=RR[x1,x2,x3,MonomialOrder=>Lex]
o1 = R
o1 : PolynomialRing
i2 : I=ideal(x1-0.2,-x1+0.5,x2,-x2+1,x3-1,-x3+1)
o2 = ideal (x1 - .2, - x1 + .5, x2, - x2 + 1, x3 - 1, - x3 + 1)
o2 : Ideal of R
您会收到错误,因为 M2 将小数视为实数而不是有理数:
i1 : .2
o1 = .2
o1:RR(精度为 53)
所以 .2 不在你的基础环中。使用分数表示法(而不是十进制表示法)输入您的理想,您将开展业务。
i2 : R=QQ[x1,x2,x3, MonomialOrder => Lex];
i3 : I=理想(x1-1/5,-x1+1/2,x2,-x2+1,x3-1,-x3+1)
o3 = 理想 (x1 - 1/5, - x1 + 1/2, x2, - x2 + 1, x3 - 1, - x3 + 1)
o3 : R 的理想值