<< Chapter < Page | Chapter >> Page > |
Similarly, we can write a bilinear form for cyclotomic convolution.Let be any positive integer and let and be polynomials of degree where is the Euler totient function.If , and are matrices satisfying for , then the coefficients of are given by . As above, if computes the -cyclotomic convolution, then we say “ describes a bilinear form for convolution."
But since can be found by computing the product of and and reducing the result, a cyclotomic convolution algorithmcan always be derived by following a linear convolution algorithm by the appropriate reductionoperation: If is the appropriate reduction matrix and if describes a bilinear form for a point linear convolution, then describes a bilinear form for convolution. That is, computes the coefficients of .
By using the Chinese Remainder Theorem for polynomials, circular convolution can be decomposed into disjointcyclotomic convolutions. Let be a prime and consider point circular convolution.Above we found that
and therefore
If describes a bilinear form for convolution, then
and consequently the circular convolution of and can be computed by
where , and . We say describes a bilinear form for point circular convolution. Note that if describes a point linear convolution then , and can be taken to be , and where represents the appropriate reduction operations.Specifically, is given by Equation 42 from Preliminaries .
Next we consider point circular convolution.Recall that as in Equation 27 from Preliminaries so that the circular convolution is decomposed into a set of disjoint convolutions. If describes a bilinear form for convolution and if
then describes a bilinear form for point circular convolution. In particular, if describes a bilinear form for point linear convolution, then , and can be taken to be
where represents the appropriate reduction operation and is the Euler totient function. Specifically, has the following form
if , while
Note that the matrix block diagonalizes and each diagonal block represents a cyclotomic convolution.Correspondingly, the matrices , and of the bilinear form also have a block diagonal structure.
We now describe the split-nesting algorithm for general length circular convolution [link] . Let where are distinct primes. We have seen that
where is the prime factor permutation and represents the reduction operations. For example, see Equation 46 in Preliminaries . block diagonalizes and each diagonal block represents a multi-dimensional cyclotomicconvolution. To obtain a bilinear form for a multi-dimensional convolution,we can combine bilinear forms for one-dimensional convolutions.If describes a bilinear form for convolution and if
with
where is the highest power of dividing , and is the set of primes, then describes a bilinear form for point circular convolution. That is
computes the circular convolution of and .
As above can be taken to be where describes a bilinear form for point linear convolution. This is one particular choice for - other bilinear forms for cyclotomic convolution that are not derived from linear convolution algorithms exist.
A 45 point circular convolution algorithm:
where
and where describes a bilinear form for convolution.
The matrix exchange property is a useful technique that, under certain circumstances,allows one to save computation in carrying out the action of bilinear forms [link] . Suppose
as in [link] . When is known and fixed, can be pre-computed so that can be found using only the operations represented by and and the point by point multiplications denoted by . The operation of is absorbed into the multiplicative constants.Note that in [link] , the matrix corresponding to is more complicated than is . It is therefore advantageous to absorb the workof instead of into the multiplicative constants if possible. This can be done when is the circular convolution of and by using the matrix exchange property.
To explain the matrix exchange property we draw from [link] . Note that , so that must be the corresponding circulant matrix,
Since where is the reversal matrix, one gets
As noted in [link] , the matrix exchange property can be used whenever where satisfies for some matrices and . In that case one gets .
Applying the matrix exchange property to [link] one gets
A 45 point circular convolution algorithm:
where and
and where describes a bilinear form for convolution.
Notification Switch
Would you like to follow the 'Automatic generation of prime length fft programs' conversation and receive update notifications?