[CST-2] Advanced Algorithms - Big number arithmetic
jarvis_dan
jarvis_dan@hotmail.com
Mon, 3 Jun 2002 16:56:12 +0100
I was looking through my lecture notes for the big-number arithmetic
section, and I think I can follow as far as converting between
coefficient and point value representations of polynomials via the DFT.
But then my notes say the following after introducing the FFT:
let w=2
choose modulus M such that w^n = 1 (mod M)
but no value k can have w^k = 1 (mod M) for k<n
let w^(n/2) = -1 (mod M)
Try M = 2^(n/2) + 1
_________________
|___|___|___|___| bits ~ n^2/8
total number of bits here is n/2
each section has size n/4
So _________________
b |___|___|___|___|
total number of bits here is sqrt(b)
each section has size sqrt(b)
sqrt(b) easy
/ /
sqrt(b)*log(sqrt(b)) (+, *, 2^k) mod M
/
sqrt(b)
...more stuff involving modulus = 2^z + 1
...then the conclusion that M(b) = sqrt(b)*M(sqrt(b)) + blog(b)
Can anybody reply and add some comments to make it make some sense (erm,
e.g. where does b come from), is this supposed to be the final step of
implementing the FFT, if so, what does it mean?
Ta
Dan