Константы в терминах идеала: "stdio:4:11:(3): ошибка: невозможно повысить номер для звонка" в Macaulay2
Я пытаюсь продемонстрировать теорему Гендельмана и пример 1 здесь с Маколей2. Я не могу понять ошибку в определении идеала для многогранника, ограниченного интервалами.
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
а в чем ошибка? Как мне определить константы?
2 ответа
По какой-то причине Macaulay2 принимает вычисления только для кольца полиномов с RR
не 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