On Jan 3, 9:03 am, Bill Hart <goodwillh...@googlemail.com> wrote:

> I figured I probably did misunderstand. What I think they are trying
> to get at is that one can use coefficients modulo 2^N+1 except at
> certain levels because the roots of unity are actually the same. But
> then the discussion becomes one of combining a Fermat and Mersenne
> transform, which is the basic strategy that the implementation uses. I
> got confused. I still am.

I think they are saying that to multiply two integers whose product
has N bits, choose a and b (as in Lemma 1 of their paper) such that a
+ b ~ N and then multiply modulo 2^a - 1 (use Mersenne transform) and
modulo 2^b + 1 (use Fermat transform). The smoothness comes from the
freedom to choose a and b.

> Sorry to be obtuse, but I am still confused.
>
> What is modulo 2^N - 1, the coefficients of the FFT? Or are we
> multiplying large integers modulo 2^N - 1.

The latter. The former doesn't work as far as I know.

> Yes. It's an old idea. Jason Moxham implemented it many years ago, and
> I think this was one of the things he actually posted to the GMP list
> a few years before we started on FLINT. Dan Bernstein seemed to think
> the idea went back much further.

OK.

david

--

You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.


Reply via email to