RSS jeremykun | Математика ∩ Программирование

Многочленное умножение с помощью БПФ

"Проблема: Эффективно вычислить произведение двух многочленов. Решение: import numpy from numpy.fft import fft, ifft def poly_mul(p1, p2): """Умножение двух многочленов. p1 и p2 - массивы коэффициентов в порядке возрастания степени.""" deg1 = p1.shape[0] - 1 deg2 = p1.shape[0] - 1 # Было бы 2*(deg1 + deg2) + 1, но следующий степень двойки обрабатывает +1 total_num_pts = 2 * (deg1 + deg2) next_power_of_2 = 1 << (total_num_pts - 1).bit_length()
favicon
jeremykun.com
Polynomial Multiplication Using the FFT
Create attached notes ...