8.1. АНАЛОГИИ МЕЖДУ ЦЕЛЫМИ ЧИСЛАМИ И ПОЛИНОМАМИ
Наиболее очевидная аналогия между неотрицательными целыми числами и полиномами от одной переменной заключается в возможности представлять те и другие конечными степенными рядами . В случае целых чисел коэффициенты можно выбирать из множества при . В случае полиномов эти а, можно выбирать из некоторого множества коэффицентов 1), считая х переменной.
Существует естественная мера "размера" — это по существу длина степенного ряда, представляющего целое число или полином. В случае двоичного целого числа размером служит число битов, необходимых для его представления; в случае полинома размер — это число его коэффициентов. Таким образом, мы приходим к следующему определению.
Определение. Если неотрицательное целое число, то Если полином, то где степень полинома т.е. наибольшая степень переменной х с ненулевым коэффициентом.
Над целыми числами и полиномами можно выполнять приближенное деление. Если два целых числа и то найдется единственная пара целых чисел для которых
где соответственно частное и остаток от деления а на
Аналогично, если полиномы, причем отличен от постоянной, то можно найти такие полиномы что
Другая аналогия между целыми числами и полиномами — существование для тех и других удивительно быстрых алгоритмов умножения. В предыдущей главе мы показали, что два полинома степени с вещественными коэффициентами можно перемножить с помощью БПФ за время Здесь разумно измерять сложность числом арифметических операций, поскольку на практике мы представили бы полиномы их коэффициентами с фиксированной точностью и оперировали бы с полиномами, выполняя арифметические операции над такими коэффициентами.
Алгоритмом Шёнхаге — Штрассена из разд. 7.5 можно умножить два -разрядных двоичных целых числа за время Мы утверждаем, что в случае целых чисел интересны лишь битовые операции. Фактически только в двух ситуациях не стоит рассматривать умножение целых чисел как основную (первичную) операцию. Это прежде всего разработка аппаратной реализации умножения, где число битовых операций соответствует числу элементов, необходимых для схемы умножения, и кроме того, разработка алгоритмов любой точности для операций с фиксированной запятой, реализуемых на вычислительных машинах со словами фиксированной длины, где число битовых операций соответствует числу машинных команд, необходимых для умножения с точностью до разрядов.
Таким образом, результаты арифметических операций над полиномами и целыми числами окажутся очень похожими, если пользоваться двумя различными мерами сложности (арифметической и битовой). Эти две меры аналогичны в том смысле, что битовые операции — это операции над коэффициентами степенных рядов, представляющих целые числа, а арифметические — это операции над коэффициентами полиномов.