<< Chapter < Page | Chapter >> Page > |
Theorem 1 [link] Given two polynomials, $x\left(s\right)$ and $h\left(s\right)$ , of degree $N$ and $M$ respectively, each with indeterminate coefficients that are elements of a field $H$ , $N+M+1$ multiplications are necessary to compute the coefficients of the product polynomial $x\left(s\right)h\left(s\right)$ . Multiplication by elements of the field $G$ (the field of constants), which is contained in $H$ , are not counted and $G$ contains at least $N+M$ distinct elements.
The upper bound in this theorem can be realized by choosing an arbitrary modulus polynomial $P\left(s\right)$ of degree $N+M+1$ composed of $N+M+1$ distinct linear polynomial factors with coefficients in $G$ which, since its degree is greater than the product $x\left(s\right)h\left(s\right)$ , has no effect on the product, and by reducing $x\left(s\right)$ and $h\left(s\right)$ to $N+M+1$ residues modulo the $N+M+1$ factors of $P(s$ ). These residues are multiplied by each other, requiring $N+M+1$ multiplications, and the results recombined using the Chinese remainder theorem (CRT). The operations required in thereduction and recombination are not counted, while the residue multiplications are. Since the modulus $P\left(s\right)$ is arbitrary, its factors are chosen to be simple so as to make the reduction and CRTsimple. Factors of zero, plus and minus unity, and infinity are the simplest. Plus and minus two and other factors complicate the actualcalculations considerably, but the theorem does not take that into account. This algorithm is a form of the Toom-Cook algorithm and ofLagrange interpolation [link] , [link] , [link] , [link] . For our applications, $H$ is the field of reals and $G$ the field of rationals.
Theorem 2 [link] If an algorithm exists which computes $x\left(s\right)h\left(s\right)$ in $N+M+1$ multiplications, all but one of its multiplication steps must necessarily be of the form
where ${g}_{k}$ are distinct elements of $G$ ; and ${g}_{k}^{\text{'}}$ and ${g}_{k}"$ are arbitrary elements of $G$
This theorem states that the structure of an optimal algorithm is essentially unique although the factors of $P\left(s\right)$ may be chosen arbitrarily.
Theorem 3 [link] Let $P(s$ ) be a polynomial of degree $N$ and be of the form $P\left(s\right)=Q\left(s\right)k$ , where $Q\left(s\right)$ is an irreducible polynomial with coefficients in $G$ and $k$ is a positive integer. Let $x\left(s\right)$ and $h(s$ ) be two polynomials of degree at least $N-1$ with coefficients from $H$ , then $2N-1$ multiplications are required to compute the product $x\left(s\right)h\left(s\right)$ modulo $P\left(s\right)$ .
This theorem is similar to Theorem 1 with the operations of the reduction of the product modulo $P(s$ ) not being counted.
Theorem 4 [link] Any algorithm that computes the product $x\left(s\right)h(s$ ) modulo $P(s$ ) according to the conditions stated in Theorem 3 and requires $2N-1$ multiplications will necessarily be of one of three structures, each of whichhas the form of Theorem 2 internally.
As in Theorem 2 , this theorem states that only a limited number of possible structures exist foroptimal algorithms.
Theorem 5 [link] If the modulus polynomial $P\left(s\right)$ has degree $N$ and is not irreducible, it can be written in aunique factored form $P\left(s\right)={P}_{1}^{{m}_{1}}\left(s\right){P}_{2}^{{m}_{2}}\left(s\right)...{P}_{k}^{{m}_{k}}\left(s\right)$ where each of the ${P}_{i}\left(s\right)$ are irreducible over the allowed coefficient field $G$ . $2N-k$ multiplications are necessary to compute the product $x\left(s\right)h\left(s\right)$ modulo $P\left(s\right)$ where $x\left(s\right)$ and $h\left(s\right)$ have coefficients in $H$ and are of degree at least $N-1$ . All algorithms that calculate this product in $2N-k$ multiplications must be of a form where each of the $k$ residue polynomials of $x\left(s\right)$ and $h\left(s\right)$ are separately multiplied modulo the factors of $P\left(s\right)$ via the CRT.
Notification Switch
Would you like to follow the 'Fast fourier transforms' conversation and receive update notifications?