exponenta event banner

gbasis

Сокращенная база Groebner

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

Вычислите базис Гробнера для многочленов 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.

Вычислить базис Гробнера многочленов 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' аргумент пары имя-значение.

Найти основу Гробнера многочленов 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