<< Chapter < Page | Chapter >> Page > |
The Winograd Structure can be described in this manner also. Suppose can be factored as where and have no common roots, then where denotes the matrix direct sum. Using this similarity and recalling [link] , the original convolution is decomposed intodisjoint convolutions. This is, in fact, a statement of the Chinese Remainder Theoremfor polynomials expressed in matrix notation. In the case of circular convolution, , so that can be transformed to a block diagonal matrix,
where is the cyclotomic polynomial. In this case, each block represents a convolutionwith respect to a cyclotomic polynomial, or a `cyclotomic convolution'.Winograd's approach carries out these cyclotomic convolutions using the Toom-Cook algorithm.Note that for each divisor, , of there is a corresponding block on the diagonal of size , for the degree of is where is the Euler totient function. This method is good for short lengths, butas increases the cyclotomic convolutions become cumbersome,for as the number of distinct prime divisors of increases, the operation described by becomes more difficult to implement.
The Agarwal-Cooley Algorithm utilizes the fact that
where , and is an appropriate permutation [link] . This converts the one dimensional circular convolutionof length to a two dimensional one of length along one dimension and length along the second.Then an -point and an -point circular convolution algorithm can be combined to obtain an -point algorithm. In polynomial notation, the mapping accomplished bythis permutation can be informally indicated by
It should be noted that [link] implies that a circulant matrix of size can be written as a block circulant matrix with circulantblocks.
The Split-Nesting algorithm [link] combines the structures of the Winograd and Agarwal-Cooley methods, so that is transformed to a block diagonalmatrix as in [link] ,
Here where is the highest power of dividing , and is the set of primes.
In this structure a multidimensional cyclotomic convolution, represented by , replaces each cyclotomic convolution in Winograd's algorithm (represented by in [link] . Indeed, if the product of is and they are pairwise relatively prime, then . This gives a method for combining cyclotomic convolutionsto compute a longer circular convolution. It is like the Agarwal-Cooley method but requires feweradditions [link] .
One can obtain from when , for in this case, is similar to , . Moreover, they are related by a permutation.This permutation is that of the prime factor FFT algorithms and is employed in nesting algorithmsfor circular convolution [link] , [link] . The permutation is described by Zalcstein [link] , among others, and it is his description we draw on in the following.
Let where . Define , ( ), to be the standard basis vector, , where the 1 is in the position. Then, the circular shift matrix, , can be described by
Notification Switch
Would you like to follow the 'Automatic generation of prime length fft programs' conversation and receive update notifications?