gbasis

Редуцированный базис Гребнера

Описание

пример

gbasis(poly) возвращает базис Groebner вектора из полиномов poly. По умолчанию, gbasis находит независимые переменные в poly при помощи symvar, и использует одночлен, заказывая degreeInverseLexicographic.

пример

gbasis(poly,vars) также использует независимые переменные vars.

пример

gbasis(___,'MonomialOrder',MonomialOrder) также использует заданный одночленный порядок в дополнение к входным параметрам в предыдущих синтаксисах. Опциями является 'degreeInverseLexicographic', 'degreeLexicographic', или 'lexicographic'. По умолчанию, gbasis использование 'degreeInverseLexicographic'.

Примеры

свернуть все

Вычислите базис Groebner полиномов x^2-y^2 и x^2+y. По умолчанию, gbasis находит независимые переменные при помощи symvar.

syms x y
p = [x^2-y^2, x^2+y];
gbasis(p)
ans =
[ x^2 + y, y^2 + y]

Задайте независимые переменные в качестве второго аргумента gbasis.

Вычислите базис Groebner полиномов a*y+x^2*y+a и a*x^2+y с независимыми переменными [x y].

syms x y a
p = [a*y + x^2*y + a, a*x^2 + y];
vars = [x y];
grobnerBasis = gbasis(p,vars)
grobnerBasis =
[ a*x^2 + y, - y^2/a + a*y + a]

По умолчанию, gbasis использует одночленный порядок degreeInverseLexicographic. Измените одночленный порядок при помощи 'MonomialOrder' аргумент пары "имя-значение".

Найдите базис Groebner полиномов y*z^2+1 и y^2*x^2-y-z^3 с lexicographic одночленный порядок.

syms x y z
p = [y*z^2 + 1, y^2*x^2 - y - z^3];
grobnerBasis = gbasis(p,'MonomialOrder','lexicographic')
grobnerBasis =
[ x^2 - z^7 + z^2, y*z^2 + 1]

Используйте переменные [z y] с degreeLexicographic одночленный порядок.

grobnerBasis = gbasis(p,[z y],'MonomialOrder','degreeLexicographic')
grobnerBasis =
[ x^2*y^2 - y - z^3, y*z^2 + 1, x^2*y^3 - y^2 + z]

Входные параметры

свернуть все

Полиномы в виде вектора из символьных выражений.

Независимые переменные в виде вектора из символьных переменных.

Одночленный порядок в виде разделенной запятой пары 'MonomialOrder' и одно из значений 'degreeInverseLexicographic', 'degreeLexicographic', или 'lexicographic'. Если vars задан, затем одночлены сортируются относительно порядка переменных в vars.

  • lexicographic сортирует термины полинома с помощью лексикографического упорядоченного расположения.

  • degreeLexicographic сортирует термины полинома согласно общей степени каждого термина. Если термины имеют равные общие степени, polynomialReduce сортирует их использующий лексикографическое упорядоченное расположение.

  • degreeInverseLexicographic сортирует термины полинома согласно общей степени каждого термина. Если термины имеют равные общие степени, polynomialReduce сортирует их использующий обратное лексикографическое упорядоченное расположение.

Введенный в R2018a