Christopher J Peikert writes:
> Can you elaborate?
Certainly. The aforementioned 2001 survey includes a description of the
radix-2 FFT trick as
remainder arithmetic modulo x^n-b and x^n+b in R[x], i.e., mapping
R[x]/(x^{2n}-b^2) \to (R[x]/(x^n-b)) \times (R[x]/(x^n+b))
and a description of the FFT (including a size-4 example) as
the FFT trick applied recursively from x^{2^k}-1 all the way down to
linear polynomials.
More generally, the survey mentions "radix-3 and higher-radix versions
of the FFT", in particular spelling out the "radix-3 FFT trick" as
remainder arithmetic modulo x^n-b, x^n-\omega b, and x^n-\omega^2 b,
where 1+\omega+\omega^2=0.
After hearing that the (radix-2) FFT is the (radix-2) FFT trick applied
recursively, the reader is expected to be able to figure out that the
"radix-3 FFT" mentioned later is the radix-3 FFT trick applied
recursively. Here's a size-9 example of a radix-3 FFT with b^3 = omega:
* factor y^9-1 into y^3-1, y^3-omega, y^3-omega^2;
* factor y^3-1 into y-1, y-omega, y-omega^2;
* factor y^3-omega into y-b, y-b omega, y-b omega^2;
* factor y^3-omega^2 into y-b^2, y-b^2 omega, y-b^2 omega^2.
All of the examples so far have binomial moduli (y^n-constant). The
reason I pointed to the "radix-3 Schoenhage trick" paragraph of the 2001
survey is that it instead explicitly uses modulus y^2n+y^n+1 and factors
the modulus as (y^n-A)(y^n-B) where both A and B are 3rd roots of 1. For
example, starting with Phi_9 = (y^9-1)/(y^3-1) = y^6+y^3+1:
* factor y^6+y^3+1 into y^3-omega, y^3-omega^2;
* continue as above.
A note later in the survey comments on the extra cost of applying "the
radix-3 FFT to y^{3n}-1 rather than y^{2n}+y^n+1". I see no difference
in arithmetic operations between this radix-3 FFT for y^2n+y^n+1 and the
radix-3 algorithm that you credit to your 2013 paper, and I see no
difference between the savings stated in the 2001 survey and the savings
that you credit to your 2013 paper. The two-dimensional 2^e 3^f case
follows immediately from Good's trick, which dates back to the 1950s and
has been widely applied in the FFT literature.
> So the intermediate product polynomial in R[x,y]/(x^{nk}+1, y^n+1) has
> n^2 k > n(2m-2) coefficients, which is almost twice as many as each
> input polynomial has (mn).
You're getting distracted by a particular application, and ignoring the
general flexibility explained in the same section of the 2001 survey:
The idea of the techniques in this section is to extend the base ring
to contain appropriate roots of 1 for an FFT. A smaller extension
suffices if R already contains some roots of 1. ... In extreme cases
R already supports the desired FFT and no extension is necessary.
The easy extreme cases, with no need for the extension techniques, are
the only cases covered by your 2013 paper.
---Dan