Add symbol checks to translators for MCALL, MARRAYREF, and MARRAYSET
[maxima.git] / doc / info / ru / grobner.texi
blob601dd9322cfef238018c4bf0207373a9252095b9
1 @c Language=Russian
2 @c Encoding=UTF-8
3 @c File=grobner.texi 
4 @c OriginalRevision=1.5
5 @c TranslatedBy: (c) 2008-02 Vadim V. Zhytnikov <vvzhyt@gmail.com>
8 @menu
9 * Введение в пакет grobner::
10 * Функции и переменные пакета grobner::
11 @end menu
13 @node Введение в пакет grobner, Функции и переменные пакета grobner, Top, Top
14 @section Введение в пакет grobner
16 Пакет @code{grobner} предназначен для работы с базисами Гребнера в Maxima.
18 @noindent
19 Учебные материалы по @emph{базисам Гребнера} могут быть найдены по адресу 
21 @noindent
22 @url{http://www.geocities.com/CapeCanaveral/Hall/3131/}
24 @noindent
25 Для использования, описанных ниже функций, необходимо загрузить пакет @file{grobner.lisp}.
27 @example
28 load("grobner");
29 @end example
31 @noindent
32 Демонстрация может быть запущена так
33 @example
34 demo("grobner.demo");
35 @end example
37 @noindent
38 или так
39 @example
40 batch("grobner.demo")
41 @end example
43 @noindent
44 Некоторые вычисления в данной демонстрации занимают длительное время, 
45 поэтому вывод демонстрации, записанный в файл @file{grobner-demo.output},
46 может быть обнаружен в той же директории, где расположена демонстрация.
48 @subsection О пакете grobner
49 Пакет написан
51 @noindent
52 Marek Rychlik 
54 @noindent
55 @url{http://alamos.math.arizona.edu}
57 @noindent
58 и выпущен 2002-05-24 под лицензией General Public License (GPL) (см. файл @file{grobner.lisp}.
59 Эта документация извлечена из файлов 
60 @flushleft
61 @file{README}, @file{grobner.lisp}, @file{grobner.demo}, @file{grobner-demo.output}
62 @end flushleft
64 @noindent
65 G@"unter Nowak. Предложения по усовершенствованию документации можно обсудить в списке 
66 рассылки @emph{maxima}-mailing-list @email{maxima@@math.utexas.edu}.
67 Код несколько устарел. Современные реализации используют быстрый алгоритм @emph{F4}, описанный в 
68 @smallformat
69 A new efficient algorithm for computing Gr@"obner bases (F4) 
70 Jean-Charles Faug@`ere
71 LIP6/CNRS Universit@'e Paris VI 
72 January 20, 1999
73 @end smallformat
75 @opencatbox{Категории:}
76 @category{Базис Гребнера}
77 @category{Пакеты библиотеки share}
78 @category{Пакет grobner}
79 @closecatbox
81 @subsection Реализации и допустимые способы упорядочивания одночленов в пакете grobner
83 @itemize @bullet
84 @item @code{lex}
86 чисто лексикографический,
87 используется по умолчанию для сравнения порядка одночленов
88 @item @code{grlex}
90 порядок общей степени, совпадения разрешаются лексикографическим упорядочиванием
92 @item @code{grevlex}
94 общая степень, совпадения разрешаются обратным лексикографическим упорядочиванием
96 @item @code{invlex}
98 обратный лексикографический порядок
100 @end itemize
102 @node Функции и переменные пакета grobner, , Введение в пакет grobner, Top
103 @section Функции и переменные пакета grobner 
105 @subsection Глобальные переключатели пакета grobner
107 @defvr {Управляющая переменная} poly_monomial_order
108 Значение по умолчанию: @code{lex}
110 Этот глобальный переключатель управляет тем, какой порядок одночленов
111 используется с многочленах и в вычислении базиса Гребнера. 
112 Если значение не задано, то будет использовано @code{lex}.
114 @opencatbox{Категории:}
115 @category{Пакет grobner}
116 @closecatbox
118 @end defvr
121 @defvr {Управляющая переменная} poly_coefficient_ring
122 Значение по умолчанию: @code{expression_ring}
124 Этот переключатель указывает кольцо коэффициентов многочленов, используемое
125 в вычислениях базиса Гребнера. Если значение не задано, то используется общее кольцо выражений @emph{maxima}.
126 Если необходимо, значение переключателя может быть установлено равным @code{ring_of_integers}.
128 @opencatbox{Категории:}
129 @category{Пакет grobner}
130 @closecatbox
132 @end defvr
134 @defvr {Управляющая переменная} poly_primary_elimination_order
135 Значение по умолчанию: @code{false}
137 Определяет порядок исключения переменных в функциях, основанных на исключении переменных.
138 Если значение не задано, то будет использовано @code{lex}.
140 @opencatbox{Категории:}
141 @category{Пакет grobner}
142 @closecatbox
144 @end defvr
146 @defvr {Управляющая переменная} poly_secondary_elimination_order
147 Значение по умолчанию: @code{false}
149 Определяет порядок сохраняемых переменных в функциях, основанных на исключении переменных.
150 Если значение не задано, то будет использовано @code{lex}.
152 @opencatbox{Категории:}
153 @category{Пакет grobner}
154 @closecatbox
156 @end defvr
158 @defvr {Управляющая переменная} poly_elimination_order
159 Значение по умолчанию: @code{false}
161 Определяет порядок исключения в вычислениях, основанных на исключении переменных. 
162 Если значение задано, то оно перекрывает значение переменных
163 @code{poly_primary_elimination_order} и @code{poly_secondary_elimination_order}.
164 Пользователь должен обеспечить, что заданный порядок исключения
165 применим для данного числа исключаемых переменных.
167 @opencatbox{Категории:}
168 @category{Пакет grobner}
169 @closecatbox
171 @end defvr
173 @defvr {Управляющая переменная} poly_return_term_list
174 Значение по умолчанию: @code{false}
176 Если равно @code{true}, то все функции пакета возвращают многочлены в виде списков
177 членов с текущим порядком одночленов, а не в виде выражений @emph{maxima}.
179 @opencatbox{Категории:}
180 @category{Пакет grobner}
181 @closecatbox
183 @end defvr
185 @defvr {Управляющая переменная} poly_grobner_debug
186 Значение по умолчанию: @code{false}
188 Если равно @code{true}, то выводится трассировка и отладочная информация.
190 @opencatbox{Категории:}
191 @category{Пакет grobner}
192 @closecatbox
194 @end defvr
196 @defvr {Управляющая переменная} poly_grobner_algorithm
197 Значение по умолчанию: @code{buchberger}
199 Возможные значения: 
200 @itemize
201 @item @code{buchberger}
202 @item @code{parallel_buchberger}
203 @item @code{gebauer_moeller}
204 @end itemize
206 Определяет алгоритм, используемый для поиска базиса Гребнера.
208 @opencatbox{Категории:}
209 @category{Пакет grobner}
210 @closecatbox
212 @end defvr
214 @defvr {Управляющая переменная} poly_top_reduction_only
215 Значение по умолчанию: @code{false}
217 Если не равно @code{false}, то когда возможно используется только приведение верхнего уровня. 
218 Приведение верхнего уровня означает, что алгоритм деления останавливается после первого
219 приведения.
221 @opencatbox{Категории:}
222 @category{Пакет grobner}
223 @closecatbox
225 @end defvr
227 @subsection Простые операторы в пакете grobner
228 @code{poly_add}, @code{poly_subtract}, @code{poly_multiply} и @code{poly_expt}
229 являются арифметическими операциями над многочленами.
230 Они осуществляются над внутренним представлением, но результат
231 преобразуется обратно в выражение @emph{maxima}.
233 @deffn {Функция} poly_add (@var{poly1}, @var{poly2}, @var{varlist})
234 Складывает два многочлена @var{poly1} и @var{poly2}.
235 @example
237 (%i1) poly_add(z+x^2*y,x-z,[x,y,z]);
238                                     2
239 (%o1)                              x  y + x
240 @end example
242 @opencatbox{Категории:}
243 @category{Пакет grobner}
244 @closecatbox
246 @end deffn
248 @deffn {Функция} poly_subtract (@var{poly1}, @var{poly2}, @var{varlist})
249 Вычитает многочлен @var{poly2} из @var{poly1}.
250 @example
252 (%i1) poly_subtract(z+x^2*y,x-z,[x,y,z]);
253                                       2
254 (%o1)                          2 z + x  y - x
255 @end example
257 @opencatbox{Категории:}
258 @category{Пакет grobner}
259 @closecatbox
261 @end deffn
263 @deffn {Функция} poly_multiply (@var{poly1}, @var{poly2}, @var{varlist})
264 Возвращает произведение многочленов @var{poly1} и @var{poly2}.
265 @example
267 (%i2) poly_multiply(z+x^2*y,x-z,[x,y,z])-(z+x^2*y)*(x-z),expand;
268 (%o1)                                  0
269 @end example
271 @opencatbox{Категории:}
272 @category{Пакет grobner}
273 @closecatbox
275 @end deffn
277 @deffn {Функция} poly_s_polynomial (@var{poly1}, @var{poly2}, @var{varlist})
278 Возвращает S-многочлен (@emph{syzygy polynomial}) двух многочленов @var{poly1} и @var{poly2}.
280 @opencatbox{Категории:}
281 @category{Пакет grobner}
282 @closecatbox
284 @end deffn
286 @deffn {Функция} poly_primitive_part (@var{poly1}, @var{varlist})
287 Возвращает многочлен @var{poly} деленный на НОД своих коэффициентов. 
289 @example
290 (%i1) poly_primitive_part(35*y+21*x,[x,y]);
291 (%o1)                              5 y + 3 x
292 @end example
294 @opencatbox{Категории:}
295 @category{Пакет grobner}
296 @closecatbox
298 @end deffn
300 @deffn {Функция} poly_normalize (@var{poly}, @var{varlist})
301 Возвращает многочлен @var{poly} деленный на свой старший коэффициент.
302 Подразумевается, что деление возможно, что может быть не всегда верно в случае
303 колец не являющихся полями.
305 @opencatbox{Категории:}
306 @category{Пакет grobner}
307 @closecatbox
309 @end deffn
311 @subsection Другие функции пакета grobner
313 @deffn {Функция} poly_expand (@var{poly}, @var{varlist})
314 Эта функция преобразует многочлен во внутреннее представление и обратно. 
315 Она эквивалентна @code{expand(@var{poly})}, если @var{poly} корректно 
316 преобразуется в многочлен. Если представление не совместимо
317 с многочленом от переменных @var{varlist}, то это приводит к ошибке.
318 Данная функция может быть использована для проверки, возможно ли
319 преобразование выражения во внутреннее представление.
320 Нижеследующие примеры демонстрируют, что допустимы переменные
321 с индексом или в виде трансцендентных функций.
322 @example
324 (%i1) poly_expand((x-y)*(y+x),[x,y]);
325                                      2    2
326 (%o1)                               x  - y
327 (%i2) poly_expand((y+x)^2,[x,y]);
328                                 2            2
329 (%o2)                          y  + 2 x y + x
330 (%i3) poly_expand((y+x)^5,[x,y]);
331                   5      4         2  3       3  2      4      5
332 (%o3)            y  + 5 x y  + 10 x  y  + 10 x  y  + 5 x  y + x
333 (%i4) poly_expand(-1-x*exp(y)+x^2/sqrt(y),[x]);
334                                           2
335                                   y      x
336 (%o4)                       - x %e  + ------- - 1
337                                        sqrt(y)
339 (%i5) poly_expand(-1-sin(x)^2+sin(x),[sin(x)]);
340                                 2
341 (%o5)                      - sin (x) + sin(x) - 1
343 @end example
345 @opencatbox{Категории:}
346 @category{Пакет grobner}
347 @closecatbox
349 @end deffn
351 @deffn {Функция} poly_expt (@var{poly}, @var{number}, @var{varlist})
352 возводит многочлен @var{poly} в положительную целую степень @var{number}. 
353 Если @var{number} не есть целое положительное число, то сигнализируется ошибка.
354 @example
356 (%i1) poly_expt(x-y,3,[x,y])-(x-y)^3,expand;
357 (%o1)                                  0
358 @end example
360 @opencatbox{Категории:}
361 @category{Пакет grobner}
362 @closecatbox
364 @end deffn
366 @deffn {Функция} poly_content (@var{poly}. @var{varlist})
367 @code{poly_content} вычисляет НОД коэффициентов многочлена
368 @example
370 (%i1) poly_content(35*y+21*x,[x,y]);
371 (%o1)                                  7
372 @end example
374 @opencatbox{Категории:}
375 @category{Пакет grobner}
376 @closecatbox
378 @end deffn
380 @deffn {Функция} poly_pseudo_divide (@var{poly}, @var{polylist}, @var{varlist})
381 Псевдо-деление многочлена @var{poly} на список из @math{n} многочленов @var{polylist}. 
382 Возвращает несколько значений. Первое значение -- список частных @math{a}. 
383 Второе значение -- остаток @math{r}. 
384 Третье значение -- скалярный коэффициент @math{c}, такой что @math{c*poly} делимо
385 на @var{polylist} в кольце коэффициентов, не обязательно являющимся полем. 
386 И наконец, четвертое значение -- целое число, дающее число
387 выполненных приведение. Результирующие величины удовлетворяют выражению:
389 @iftex
390 @tex
391 $$c*poly=\sum_{i=1}^{n}({a}_{i}*{polylist}_{i})+r$$
392 @end tex
393 @end iftex
394 @ifnottex
395 @math{c*poly=sum(a[i]*polylist[i],i=1...n)+r}.
396 @end ifnottex
398 @opencatbox{Категории:}
399 @category{Пакет grobner}
400 @closecatbox
402 @end deffn
404 @deffn {Функция} poly_exact_divide (@var{poly1}, @var{poly2}, @var{varlist})
405 Делит многочлен @var{poly1} на многочлен @var{poly2}. 
406 Предполагается, что деление без остатка возможно.
407 Возвращает частное.
409 @opencatbox{Категории:}
410 @category{Пакет grobner}
411 @closecatbox
413 @end deffn
415 @deffn {Функция} poly_normal_form (@var{poly}, @var{polylist}, @var{varlist})
416 Функция @code{poly_normal_form} вычисляет нормальную форму многочлена @var{poly} 
417 по отношению к множеству многочленов @var{polylist}.
419 @opencatbox{Категории:}
420 @category{Пакет grobner}
421 @closecatbox
423 @end deffn
425 @deffn {Функция} poly_buchberger_criterion (@var{polylist}, @var{varlist})
426 Возвращает @code{true} если @var{polylist} является базисом Гребнера с учетом текущего упорядочивания членов.
427 Использует критерий Бухбергера:
428 для любых двух многочленов @math{h1} и @math{h2} из @var{polylist} e
429 S-многочлен @math{S(h1,h2)} приводим к 0 по модулю @var{polylist}.
431 @opencatbox{Категории:}
432 @category{Пакет grobner}
433 @closecatbox
435 @end deffn
437 @deffn {Функция} poly_buchberger (@var{polylist_fl} @var{varlist})
438 @code{poly_buchberger} применяет алгоритм Бухбергера к списку многочленов
439 и возвращает результирующий базис Гребнера.
441 @opencatbox{Категории:}
442 @category{Пакет grobner}
443 @closecatbox
445 @end deffn
448 @subsection Стандартная пост-обработка для базиса Гребнера
450 @iftex
451 @tex
452 \emph{Идеал k-го исключения} $I_k$ идеала $I$ над 
453 $K [ x_1, ...,x_1 ]$ есть $I \cap K [ x_{k + 1}, ..., x_n ]$.
455 \noindent
456 \emph{Частное идеалов} $I : J$ есть идеал $\{ h|\forall w \in J : wh \in
457 I \}$.@*
459 \noindent
460 Идеал $I : p^{\infty}$ есть идеал $\{ h|\exists n \in N : p^n h \in I \}$.@*
462 \noindent
463 Идеал $I : J^{\infty}$ есть идеал $\{ h|\exists n \in N, \exists p \in J: p^n h \in I \}$.@*
465 \noindent
466 \emph{Радикал идеала} $\sqrt{I}$ есть идеал $\{ h| \exists n \in N :
467 h^n \in I \}$.@*
469 @end tex
470 @end iftex
472 @ifnottex
473 @emph{Идеал k-го исключения} @math{I_k} идеала @math{I} над @math{K[ x[1],...,x[n] ]} есть идеал @math{intersect(I, K[ x[k+1],...,x[n] ])}.@*
474 @noindent
475 @emph{Частное идеалов} @math{I:J} есть идеал @math{@{h| для всех w в J: w*h в I@}}.@*
476 @noindent
477 Идеал @math{I:p^inf} есть идеал @math{@{h| существует n в N: p^n*h в I@}}.@*
478 @noindent
479 Идеал @math{I:J^inf} есть идеал @math{@{h| существуют n в N и p в J: p^n*h в I@}}.@*
480 @noindent
481 @emph{Радикал идеала} @math{sqrt(I)} есть идеал 
482 @math{@{h| существует n в N : h^n в I @}}.
483 @end ifnottex
485 @noindent
486 @deffn {Функция} poly_reduction (@var{polylist}, @var{varlist})
487 @code{poly_reduction} приводит список многочленов @var{polylist}, так что каждый
488 многочлен полностью приведен по отношению к другим.
490 @opencatbox{Категории:}
491 @category{Пакет grobner}
492 @closecatbox
494 @end deffn
496 @deffn {Функция} poly_minimization (@var{polylist}, @var{varlist})
497 Возвращает подмножество списка многочленов @var{polylist}, порождающих 
498 тот же мономиальный идеал, что и @var{polylist} но минимальный, 
499 т.е. старшие одночлены многочленов из подмножества не делят ни один из
500 других старших одночленов других многочленов этого подмножества.
502 @opencatbox{Категории:}
503 @category{Пакет grobner}
504 @closecatbox
506 @end deffn
509 @deffn {Функция} poly_normalize_list (@var{polylist}, @var{varlist})
510 @code{poly_normalize_list} применяет @code{poly_normalize} к каждому многочлену в списке.
511 Т.е. делит каждый из многочленов списка @var{polylist} на его старший коэффициент.
513 @opencatbox{Категории:}
514 @category{Пакет grobner}
515 @closecatbox
517 @end deffn
519 @deffn {Функция} poly_grobner (@var{polylist}, @var{varlist})
520 Возвращает базис Гребнера идеала, порожденного многочленами @var{polylist}. 
521 Зависит от глобальных флагов.
523 @opencatbox{Категории:}
524 @category{Пакет grobner}
525 @closecatbox
527 @end deffn
529 @deffn {Функция} poly_reduced_grobner (@var{polylist}, @var{varlist})
530 Возвращает приведенный базис Гребнера идеала, порожденного многочленами @var{polylist}. 
531 Зависит от глобальных флагов.
533 @opencatbox{Категории:}
534 @category{Пакет grobner}
535 @closecatbox
537 @end deffn
540 @deffn {Функция} poly_depends_p (@var{poly}, @var{var}, @var{varlist})
541 @code{poly_depends} проверяет, зависит ли многочлен от переменной @var{var}.
543 @opencatbox{Категории:}
544 @category{Пакет grobner}
545 @category{Функции предикаты}
546 @closecatbox
548 @end deffn
551 @deffn {Функция} poly_elimination_ideal (@var{polylist}, @var{number}, @var{varlist})
554 @code{poly_elimination_ideal} возвращает базис Гребнера идеала @math{number}-го исключения идеала,
555 порожденного списком многочленов (не обязательно образующих базис Гребнера).
557 @opencatbox{Категории:}
558 @category{Пакет grobner}
559 @closecatbox
561 @end deffn
563 @deffn {Функция} poly_colon_ideal (@var{polylist1}, @var{polylist2}, @var{varlist})
565 Возвращает приведенный базис Гребнера частного идеала  
567 @math{I(polylist1):I(polylist2)}
569 @noindent
570 где @math{polylist1} и @math{polylist2} -- два списка многочленов.
572 @opencatbox{Категории:}
573 @category{Пакет grobner}
574 @closecatbox
576 @end deffn
578 @deffn {Функция} poly_ideal_intersection (@var{polylist1}, @var{polylist2}, @var{varlist})
580 @code{poly_ideal_intersection} возвращает пересечение двух идеалов.
582 @opencatbox{Категории:}
583 @category{Пакет grobner}
584 @closecatbox
586 @end deffn
589 @deffn {Функция} poly_lcm (@var{poly1}, @var{poly2}, @var{varlist})
590 Возвращает наименьший общий множитель многочленов @var{poly1} и @var{poly2}.
592 @opencatbox{Категории:}
593 @category{Пакет grobner}
594 @closecatbox
596 @end deffn
598 @anchor{poly_gcd}
599 @deffn {Функция} poly_gcd (@var{poly1}, @var{poly2}, @var{varlist})
600 Возвращает наибольший общий делитель многочленов @var{poly1} и @var{poly2}.
602 @opencatbox{Категории:}
603 @category{Пакет grobner}
604 @closecatbox
606 @end deffn
608 @deffn {Функция} poly_grobner_equal (@var{polylist1}, @var{polylist2}, @var{varlist})
609 @code{poly_grobner_equal} проверяет порождают ли два базиса Гребнера один и тот же идеал.
610 Возвращает @code{true} если два списка многочленов @var{polylist1} и @var{polylist2}, 
611 предполагаемые базисами Гребнера, порождают один и тот же идеал, и @code{false} в противном случае.
612 Это эквивалентно проверке, что каждый многочлен первого базиса приводится к 0
613 по модулю второго и обратно. Заметим, что в примере ниже первый список не есть базис Гребнера,
614 и по этому результат есть @code{false}.
616 @example
617 (%i1) poly_grobner_equal([y+x,x-y],[x,y],[x,y]);
618 (%o1)                         false
619 @end example
621 @opencatbox{Категории:}
622 @category{Пакет grobner}
623 @closecatbox
625 @end deffn
627 @deffn {Функция} poly_grobner_subsetp (@var{polylist1}, @var{polylist2}, @var{varlist})
629 @code{poly_grobner_subsetp} проверяет содержится ли идеал, порожденный @var{polylist1},
630 в идеале, порожденном @var{polylist2}. 
631 Чтобы тест всегда выполнялся, нужно чтобы @var{polylist2} был бы базисом Гребнера.
633 @opencatbox{Категории:}
634 @category{Пакет grobner}
635 @category{Функции предикаты}
636 @closecatbox
638 @end deffn
640 @deffn {Функция} poly_grobner_member (@var{poly}, @var{polylist}, @var{varlist})
642 Возвращает @code{true}, если многочлен @var{poly} принадлежит к идеалу, порожденному списком
643 многочленов @var{polylist}, который предполагается базисом Гребнера. 
644 Иначе возвращает @code{false}.
646 @opencatbox{Категории:}
647 @category{Пакет grobner}
648 @closecatbox
650 @end deffn
652 @deffn {Функция} poly_ideal_saturation1 (@var{polylist}, @var{poly}, @var{varlist})
653 Возвращает приведенный базис Гребнера насыщения идеала
654 @iftex
655 @tex
656 $$I(polylist):poly^\infty$$
657 @end tex
658 @end iftex
660 @ifnottex
661 I(polylist):poly^inf
662 @end ifnottex
664 @noindent
665 Геометрически, над алгебраически замкнутым полем, это есть 
666 множество многочленов в идеале, порожденном @var{polylist},
667 которые не исчезают на многообразии @var{poly}.
669 @opencatbox{Категории:}
670 @category{Пакет grobner}
671 @closecatbox
673 @end deffn
675 @deffn {Функция} poly_ideal_saturation (@var{polylist1}, @var{polylist2}, @var{varlist})
676 Возвращает приведенный базис Гребнера насыщения идеала
677 @iftex
678 @tex
679 $$I(polylist1):I(polylist2)^\infty$$
680 @end tex
681 @end iftex
683 @ifnottex
684 I(polylist1):I(polylist2)^inf
685 @end ifnottex
687 @noindent
688 Геометрически, над алгебраически замкнутым полем, это есть 
689 множество многочленов в идеале, порожденном @var{polylist1},
690 которые не исчезают на многообразии @var{polylist2}.
692 @opencatbox{Категории:}
693 @category{Пакет grobner}
694 @closecatbox
696 @end deffn
698 @deffn {Функция} poly_ideal_polysaturation1 (@var{polylist1}, @var{polylist2}, @var{varlist})
699 @var{polylist2} -- есть список n многочленов @code{[poly1,...,polyn]}.
700 Возвращает приведенный базис Гребнера идеала
701 @iftex
702 @tex
703 $$I(polylist):poly1^\infty:...:polyn^\infty$$
704 @end tex
705 @end iftex
707 @ifnottex
708 I(polylist):poly1^inf:...:polyn^inf
709 @end ifnottex
711 @noindent
712 полученного последовательным насыщением многочленами из списка
713 @var{polylist2} идеала, порожденного списком многочленов @var{polylist1}.
715 @opencatbox{Категории:}
716 @category{Пакет grobner}
717 @closecatbox
719 @end deffn
721 @deffn {Функция} poly_ideal_polysaturation (@var{polylist}, @var{polylistlist}, @var{varlist})
722 @var{polylistlist} -- есть список n списков многочленов @code{[polylist1,...,polylistn]}.
723 Возвращает приведенный базис Гребнера насыщения идеала
724 @iftex
725 @tex
726 $$I(polylist):I(polylist_1)^\infty:...:I(polylist_n)^\infty$$
727 @end tex
728 @end iftex
730 @ifnottex
731 I(polylist):I(polylist_1)^inf:...:I(polylist_n)^inf
732 @end ifnottex
734 @opencatbox{Категории:}
735 @category{Пакет grobner}
736 @closecatbox
738 @end deffn
740 @deffn {Функция} poly_saturation_extension (@var{poly}, @var{polylist}, @var{varlist1}, @var{varlist2})
742 @code{poly_saturation_extension} реализует знаменитый трюк Рабиновича.
744 @opencatbox{Категории:}
745 @category{Пакет grobner}
746 @closecatbox
748 @end deffn
750 @deffn {Функция} poly_polysaturation_extension (@var{poly}, @var{polylist}, @var{varlist1}, @var{varlist2})
752 @opencatbox{Категории:}
753 @category{Пакет grobner}
754 @closecatbox
756 @end deffn