Простой итеративный алгоритм вычисления базисов Грёбнера, основанный на сигнатурах

3. Канторович Л.В., Вулих Б.З., Пипскер А.Г. Функциональный анализ в полуупорядоченных пространствах. М.; Л.: ГПТТ.1. 1950.

4. Бурбаки Н. Основные структуры анализа. Теория множеств. М.: Мир, 1965.

5. Birkhoff G. Moore-Smith convergence in general topology // Ann. Math. 1937. 38, N 1. 39-56.

6. Биркгоф Г. Теория решеток. М.: Наука, 1984.

7. Вулих Б.З. Введение в теорию полуупорядоченных пространств. М.: Наука, 1961.

8. Федоров В.М. О максимальной топологии сходимости в полуупорядоченном пространстве // Современные проблемы математики и механики. Т. VII, вып. 1: К 190-летию П. Л. Чебышева. М.: Изд-во МГУ, 2011. 110-136.

9. Gordon Н. Relative uniform convergence // Math. Ann. 1964. 153. 418-427.

10. Шее V.L. Convex sets in linear spaces // Duke Math. J. 1951. 18. 443-466.

11. Frechet M. Les espaces abstraits. P.: Gauthier-Villars, 1928.

12. Бурбаки H. Общая топология. Основные структуры. М.: Наука, 1968.

13. Федоров В.М. Факторнормальные клинья полуупорядоченных пространств // Вестн. Моск. ун-та. Матем. Мехам. 2008. № 4. 26-36.

14. Namioka I. Partially ordered linear topological spaces // Mem. Amer. Math. Soc. 1957. 24.

15. Шефер X. Топологические векторные пространства. М.: Мир, 1971.

16. Шее V.L. The support property of a convex set in linear normed space // Duke Math. J. 1948. 15. 767-772.

17. Kelley G., Namioka I. Linear topological spaces. N. Y.; Heidelberg; Berlin: Springer-Verlag, 1963.

Поступила в редакцию 12.02.2012

УДК 512

ПРОСТОЙ ИТЕРАТИВНЫЙ АЛГОРИТМ ВЫЧИСЛЕНИЯ БАЗИСОВ ГРЁБНЕРА,

ОСНОВАННЫЙ НА СИГНАТУРАХ

В. В. Галкин1

Работа описывает алгоритм вычисления базисов Грёбнера, основанный на использовании отмеченных многочленов из алгоритма F5. Отличительной особенностью алгоритма является простота как самого алгоритма, так и доказательства его корректности, достигнутая без потери эффективности. Это позволило создать простую реализацию, не уступающую более сложным аналогам по производительности.

Ключевые слова: базис Грёбнера, алгоритм F5, отмеченные многочлены.

This paper presents an algorithm for computing Groebner bases based upon labeled polynomials from the algorithm F5. The main highlight of this algorithm compared with analogues is the simplicity both of the algorithm and of its correctness proof achieved without loss of efficiency. This leads to a simple implementation which performance is in par with more complex analogues.

Key words: Groebner basis, F5 algorithm, labeled polynomials.

Введение. Рассмотрим кольцо многочленов P = k[xi,... ,xn] над полем k. Будем предполагать, что на моноиде его мономов Т задан допустимый мономиальный порядок —. В этом кольце может быть поставлена задача вычисления базиса Грёбнера для произвольного идеала (fi,...,fi). Один из способов ее решения инкрементальный: последовательно вычисляются базисы идеалов (fi,..., fi) ,i = 2,...,l, на основе уже вычисленного для идеала (fi,..., fi-1) базис a Ri-i и многочл ена fi. Представляемый алгоритм позволяет выполнить шаг такого вычисления. Таким образом, входные данные для алгоритма — это некоторый многочлен f и множество многочленов, обозначаемое {gi,... , gm}, являющееся базисом Грёбнера идеала Io = (gi,..., gm). В результате своей работы алгоритм должен построить множество многочленов R, являющееся базисом Грёбнера идеала I = (gi,...,gm, f). Поскольку случаи f = 0 ^ I = Ion i gi £ k ^ I = P не представляют интереса, далее предполагается, что f = 0, Vi gi £ k. Заметим, что, в отличие от алгоритма F5, описанного в [1], однородность многочленов не требуется.

