Возвращать элементы базы Гребнера по мере их обнаружения - PullRequest
8 голосов
/ 01 марта 2012

Этот вопрос может относиться к любой системе компьютерной алгебры, которая способна вычислять Базис Гребнера из набора полиномов (Mathematica, Singular, GAP, Macaulay2, MatLab и т.с переопределенной системой полиномов, для которой полный базис Гребнера слишком сложен для вычисления, однако для меня было бы полезно иметь возможность распечатать элементы базиса Гребнера, поскольку они найдены, чтобы я мог знать, находится ли конкретный полиномоснова гробнера.Есть ли способ сделать это?

Ответы [ 2 ]

1 голос
/ 13 мая 2012

Если вы реализуете алгоритм Бухбергера самостоятельно, то вы можете просто распечатать элементы как найденные.

Если у вас есть Mathematica, вы можете использовать этот код в качестве отправной точки.

https://www.msu.edu/course/mth/496/snapshot.afs/groebner.m

См. Функцию BuchbergerSteps.

0 голосов
/ 25 июля 2012

Из-за того, как работает алгоритм Бухбергера (см., Например, Википедия или IVA ), частичные результаты, которые вы можете получить, печатая промежуточные результаты, не гарантируют основа Гребнера.

В зависимости от вашей конечной цели, вы можете попробовать вместо этого алгоритм триангуляции идеалов, такой как алгоритм Ритта-Ву (см. ИВА или книга Шан-Чинг Чоу ) , Это несколько похоже на приведение к форме эшелона строк в линейной алгебре, и вы можете прервать алгоритм в любой точке, чтобы получить частично приведенную систему полиномиальных уравнений.

...