Winograd small convolution algorithm
A general strategy for computing linear and cyclic convolutions by applying the polynomial version of the Chinese remainder theorem [a1]. For polynomials and of degree and , respectively, the linear convolution
has degree , where . For any polynomial of degree , the linear convolution can be computed by computing the product modulo , i.e.,
The Chinese remainder theorem permits this computation to be localized. Choose a factorization
into relatively prime factors. The Winograd small convolution algorithm proceeds by first computing the reduced polynomials
followed by the local computations
and is completed by combining these local computations using the formula
where
is a complete system of idempotents corresponding to the initial factorization of .
S. Winograd [a2] expanded on this general strategy by developing bilinear algorithms for computing the product of polynomials modulo a polynomial. Within this general strategy, these bilinear algorithms permit one to use small efficient algorithms as building blocks for larger-size algorithms [a3].
References
[a1] | A. Borodin, I. Munro, "Computational complexity and algebraic and numeric problems" , Amer. Elsevier (1975) |
[a2] | S. Winograd, "Some bilinear forms whose multiplicative complexity depends on the field of constants" Math. Systems Th. , 10 (1977) pp. 169–180 |
[a3] | R.C. Agarwal, J.W. Cooley, "New algorithms for digital convolution" IEEE Trans. Acoustics, Speech and Signal Processing , 25 (1977) pp. 392–410 |
Winograd small convolution algorithm. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Winograd_small_convolution_algorithm&oldid=49228