1 Галкин Василий Витальевич— асп. каф. алгебры мех.-мат. ф-та МГУ, e-mail: galkin-vvQyandex.ru.

Введем обозначения: To = T U {0} — расширенный нулем моноид мономов. Порядок — продолжается с сохранением вполне упорядоченности на To в гаде — o следующим определением: Vt £ T t >-o 0. Понятие делимости также расширяется на To ti|t2 3t3 : tit3 = t^. Для p £ P, p = 0, старшие по — моном и коэффициент обозначим HM(p) £ T и HC(p) £ k соответственно. Для нуля HM(0) =f 0 £ To, HC(0) =f 0 £ k. Наименьшее общее кратное t1,t2 £ T обозначим LCM(t1,t2) £ T. Далее все определения даются для фиксированных Jo и /.

Определение 1. Отмеченным многочленом называется пара h = (a,p) £ To х P, удовлетворяющая условию корректности: Elq £ P HM(q) = a, q/ = p (mod Jo). Ha отмеченные многочлены распространяются определения старшего монома HM(h) =f HM(p) и коэффициента HC(h) =f HC(p). Также определяется сигнатура, S(h) =f a и вводится обозначение многочлена — второго элемента пары: poly(h) =f p. Множество отмеченных многочленов обозначается через H С To х P. Тривиальными примерами отмеченных многочленов являются (1,/) и (0,g) для g £ Jo. Другим примером отмеченного многочлена служит (HM(g), 0) для g £ Jo. Он корректен, поскольку в качестве q можно взять g.

Лемма 1. Умножение для h £ H, t £ T; заданное как th =f (ta, tp) £ H, корректно.

q th

Определение 2. Если для некоторых hi,h2 £ H,t £ T выполняется S(hi) >-o S(th2),HM(h'i) = HM(th2) = 0, то возможна редукция hi no h2 с сохранением сигнатуры, дающая в результате многочлен hi £ H

hi = (S(hi), poly(hi) + Kt poly(h2)) ,

где коэффициент K £ k взят так, чтобы при сложении сократились старшие мономы и выполнилось условие HM(hi) —o HM(h'i). По сути, такая редукция представляет собой обычную редукцию многочлена с сокращением старшего монома, дополненную требованием того, чтобы сигнатура редуктора была меньше сигнатуры редуцируемого. Корректность проверяется, как и выше.

Введем частичный порядок <н на H:

hi = (ai,pi) <н h2 = (a2,p2) ^ HM(pi)a2 —o HM(p2)ai.

Элементы с нулевой сигнатурой и старшим мономом оказываются экстремумами:

Vai,a2,pi,p2 (0,pi) <н (a2,p2) , (ai, 0) >н (a2,p2).

Лемма 2. Пусть hi,h2 £ H,t £ T. Тогда hi >н h2 ^ hi >н th2.

t

t>

Лемма 3. Пусть hi,h2 £ H,HM(hi)|HM(h2),HM(h2) = 0. Тогда редукция h2 no hi с сохранением

hi > h2

Доказательство следует из того, что оба утверждения равносильны неравенству

Cfh ^ ^ ^-ЁММ 5(Лз) ^ 5(/ll)HM(M •

Лемма 4. Пусть hi £ H — результат редукции hi с сохранением сигнатур по некоторому многочлену. Тогда, hi <#hi-

Доказательство следует из соотношения S(hi) = S(hi) и того факта, что HM уменьшатся при редукции: HM(hi) —o HM(hi).

Лемма 5. Пусть hi;h2 — отмеченные многочлены и hi <н h2. Тогда, для, любого h3 £ H \ {(0, 0)} выполняется хот,я, бы одно из двух неравенств: hi <н h3 ил,и h3 <я h2.

Доказательство. Из условия леммы известно, что

HM

откуда получаем HM(h2) = 0, S(hi) = 0. Поэтому, если HM(h3) = ^^еем h3 <н h2, а если S(h3) = 0, имеем hi <н h^. Иначе можно домножить неравенство (1) на ненулевой элемент HM(h3)S(h3):

HM

11 ВМУ, математика, механика, №5

Поэтому выражение HM(h3)2S(h2)S(hi) £ To является частью неравенства: с точки зрения порядка —o оно будет больше левой или меньше правой части (2). Сокращая это неравенство, получим утверждение леммы.

Алгоритм. Приведем псевдокод алгоритма.

Вход: многочлены {gi,..., gm}, образующие базис Грёбнера; многочлен /.

Переменные: R и B — подмножества H;

1) R ^ {(HM(gi), 0), (HM(g2), 0) ,..., (HM(gm), 0) , (0, gi), (0,g2),..., (0,gm)};

2)B M};

