Константы в терминах идеала: "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

Другие вопросы по тегам