10.12.2012 Views

Prime Numbers

Prime Numbers

Prime Numbers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

504 Chapter 9 FAST ALGORITHMS FOR LARGE-INTEGER ARITHMETIC<br />

This recursion formula for cyclic convolution can be proved via polynomial<br />

algebra (see Exercise 9.42). The recursion relation together with some astute<br />

algebraic observations led [Nussbaumer 1981] to an efficient convolution<br />

scheme devoid of floating-point transforms. The algorithm is thus devoid of<br />

rounding-error problems, and often, therefore, is the method of choice for<br />

rigorous machine proofs involving large-integer arithmetic.<br />

Looking longingly at the previous recursion, it is clear that if only we<br />

had a fast negacyclic algorithm, then a cyclic convolution could be done<br />

directly, much like that which an FFT performs via decimation of signal<br />

lengths. To this end, let R denote a ring in which 2 is cancelable; i.e., x = y<br />

whenever 2x =2y. (It is intriguing that this is all that is required to “ignite”<br />

Nussbaumer convolution.) Assume a length D =2 k for negacyclic convolution,<br />

and that D factors as D = mr, withm|r. Now, negacyclic convolution is<br />

equivalent to polynomial multiplication (mod t D + 1) (see Exercises), and as<br />

an operation can in a certain sense be “factored” as specified in the following:<br />

Theorem 9.5.24 (Nussbaumer). Let D =2 k = mr, m|r. Then negacyclic<br />

convolution of length-D signals whose elements belong to a ring R is<br />

equivalent, in the sense that polynomial coefficients correspond to signal<br />

elements, to multiplication in the polynomial ring<br />

S = R[t]/ t D +1 .<br />

Furthermore, this ring is isomorphic to<br />

where T is the polynomial ring<br />

T [t]/ (z − t m ) ,<br />

T = R[z]/ (z r +1).<br />

Finally, z r/m is an m-th root of −1 in T .<br />

Nussbaumer’s idea is to use the root of −1 in a manner reminiscent of our<br />

DWT, to perform a negacyclic convolution.<br />

Let us exhibit explicit polynomial manipulations to clarify the import of<br />

Theorem 9.5.24. Let<br />

x(t) =x0 + x1t + ···+ xD−1t D−1 ,<br />

and similarly for signal y, withthexj,yj in R. Note that x ×− y is equivalent<br />

to multiplication x(t)y(t) in the ring S. Now decompose<br />

x(t) =<br />

m−1 <br />

j=0<br />

Xj(t m )t j ,<br />

and similarly for y(t), and interpret each of the polynomials Xj,Yj as an<br />

element of ring T ;thus<br />

Xj(z) =xj + xj+mz + ···+ x j+m(r−1)z r−1 ,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!