Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование? |
Алгоритмы Кронекера. Разложение на множители, свободные от квадратов. Факторизация
Алгоритмы Кронекера
Алгоритм Кронекера находит для данного многочлена многочлен , такой, что , или доказывает, что такого многочлена нет. Алгоритм Кронекера основан на следующих соображениях:
- если степень многочлена равна , то степень хотя бы одного множителя многочлена не превосходит ;
- значения как , так и в целых точках — целые числа, причем делит для любого целого ;
- при фиксированном , если , то может принимать только конечное множество значений, состоящее из делителей числа ;
- коэффициенты многочлена однозначно восстанавливаются по его значениям в точке.
Таким образом, для получается конечное число возможностей; непосредственным делением проверяем, получили ли делитель многочлена .
Перепишем алгоритм Кронекера в соответствии со сделанными выше замечаниями.
14.1. ЗАМЕЧАНИЕ. Достаточно научиться разлагать на множители многочлены со старшим коэффициентом, равным 1. Действительно, если старший коэффициент равен , то домножив на и сделав замену , сводим задачу к этому случаю. После ее решения остается сделать обратную замену и сократить на общий множитель . Однако этот метод обычно оказывается неэффективным: из-за увеличения коэффициентов ухудшаются различные оценки и скорость работы алгоритмов. Поэтому в большинстве работающих алгоритмов таких преобразований не производится.
Другое решение задачи факторизации "за конечное число шагов" следует из того, что коэффициенты делителя - целые числа и их абсолютная величина ограничена сверху некоторой функцией от коэффициентов многочлена . В "Алгоритмы Кронекера. Разложение на множители, свободные от квадратов. Факторизация" мы нашли некоторые оценки для этих коэффициентов. Они еще понадобятся нам в дальнейшем.
Задача разложения на неприводимые множители "за конечное число шагов" многочленов от нескольких переменных с "классической" точки зрения решена также примерно сто лет назад. Соответствующий алгоритм также носит имя Кронекера и для некоторых областей коэффициентов (например, для поля комплексных чисел ) остается единственным известным алгоритмом решения этой задачи. Для многочленов с коэффициентами из кольца целых чисел, или из кольца алгебраических чисел, или из конечного поля и некоторых других получены в последнее время новые, более быстрые алгоритмы. Общая схема этих алгоритмов достаточно близка к соответствующим алгоритмам факторизации одномерных многочленов, хотя некоторые отличия весьма существенны. Изложение современных алгоритмов факторизации многомерных многочленов не входит в число вопросов, освещаемых в данном пособии. Читателю, интересующемуся этой задачей, следует обратиться к специальной литературе.
Ниже излагаем многомерный алгоритм Кронекера для задачи, поставленной следующим образом.
Пусть - область целостности с однозначным разложением на множители, . Требуется разложить на неприводимые множители.
Многомерный алгоритм Кронекера
А17. АЛГОРИТМ (Кронекера_многомерный).
В этом алгоритме обратное преобразование определяется на одночленах по формуле
для , , далее распространяется по линейности.