Previous: Введение в пакет grobner, Up: Top [Contents][Index]
Значение по умолчанию: lex
Этот глобальный переключатель управляет тем, какой порядок одночленов
используется с многочленах и в вычислении базиса Гребнера.
Если значение не задано, то будет использовано lex
.
Значение по умолчанию: expression_ring
Этот переключатель указывает кольцо коэффициентов многочленов, используемое
в вычислениях базиса Гребнера. Если значение не задано, то используется общее кольцо выражений maxima.
Если необходимо, значение переключателя может быть установлено равным ring_of_integers
.
Значение по умолчанию: false
Определяет порядок исключения переменных в функциях, основанных на исключении переменных.
Если значение не задано, то будет использовано lex
.
Значение по умолчанию: false
Определяет порядок сохраняемых переменных в функциях, основанных на исключении переменных.
Если значение не задано, то будет использовано lex
.
Значение по умолчанию: false
Определяет порядок исключения в вычислениях, основанных на исключении переменных.
Если значение задано, то оно перекрывает значение переменных
poly_primary_elimination_order
и poly_secondary_elimination_order
.
Пользователь должен обеспечить, что заданный порядок исключения
применим для данного числа исключаемых переменных.
Значение по умолчанию: false
Если равно true
, то все функции пакета возвращают многочлены в виде списков
членов с текущим порядком одночленов, а не в виде выражений maxima.
Значение по умолчанию: false
Если равно true
, то выводится трассировка и отладочная информация.
Значение по умолчанию: buchberger
Возможные значения:
buchberger
parallel_buchberger
gebauer_moeller
Определяет алгоритм, используемый для поиска базиса Гребнера.
Значение по умолчанию: false
Если не равно false
, то когда возможно используется только приведение верхнего уровня.
Приведение верхнего уровня означает, что алгоритм деления останавливается после первого
приведения.
poly_add
, poly_subtract
, poly_multiply
и poly_expt
являются арифметическими операциями над многочленами.
Они осуществляются над внутренним представлением, но результат
преобразуется обратно в выражение maxima.
Складывает два многочлена poly1 и poly2.
(%i1) poly_add(z+x^2*y,x-z,[x,y,z]); 2 (%o1) x y + x
Вычитает многочлен poly2 из poly1.
(%i1) poly_subtract(z+x^2*y,x-z,[x,y,z]); 2 (%o1) 2 z + x y - x
Возвращает произведение многочленов poly1 и poly2.
(%i2) poly_multiply(z+x^2*y,x-z,[x,y,z])-(z+x^2*y)*(x-z),expand; (%o1) 0
Возвращает S-многочлен (syzygy polynomial) двух многочленов poly1 и poly2.
Возвращает многочлен poly деленный на НОД своих коэффициентов.
(%i1) poly_primitive_part(35*y+21*x,[x,y]); (%o1) 5 y + 3 x
Возвращает многочлен poly деленный на свой старший коэффициент. Подразумевается, что деление возможно, что может быть не всегда верно в случае колец не являющихся полями.
Эта функция преобразует многочлен во внутреннее представление и обратно.
Она эквивалентна expand(poly)
, если poly корректно
преобразуется в многочлен. Если представление не совместимо
с многочленом от переменных varlist, то это приводит к ошибке.
Данная функция может быть использована для проверки, возможно ли
преобразование выражения во внутреннее представление.
Нижеследующие примеры демонстрируют, что допустимы переменные
с индексом или в виде трансцендентных функций.
(%i1) poly_expand((x-y)*(y+x),[x,y]); 2 2 (%o1) x - y (%i2) poly_expand((y+x)^2,[x,y]); 2 2 (%o2) y + 2 x y + x (%i3) poly_expand((y+x)^5,[x,y]); 5 4 2 3 3 2 4 5 (%o3) y + 5 x y + 10 x y + 10 x y + 5 x y + x (%i4) poly_expand(-1-x*exp(y)+x^2/sqrt(y),[x]); 2 y x (%o4) - x %e + ------- - 1 sqrt(y) (%i5) poly_expand(-1-sin(x)^2+sin(x),[sin(x)]); 2 (%o5) - sin (x) + sin(x) - 1
возводит многочлен poly в положительную целую степень number. Если number не есть целое положительное число, то сигнализируется ошибка.
(%i1) poly_expt(x-y,3,[x,y])-(x-y)^3,expand; (%o1) 0
poly_content
вычисляет НОД коэффициентов многочлена
(%i1) poly_content(35*y+21*x,[x,y]); (%o1) 7
Псевдо-деление многочлена poly на список из n многочленов polylist. Возвращает несколько значений. Первое значение – список частных a. Второе значение – остаток r. Третье значение – скалярный коэффициент c, такой что c*poly делимо на polylist в кольце коэффициентов, не обязательно являющимся полем. И наконец, четвертое значение – целое число, дающее число выполненных приведение. Результирующие величины удовлетворяют выражению:
c*poly=sum(a[i]*polylist[i],i=1...n)+r.
Делит многочлен poly1 на многочлен poly2. Предполагается, что деление без остатка возможно. Возвращает частное.
Функция poly_normal_form
вычисляет нормальную форму многочлена poly
по отношению к множеству многочленов polylist.
Возвращает true
если polylist является базисом Гребнера с учетом текущего упорядочивания членов.
Использует критерий Бухбергера:
для любых двух многочленов h1 и h2 из polylist e
S-многочлен S(h1,h2) приводим к 0 по модулю polylist.
poly_buchberger
применяет алгоритм Бухбергера к списку многочленов
и возвращает результирующий базис Гребнера.
Идеал k-го исключения I_k идеала I над K[ x[1],...,x[n] ] есть идеал intersect(I, K[ x[k+1],...,x[n] ]).
Частное идеалов I:J есть идеал {h| для всех w в J: w*h в I}.
Идеал I:p^inf есть идеал {h| существует n в N: p^n*h в I}.
Идеал I:J^inf есть идеал {h| существуют n в N и p в J: p^n*h в I}.
Радикал идеала sqrt(I) есть идеал
{h| существует n в N : h^n в I }.
poly_reduction
приводит список многочленов polylist, так что каждый
многочлен полностью приведен по отношению к другим.
Возвращает подмножество списка многочленов polylist, порождающих тот же мономиальный идеал, что и polylist но минимальный, т.е. старшие одночлены многочленов из подмножества не делят ни один из других старших одночленов других многочленов этого подмножества.
poly_normalize_list
применяет poly_normalize
к каждому многочлену в списке.
Т.е. делит каждый из многочленов списка polylist на его старший коэффициент.
Возвращает базис Гребнера идеала, порожденного многочленами polylist. Зависит от глобальных флагов.
Возвращает приведенный базис Гребнера идеала, порожденного многочленами polylist. Зависит от глобальных флагов.
poly_depends
проверяет, зависит ли многочлен от переменной var.
poly_elimination_ideal
возвращает базис Гребнера идеала number-го исключения идеала,
порожденного списком многочленов (не обязательно образующих базис Гребнера).
Возвращает приведенный базис Гребнера частного идеала
I(polylist1):I(polylist2)
где polylist1 и polylist2 – два списка многочленов.
poly_ideal_intersection
возвращает пересечение двух идеалов.
Возвращает наименьший общий множитель многочленов poly1 и poly2.
Возвращает наибольший общий делитель многочленов poly1 и poly2.
poly_grobner_equal
проверяет порождают ли два базиса Гребнера один и тот же идеал.
Возвращает true
если два списка многочленов polylist1 и polylist2,
предполагаемые базисами Гребнера, порождают один и тот же идеал, и false
в противном случае.
Это эквивалентно проверке, что каждый многочлен первого базиса приводится к 0
по модулю второго и обратно. Заметим, что в примере ниже первый список не есть базис Гребнера,
и по этому результат есть false
.
(%i1) poly_grobner_equal([y+x,x-y],[x,y],[x,y]); (%o1) false
poly_grobner_subsetp
проверяет содержится ли идеал, порожденный polylist1,
в идеале, порожденном polylist2.
Чтобы тест всегда выполнялся, нужно чтобы polylist2 был бы базисом Гребнера.
Возвращает true
, если многочлен poly принадлежит к идеалу, порожденному списком
многочленов polylist, который предполагается базисом Гребнера.
Иначе возвращает false
.
Возвращает приведенный базис Гребнера насыщения идеала
I(polylist):poly^inf
Геометрически, над алгебраически замкнутым полем, это есть множество многочленов в идеале, порожденном polylist, которые не исчезают на многообразии poly.
Возвращает приведенный базис Гребнера насыщения идеала
I(polylist1):I(polylist2)^inf
Геометрически, над алгебраически замкнутым полем, это есть множество многочленов в идеале, порожденном polylist1, которые не исчезают на многообразии polylist2.
polylist2 – есть список n многочленов [poly1,...,polyn]
.
Возвращает приведенный базис Гребнера идеала
I(polylist):poly1^inf:...:polyn^inf
полученного последовательным насыщением многочленами из списка polylist2 идеала, порожденного списком многочленов polylist1.
polylistlist – есть список n списков многочленов [polylist1,...,polylistn]
.
Возвращает приведенный базис Гребнера насыщения идеала
I(polylist):I(polylist_1)^inf:...:I(polylist_n)^inf
poly_saturation_extension
реализует знаменитый трюк Рабиновича.
Previous: Введение в пакет grobner, Up: Top [Contents][Index]