В математике свободный от квадратов многочлен — это одномерный многочлен (над полем или областью целостности ), который не имеет кратных корней в алгебраически замкнутом поле, содержащем его коэффициенты. В характеристике 0 или над конечным полем одномерный многочлен свободен от квадратов тогда и только тогда, когда не имеет в качестве делителя ни одного квадрата непостоянного многочлена . [1] В приложениях в физике и технике свободный от квадратов многочлен обычно называется многочленом без повторных корней .
Правило произведения подразумевает, что если p 2 делит f , то p делит формальную производную f ′ от f . Обратное также верно и, следовательно, является свободным от квадратов тогда и только тогда, когда является наибольшим общим делителем многочлена и его производной. [2]
Бесквадратное разложение или бесквадратная факторизация многочлена — это разложение на множители по степеням бесквадратных многочленов.
где те из a k , которые не являются константами, являются попарно взаимно простыми бесквадратными многочленами (здесь два многочлена называются взаимно простыми , их наибольший общий делитель является константой; другими словами, это взаимно простая степень над полем дробей рассматриваемых коэффициентов). [1] Каждый ненулевой многочлен допускает бесквадратную факторизацию, которая является единственной с точностью до умножения и деления множителей на ненулевые константы. Бесквадратную факторизацию гораздо проще вычислить, чем полную факторизацию на неприводимые множители, и поэтому часто предпочитают, когда полная факторизация на самом деле не нужна, как для разложения на частичные дроби и символического интегрирования рациональных дробей . Бесквадратная факторизация является первым шагом алгоритмов полиномиальной факторизации , которые реализованы в системах компьютерной алгебры . Поэтому алгоритм бесквадратной факторизации является основным в компьютерной алгебре .
Над полем характеристики 0 частное от деления на его наибольший общий делитель (НОД) с его производной является произведением в приведенном выше разложении без квадратов. Над совершенным полем характеристики p , отличной от нуля , это частное является произведением такого , что i не кратно p . Дальнейшие вычисления НОД и точные деления позволяют вычислить разложение без квадратов (см. разложение без квадратов над конечным полем ). В характеристике нуль известен лучший алгоритм, алгоритм Юна, который описан ниже. [1] Его вычислительная сложность не более чем в два раза превышает сложность вычисления НОД входного многочлена и его производной. Точнее, если — время, необходимое для вычисления НОД двух многочленов степени и частное этих многочленов по НОД, то — верхняя граница времени, необходимого для вычисления полного разложения без квадратов.
Известны также алгоритмы для свободного от квадратов разложения многомерных многочленов , которые в общем случае действуют, рассматривая многомерный многочлен как одномерный многочлен с полиномиальными коэффициентами и рекурсивно применяя одномерный алгоритм. [3]
В этом разделе описывается алгоритм Юна для свободного от квадратов разложения одномерных многочленов над полем характеристики 0. [ 1] Он осуществляется посредством последовательности вычислений НОД и точных делений.
Таким образом, входными данными является ненулевой многочлен f , и первый шаг алгоритма состоит в вычислении НОД a 0 числа f и его формальной производной f' .
Если
— это искомая факторизация, поэтому мы имеем
и
Если мы установим , и , то получим, что
и
Повторяем этот процесс, пока не найдем все
Это формализуется в виде следующего алгоритма:
повторять до тех пор , пока не появится результат
Степень и на единицу меньше степени Так как является произведением суммы степеней является степенью Так как сложность вычислений НОД и делений увеличивается более чем линейно со степенью, то отсюда следует, что общее время выполнения цикла «повторения» меньше времени выполнения первой строки алгоритма, и что общее время выполнения алгоритма Юня ограничено сверху удвоенным временем, необходимым для вычисления НОД и и частного и на их НОД.
В общем случае многочлен не имеет квадратного корня многочлена . Точнее, большинство многочленов не могут быть записаны как квадрат другого многочлена.
Многочлен имеет квадратный корень тогда и только тогда, когда все показатели степени разложения без квадратов четные. В этом случае квадратный корень получается путем деления этих показателей на 2.
Таким образом, задача определения, имеет ли многочлен квадратный корень, и его вычисления, если он существует, является частным случаем бесквадратной факторизации.