3) (a,p') ^ (1,/);

4) do forever:

a) p ^Ре^кцш с проверкой сиг натур (a, p', R);

b) R ^ R U {(a,p)};

p=0

i) for {r £ R | r <H (a, p), HM(r) = 0}

ii) for {r £ R | r >н (a,p)}

d) B ^ B \{b £ B |3r £ Rr<b Л S(r)|S(b)};

e) if B = 0: (a, p') ^ элемент B с —-минимальной сигнатурой;

f) else: break;

{poly(r) | r £ R}

1) do while Elr £ Rr> (a,p) Л HM(r)|HM(p):

a) p «—редуцировать p с сохранением сигнатуры по >н-макспмальному элементу r

среди указанных в условии цикла; p

Лемма 6. Все пары из To х P в алгоритме — элементы H \ {(0, 0)}.

Доказательство. Элементы, формируемые до начала главного цикла, являются рассмотренными выше примерами отмеченных многочленов. Все остальные отмеченные многочлены в алгоритме форми-

t £ T

H

BB aR

(0,gi),..., (0,gm). Нулевой старший моном может быть v любого многочлена, добавляемого в R, а нуле-

R

Остановка алгоритма. Докажем, что приведенный алгоритм останавливается.

B

R.

B

( a, p) £ R

r£R

Лемма 8. До редукции многочлена p'; т.е. на шаге 4а любой итерации алгоритм,а, сигнатуры элементов {r £ R | r <н (a, p')} не делят a.

a =1 R

элементы с сигнатурами, делящими 1. На последующих итерациях это выполнено, поскольку если бы в R существовали такие элементы, то (a, p') был бы убран из B в предыдущей итерации на шаге 4d.

Лемма 9. После редукции многочлена p' до p, т.е. на шаге 4Ь любой итерации алгоритм,а, старшие мономы элементов {r £ R | r >н (a, p)} не делят HM(p).

Доказательство вытекает из того, что цикл Редукция с проверкой сигнатур останавливается при pR

Лемма 10. После редукции многочлена р' до р, т.е. на шаге 4Ь любой итерации алгоритма, элементы R не могут одновременно иметь старшие мономы, делящие HM(p); и сигнатуры, делящие а.

Доказательство. В силу леммы 7 будет произведена хотя бы одна редукция р', поэтому (а, р') >н (а,р). Отсюда по лемме 5 для всех r £ R имеем r >н (а,р) ми r <н (а,р'). Выполнение одного из неравенств позволяет применить одну из лемм 8 или 9 соответственно.

Теорема 1. Простой сигнатурный метод Грёбнера останавливается.

Доказательство. Для доказательства остановки нужно показать, что все циклы do выполняются лишь конечное число раз. В Редукции с проверкой сигнатур при ненулевых р на каждой итерации HM(p) уменьшается по — о, что возможно лишь конечное число раз. При обнулении р он завершится в силу <н-минимальности (а, 0).

На каждом шаге основного цикла пополняется множество R С То х P. Оно может быть разбито как R*o U Ro* U R**, где R*o С Т х{0} ,Ro * С {0} х P \ {0} , R** С Т х P \ {0}. Множество Ro* не пополняется в силу а = 0. Для R*o и R** применим подход, основанный на понятии идеалов моноидов, предложенном в [2] как "monoid ideal". Рассмотрим следующие множества, являющиеся идеалами моноидов: L*o = ({а | (а, 0) £ R*o}) С Т и L** = ({fot) | 3(а,р) £ R** t = НМ(р)}) С Т х Т. В силу леммы 10 добавляемые в R элементы расширяют на каждом шаге L*o или L**. Поскольку моноиды Т и Т х Т изоморфны Nn и N2n, к их идеалам может быть применена лемма Диксона, которая и утверждает, что расширение может происходить лишь конечное число раз.

