Каковы наиболее известные методы циклической свертки длины над небольшим полем, т.е. когда | F | « П ? Меня особенно интересуют поля постоянного размера или даже . Общие утверждения и ссылки об асимптотической эффективности высоко ценятся.
Фон: Пусть - поле, а . Мы думаем, что векторы имеют координаты, индексированные с помощью .
(Циклическая) свертка длина над является преобразование с и вывод , определяемый с индексной арифметикой над Z n .
Для выполнения циклической свертки над большими полями популярным методом является использование теоремы свертки, чтобы свести нашу проблему к выполнению дискретных преобразований Фурье (ДПФ) и использованию алгоритма БПФ.
Для небольших конечных полей ДПФ не определено, потому что нет примитивного корня из единицы. Можно обойти это, вложив ∗ задачу в большее конечное поле, но не ясно, что это лучший способ продолжить. Даже если мы пойдем по этому пути, было бы неплохо узнать, кто-то уже проработал детали (например, выбирая, какое поле большего размера использовать и какой алгоритм FFT применять).
Добавлено:
Под «вложением» нашей свертки я подразумеваю одну из двух вещей. Первый вариант: можно перейти к полю расширения, в котором соединены искомые примитивные корни единства, и выполнить там свертку.
Второй вариант: если наше начальное поле является циклическим, можно перейти к циклическому полю с большей характеристикой - достаточно большой, чтобы, если мы рассмотрим наши векторы как лежащие в F p ′ , никакого «обтекания» не произошло.
(Я неформален, но просто подумайте о том, как, для вычисления свертки над F 2 , мы можем просто сделать ту же свертку над Z , а затем взять ответы mod 2.)
Также добавлено:
Многие алгоритмы для БПФ и связанных задач особенно хорошо работают для «хороших» значений (и я хотел бы лучше понять ситуацию с этим).
Но если не пытаться воспользоваться специальными значениями , проблема циклической свертки в основном эквивалентна (посредством простых сокращений, включающих линейное раздувание по n ) обычной орбиты; это в свою очередь эквивалентно умножению многочленов с коэффициентами по F p .
По этой эквивалентности, можно использовать результаты, например, этот документ из фона цур Gathen и Gerhard (на основе работы Cantor), которые используют подход расширения поля , чтобы получить сложность схемы границы . Они не формулируют свои границы особенно четко IMO, но граница хуже, чем n ⋅ log 2 n, даже для F 2 . Можно ли сделать лучше?