groebner::gbasis

Расчет уменьшаемого основания Gröbner

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

groebner::gbasis(polys, <order>, options)

Описание

groebner::gbasis(polys) вычисляет уменьшаемое основание Gröbner идеала, сгенерированного полиномами в списке polys.

Правила, установленные во введении в groebner пакет относительно полиномиальных типов и упорядоченного расположения, применяются.

Полиномы в списке polys должен все иметь тот же тип. В частности, не смешивайте полиномы, созданные через poly и многочленные выражения!

Стратегия упорядоченного расположения обозначается Reorder используется автоматически, когда многочленные выражения используются.

Примеры

Пример 1

Мы демонстрируем эффект различных форматов ввода. Во-первых, мы используем многочленные выражения, чтобы задать полиномиальный идеал. Основание Gröbner возвращено как список многочленных выражений:

groebner::gbasis([x^2 - y^2, x^2 + y], LexOrder)

Затем те же полиномы заданы через poly. Обратите внимание на то, что poly фиксирует упорядоченное расположение переменных.

groebner::gbasis([poly(x^2 - y^2, [x, y]),
                  poly(x^2 + y, [x, y])], LexOrder)

Изменение упорядоченного расположения переменных в poly изменяет лексикографическое упорядоченное расположение. Это приводит к различному основанию:

groebner::gbasis([poly(x^2 - y^2, [y, x]),
                  poly(x^2 + y, [y, x])], LexOrder)

С Reorder упорядоченное расположение переменных может быть изменено внутренне:

groebner::gbasis([poly(x^2 - y^2, [x, y]),
                  poly(x^2 + y, [x, y])], LexOrder, Reorder)

Пример 2

Полиномы по произвольным полям позволены. В частности, можно использовать поле рациональных функций в некоторой данной переменной (переменных):

F := Dom::Fraction(Dom::DistributedPolynomial([y])):
F::Name := "Q(y)": 
groebner::gbasis(
[poly(y*z^2 + 1, [x, z], F),
poly((y^2 + 1)*x^2 - y - z^3, [x, z], F)])

delete F:

Параметры

polys

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

order

Один из идентификаторов DegInvLexOrder, DegreeOrder, и LexOrder, или пользовательское упорядоченное расположение термина типа Dom::MonomOrdering. Упорядоченным расположением по умолчанию является DegInvLexOrder.

Опции

Factor

При использовании этой опции, groebner::gbasis возвращает набор списков, таких, что каждый список является основанием Gröbner идеала. Объединение этих идеалов является надмножеством идеала, данного как вход и подмножество радикала того идеала. Другими словами, это имеет то же разнообразие (только кратность точек может измениться).

IgnoreSpecialCases

При использовании этой опции, groebner::gbasis указатели все коэффициенты во всем промежуточном звене заканчиваются как ненулевые, если эти коэффициенты не равны нулю для всех значений параметров. Другими словами, если коэффициенты являются рациональными функциями свободных параметров, то результаты правильны на всем пространстве параметров за исключением алгебраического разнообразия более низкой размерности.

Reorder

При использовании этой опции groebner::gbasis внутренне может изменить лексикографическое упорядоченное расположение переменных, чтобы уменьшить время выполнения.

При использовании этой опции переменные сортируются внутренне таким образом, что у них есть “эвристическое оптимальное” упорядоченное расположение. Следовательно, упорядоченное расположение переменных в выходных полиномах может отличаться от их упорядоченного расположения во входных полиномах. Для получения дополнительной информации на стратегии упорядоченного расположения, смотрите В. Боеджа, Р. Джебоера und Х. Кредель: “Некоторые Примеры для Решения Систем Алгебраических уравнений Вычислением Основ Groebner” я - J. Символьный Аккомпанемент (1986) Издание 1, 83-98.

Переупорядочение всегда применяется, когда многочленные выражения используются во входе.

Monic

Опция, заданная как Monic = N

Эта опция устанавливает стандартную программу нормализации на N. Для каждого полиномиального f в полиномиальном звонке, N(f, o) должен возвратить некоторого партнера f, где o выбранный порядок.

Метод N должен быть выбран таким образом, что это производит простой выход.

По умолчанию, polylib::primpart используется в полиномах с целочисленными коэффициентами; другие полиномы разделены на их ведущий коэффициент.

Order

Опция, заданная как Order = order

Эта опция эквивалентна передаче order в качестве аргумента.

Возвращаемые значения

Список полиномов. Выходные полиномы имеют тот же тип как полиномы списка входов.

Ссылки

Для получения общей информации смотрите Т. Беккера и В. Вейспфеннинга: “Основы Gröbner”, Спрингер (1993). Для получения дополнительной информации на сахарной стратегии выбора, смотрите А. Джовини, Т. Мору, Г. Ньези, Л. Роббиано, К. Траверсо: “Один кусок сахара — или стратегии Выбора в алгоритме Buchberger”, Proc. ISSAC '91, Бонн, 49-54 (1991).

Алгоритмы

В большинстве случаев, groebner::gbasis вычисляет основание с помощью алгоритма Buchberger с “сахарной” используемой стратегией выбора.

Смотрите также

Функции MuPAD