Корректность результата. Введем следующее определение.

Определение 3. S-представлением h £ H над множеством {ri} С H будем называть выражение poly(h) = Ylj Kjtj poly(rij), Kj £ k,tj £ Т, ij £ N такое, что HM(h) ^o HM(tjrj), S(h) ^o S(tjrj) для всех j.

Лемма 11. Пусть poly(h) = Kj tj poly(rij) — S-представление для h. Тогда хотя бы для, одного j достигается HM(h) = HM(tjrij).

Доказательство. В качестве требуемого j можно взять такое, на котором достигается ^-максимум HM(tj rij).

Следующее определение расширяет понятие S-базиса из работы [3].

Определение 4. Назовем R С H S-базисом ( соответственно если все эле менты H

(соответственно {h £ H | S(h) —о а}) имеют S-представление над R.

Лемма 12. Пусть а >-0 0,R = {ri} — Sа-базис и выбраны hi,h2 £ H,S(hi) = а, которые не редуцируются по R с сохранением сигнатуры. Тогда, HM(hi) = HM(h2) м hi обладает, S-представлением над R U{h2}.

H

qi £ PHM(qi) = а, qif = poly(hi) (mod Io),i = 1, 2.

Значит, некоторой линейной комбинации poly(hi) сопоставляется сигнатура, меньшая а по —о:

K £ k, v £ PHM(v) = а' —0 а, vf = poly(hi) - K poly(h2) (mod I0),

т.е. (а',р') = (а', poly(hi) — K poly(h2)) £ H. № определения SCT-6a3nca и условия а' —0 а вытекает

rj £ R,t £ ТS(trj) ^о а', HM(trj) = HM(/).

Отсюда HM(hi) = HM^'),i = 1, 2, иначe rj редуцировало бы hi с сохранением сигнатуры. Значит, HM(hi) сокращаются при вычитании с k-коэффициентом, что дает HM(hi) = HM(h2). S-представление hi получается добавлением K poly(h2) к S-представлению (а',р').

Теорема 2. На, каждой итерации алгоритма, после шага 4d выполнен инвариант,: для, Vа £ Т, меньших по — сигнатур элемент,ов В, найдутся rCT £ R, tCT £ Т; т,а,кие, нто S(tCTrCT) = а и tCTrCT не R

Доказательство. Множество RCT = {r £ R | S(r)|а} непусто, так как содержит добавленный на первой итерации элемент ro с S(ro) = 1. Обозначим через rCT его <н-минимальпый элемент; положим ta = qia s. Предположим, что многочлен tara может быть редуцирован с сохранением сигнатуры относительно некоторого ri £ R. Отсюда следует, что ri >н rCT и что они не нулевые. Значит, на той же итерации, когда в R был добавлен последний из {rCT, ri}, в множество В был добавлен многочлен t'rCT, ГДе if = LCM(HM^HM(rv)); причем 0тсюда S(t'ra)\S(tara) = а, а значит, S(t'ra) ^ а, ш а х-меньше

12 ВМУ, математика, механика, №5

сигнатур элементов B. В силу этого неравенства получается, что многочлен t'rr уже не может быть элементом B, а значит, он был выкинут на шаге 4d одной из итераций, т.е. 3r2 £ Rr2 <н t'rr, S(r2)|S(t'rr). Это невозможно, поскольку влечет r2 <н rr,r2 £ Rr, что протпворечит <н-минимальности ra.

Теорема 3. На, каждой итерации алгоритма, после шага 4d выполнен инвариант: все отмеченные многочлены h £ H с сигнатурой S(h) меньшей по — элементов B, имеют S-представление над R.

—o

минимальную сигнатуру a, для которой непусто множество Vr =f {h £ H | h нарушает инвариант, S(h) = a}. Тогдa R — Бст-базис. Для любого g £ Jo отмеченный многочлен (0,g) имеет S-представленпе над {(0,gi),..., (0,gm)} С R, поэтому a >-o 0. Выберем vr — один из элементов Vr с —^^^^шьшим HM. Он не может быть редуцирован с сохранением сигнатуры по R, поскольку результат редукции vi был бы элементом Vr с HM(vi) —o HM(vr). Возьмем wr =f trrr из инварианта теоремы 2 и применим лемму 12 к vr,wr и R. Получим, что vr имеет S-представление над R U {wr}. Вхождения wr в S-представленпп можно заменить на trrr и получить представление vr над R, что приведет к противоречию.

R {poly(r) | r £ R} J

Доказательство. Для любого p £ J можно взять некоторый отмеченный многочлен h = (a, p) £ H и применить лемму 11.

Теорема 4. Простой сигнатурный метод Грёбнера возвращает базис Грёбнера.

B = 0 R

Сравнение с аналогами. Представленный алгоритм принадлежит к семейству алгоритмов вычисления базисов Грёбнера, основанных на использовании сигнатур, вычисляющих S-базис и в той или иной степени являющихся модификациями алгоритма F5 из [1]. Одно из основных направлений его модификации — упрощение теоретических обоснований и расширение области применимости — представлено в [4-6]. Другое — повышение эффективности путем ввода дополнительных критериев отбрасывания некоторых вычислений — описывается в [7-9] и позволяет проводить вычисления так, чтобы до конца редуцировались лишь многочлены, являющиеся новыми элементами S-базиса или дающие новую сигнатуру нулевого многочлена, расширяющую идеал моноида, содержащий такие сигнатуры, называемые также сигнатурам,и сизигий. Обобщение с одновременным использованием всех критериев в алгоритмах TRB-MJ и SB [10, 11] дает возможность добиться большей эффективности благодаря тому, что все отбрасывания применяются до проведения таких вычислительно трудоемких операций, как редукция многочлена, подсчет старшего монома S-пары. В итоге не оказывается, что результаты каких-то вычислений были отброшены.

Во всех упомянутых алгоритмах, включая немодифицированный F5, формулируются два типа критериев отброса — критерии, связанные с сизигиями, и критерии перезаписи, корректность каждого из которых доказывается независимо.

Данная работа описывает алгоритм, вычисляющий минимальный S-базис и осуществляющий отброс вычислений не менее эффективно, чем в TRB-MJ, но использующий лишь единственный критерий от-

<R выбора редуктора в Редукции с проверкой сигнатур является открытым. Представленный в этой работе

R

со способом выбора, применявшимся в алгоритме F5. Теоретическое обоснование сформулировано без S-полиномов и позволяет применять к нему простую алгебраическую интерпретацию из [5].

Упрощение формулировки алгоритма повлекло значительное уменьшение времени его реализации и отладки на компьютере по сравнению с аналогами как за счет меньшего количества множеств, так и за счет общего порядка для критериев отбрасывания и процедуры редукции. Простота реализации и нетребовательность к структурам данных позволяют за небольшое время внедрять эффективную версию алгоритма в любую систему компьютерной алгебры. Реализация, упоминаемая ниже, была создана автором за 8 часов, что на порядок меньше времени, затраченного автором на экспериментальные реализации других алгоритмов в подобных условиях. Доказательство, основанное на инвариантах в терминах S-представлений, позволило сделать работу алгоритма более прозрачной с алгебраической точки зрения, а сам алгоритм потенциально расширяемым на объекты, обобщающие кольцо многочленов над полем.

Алгоритм был реализован на С++ с использованием функций ядра программного комплекса Singular 3-1-4 и открытых наработок К. Эдера (одного из авторов [8]) по реализации подобных F5 алгоритмов на этом ядре. Исходный код реализации содержится в функции ssg файла, доступного по адресу https://github.com/galkinvv/Singular-f5-like/blob/ssg/kernel/kstd2.cc.

Сравнение реализации Простого сигнатурного метода Грёбнера с другими алгоритмами вычисления базисов Грёбнера, реализованными К. Эдером, подтвердило следующие соображения:

предложенный алгоритм корректно вычисляет базис Грёбнера;

результат содержит не большее число многочленов, чем другие инкрементальные алгоритмы, возвращающие S-базис;

время работы алгоритма оказывается не больше, чем у других инкрементальных алгоритмов, основанных на сигнатурах.

СПИСОК ЛИТЕРАТУРЫ

1. Faugere J.-С. A new efficient algorithm for computing Grobner bases without reduction to zero (F5) // Proc. 2002 Int. Symp. on Symbolic and Algebraic Comput. N.Y.: ACM, 2002. 75-83.

2. Kreuzer M., Robbiano L. Computational commutative algebra. 1. Berlin: Springer-Verlag, 2000.

3. Arri A., Perry J. The F5 criterion revised // J. Symbol. Comput. 2011. 46, N 9. 1017-1029.

4. Герман О. Доказательство критерия Фожера для алгоритма F5 // Матем. заметки. 2010. 88, № 4. 502-510.

5. Зобнин А. Обобщение алгоритма F5 вычисления базиса Грёбнера полиномиальных идеалов // Программирование. 2009. № 2. 21-30.

6. Sun Y., Wang D. The F5 algorithm in Buchberger's style //J. Systems Sci. and Complexity. 2011. 24, N 6. 1218-1231.

7. Gao S., Guan Y., Volny F. A new incremental algorithm for computing Grobner bases // Proc. 2010 Int. Symp. on Symbolic and Algebraic Comput. N.Y.: ACM, 2010. 13-19.

8. Eder C., Perry J. Signature-based algorithms to compute Grobner bases // Proc 36th Int. Symp. on Symbolic and Algebraic Comput. N.Y.: ACM, 2011. 99-106.

9. Eder C., Perry J. F5C: A variant of Faugere's F5 algorithm with reduced Grobner bases //J. Symbol. Comput. 2010. 45, N 12. 1442-1458.

10. Huang L. A new conception for computing Grobner basis and its applications. URL: http://arxiv.org/abs/1012. 5425v2.

11. Roune В., Stillman M. Practical Grobner basis computation // Proc. 2012 Int. Symp. on Symbolic and Algebraic Comput. N.Y.: CM, 2012.

Поступила в редакцию 18.05.2012

УДК 511.36

О КВАДРАТИЧНЫХ ПОКАЗАТЕЛЯХ ИРРАЦИОНАЛЬНОСТИ

НЕКОТОРЫХ ЧИСЕЛ

А. А. Полянский1

Приводятся оценки сверху квадратичных показателей иррациональности чисел вида л/2к + 11п((к + 1 - л/2к + 1)/к) и у/2к - 1 arctg(V2A; - 1 /{к - 1)), где к G N. В частности, улучшена оценка квадратичного показателя иррациональности ln 2.

Ключевые слова: квадратичный показатель иррациональности.

The paper presents upper estimates for the non-quadraticity measure of the numbers л/2 к + 1 Ы((к+1-\/2к + 1 )/k) and у/2k - 1 arctg(V2 к - l/{k-l)), where к e N. In particular,

ln 2

Key words: non-quadraticity measure.

Для каждого числа, не являющегося корнем квадратного уравнения с целыми коэффициентами, можно ввести характеристику того, насколько оно может быть приближено корнями квадратных уравнений. Эта характеристика, называемая квадратичным показателем иррациональности числа а, определяется как точная верхняя грань множества чисел к, таких, что неравенство |а — в| < H(в)-к имеет бесконечное количество решений в квадратичных иррациональностях в- Здесь H(в) — наибольший по модулю из целых коэффициентов неприводимого в Z[x] квадратного трехчлена, корнем которого является число в-Обозначается квадратичный показатель иррациональности через ^2(а).

1 Полянский Александр Андреевич — асп. каф. теории чисел мех.-мат. ф-та МГУ, e-mail: alexander.polyanskiiQyandex.ru. 13 ВМУ, математика, механика, №5