Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование? |
Алгоритмы вычисления размерностных многочленов
В предыдущем параграфе (см.12.7) мы отмечали, что
размерностный многочлен любого множества равен
размерностному
многочлену, ассоциированному с множеством всех минимальных элементов множества
. Значит, достаточно уметь вычислять размерностные многочлены
только
для конечных множеств
(более того, можно
предполагать, что
элементы множества
попарно несравнимы относительно порядка
произведения).
Пусть
обозначает
-матрицу над
, т. е. матрицу с
строками и
столбцами, элементы которой -
неотрицательные целые числа. Рассматривая строки матрицы
как
элементы множества
и обозначая
-ю строку
через
, мы получим подмножество
,
ассоциированное с
. Напомним, что размерностный многочлен
-матрицы
в точности совпадает с
размерностным многочленом множества
и называется многочленом Гильберта матрицы
.
Пусть - размерностный многочлен
-матрицы
над
.
По определению
для всех достаточно
больших
, где
обозначает множество всех элементов
из
,
которые не превосходят ни одного элемента из
относительно порядка произведения,
так что
если и только если неравенство
не выполняется ни для одного
.
Как было отмечено, для того, чтобы уметь вычислять размерностный многочлен
любого
подмножества в , достаточно уметь вычислять его для
любой
-матрицы
над
.
Один из методов вычисления основан на формуле (12,4).
Пусть
обозначает
-матрицу над
.
Воспользуемся следующими обозначениями, введенными в параграфе 12:








Пользуясь выписанной формулой, можно
предложить следующий алгоритм вычисления
размерностного многочлена , ассоциированного с
-матрицей
.

Легко видеть, что асимптотическая сложность алгоритма A9
имеет порядок , где
- число
строк матрицы
(по теореме 12.8 мы
можем считать, что строки попарно несравнимы относительно порядка произведения
на
).
Мора и Меллер модифицировали алгоритм вычисления многочлена
Гильберта
[
27
]
. Их алгоритм
основан на следующих соображениях. Легко видеть, что в формуле (12.5)
может выполняться равенство для двух различных подмножеств
и
множества
, таких, что
и
являются четным и нечетным числами соответственно
(мы пользуемся обозначениями предложения 12.9). Тогда соответствующие
слагаемые в формуле (12.5) сократятся. Более того, можно сгруппировать
все слагаемые,
соответствующие одному и тому же элементу
.
Пусть - множество всех элементов
, которые равны, по крайней мере, одному из элементов
, где
.
Тогда из формулы (12.4) следует, что
![]() |
( 13.1) |


![]() |
( 13.2) |
Очевидно, если матрица получена присоединением строки
к матрице
,
и
- множество коэффициентов (13.2) в соотношении
(13.1) для многочлена
, так что


![]() |
( 13.3) |
Таким образом, вычисление многочлена , т. е.
вычисление коэффициентов
, в (13.1) может быть основано на
формуле (13.3),
если мы начнем с пустой матрицы (число строк которой равно нулю и многочлен
Гильберта которой равен
) и последовательно будем присоединять строки матрицы
, вычисляя множество
и коэффициенты
на каждом шаге
(см. алгоритм A10 ).

Поскольку на -м шаге
алгоритма
каждый элемент
является наименьшим общим кратным некоторого подмножества
множества
(т. е.
для некоторого
), существует не более
различных
возможностей для
выбора каждой координаты вектора
, следовательно, на
-м шаге
множество
содержит не более
элементов. Вычисление
всех элементов
требует не более
сравнений, и можно предполагать
(используя достаточно эффективный метод сортировки), что число проверок на
принадлежность
не превосходит
для всех
достаточно больших
. Таким образом, асимптотическая
сложность (по
) алгоритма A10 не превосходит
. Поскольку
, асимптотическая сложность имеет порядок
.
Следующие алгоритмы вычисления размерностного многочлена произвольной -матрицы
сводят эту задачу к
аналогичной задаче для матрицы
с числом строк меньшим, чем в
. По одному из этих алгоритмов
(см. ниже алгоритм A11 ) можно
вычислить коэффициенты
в (13.1) размерностного многочлена
, что дает выражение для размерностного многочлена.
Для обоснования этого алгоритма нам нужны некоторые свойства коэффициентов
, которые сформулированы ниже в леммах
13.1-13.5, 13.7 и 13,9. Последняя из этих лемм
устанавливает соотношения, на которых основан алгоритм вычисления
.
Чтобы подчеркнуть зависимость коэффициентов от
матрицы
, будем обозначать
эти коэффициенты
и продолжим это обозначение на
случай произвольного
вектора
, полагая







