gbasis

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

Синтаксис

gbasis(poly)
gbasis(poly,vars)
gbasis(___,'MonomialOrder',MonomialOrder)

Описание

пример

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

Для просмотра документации необходимо авторизоваться на сайте