Bill Allombert on Sat, 09 Jul 2022 20:42:21 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Hilbert class polynomial roots mod q


On Fri, Jul 08, 2022 at 11:25:57AM +0200, Karim Belabas wrote:
> is still slow (23 minutes on my laptop) but requires less than 2GB,
> in fact a little more than 1GB. The output size (internal binary format, not
> text) is 231MB, so this is OK.
> 
> As far as speed is concerned, I see where the bottleneck is but am not
> familiar with the code either. We're computing modulo 1681 (32-bit)
> primes, which is enough to recognize 53792 bit coefficients, even closer
> to the optimal 52360 compared to 'cm'.
> 
> The computation modulo each such prime p is "too slow", which in turn
> boils down to computing roots mod p of small degree polynomials (say T)
> and in fact just computing x^p mod T is the bottleneck (deg T ~ 5, p ~ 2^32);
> not sure why we lose a factor 10 or so there, compared to Sutherland's code.

This is the bottleneck for us, but I doubt this explain the slowdown.
What we can try is to change T so that trace(Mod(x,T)) == 0
Also see commit ef7b2b9b091bbbbf27fd232727ce598de0b5be4d

Cheers,
Bill.