Теорема о свертке дает вам
F(C) = F(A) . F(B)
, где F
- преобразование Фурье, в данном случае преобразование Адамара, а .
- точечное умножение.,Используя быстрое преобразование Уолша-Адамара , вы можете вычислить F(A)
, F(B)
и, наконец, C
(используя обратное) в операциях O(n log n)
.Точечное умножение просто O(n)
.