FFT by Grzegorz Bancerek


Oblicza iloczyn wielomianów z użyciem FFT w pierścieniu liczb całkowitych modulo p
Wpisujemy współczynniki wielomianów A i B
Wtedy k = mink(2k > max(st A, st B)), n = 2k, m = 2n,
p = 2n+1, omega = 2, 1/m = 2m-k-1 mod p
lub
p = 22n+1, omega = 22, 1/m = 22m-k-1 mod p
lub
p = 2rn+1, omega = 2r, 1/m = 2rm-k-1 mod p
p dobrać żeby p > n*max(a0,...,an-1)*max(b0,...,bn-1)
jeśli są współczynniki ujemne, to należy p dobrać tak żeby p > 2*n*max(|a0|,...,|an-1|)*max(|b0|,...,|bn-1|) oraz w ostatecznym wyniku odjąć od współczynników > p/2 liczbę p
Maksimalny numer współczynnika:
a0= a1=
b0= b1=
k = 1, n = 2, m = 4, r = 1, p = 5, omega = 2
a0=0
b0=0
a1=0
b1=0
a2=0
b2=0
a3=0
b3=0
p = 5
om0 = 1om1 = 2om2 = 4om3 = 3
a0 = 0
b0 = 0
a1 = 0
b1 = 0
a2 = 0
b2 = 0
a3 = 0
b3 = 0
a0 = 0
b0 = 0
a1 = 0
b1 = 0
a2 = 0
b2 = 0
a3 = 0
b3 = 0
porządkowanie
w0 = 0
v0 = 0
c0 = 0
w1 = 0
v1 = 0
c1 = 0
w2 = 0
v2 = 0
c2 = 0
w3 = 0
v3 = 0
c3 = 0
c0 = 0c1 = 0c2 = 0c3 = 0
c0 = 0c1 = 0c2 = 0c3 = 0
porządkowanie: 1/m = 4
r0 = 0r1 = 0r2 = 0r3 = 0
p = 5
Grzegorz Bancerek