Hacker News new | ask | show | jobs
by weber111 3143 days ago
I'm a little confused by

Let C(x) be a constraint checking polynomial; C(x) = 0 if 0 <= x <= 9 and is nonzero otherwise. There’s a simple way to construct C(x): x * (x-1) * (x-2) * ... * (x-9)

This is only true if x is an integer in that range, right? But the polynomial he's transforming by applying C to it doesn't have a discrete range

2 comments

I think the polynomial is supposed to have only integer coefficients, which means that it will only take integer values at integer coordinates. Since real-valued coefficients need some rational approximation anyway, and rational coefficients can be rescaled, that assumption is easy to justify. (Alternatively, the coefficients might be in some finite field, but then the range is discrete as well.)
Makes sense - thanks! I was confused by the continuous plot.
in practice these polynomials won't be over integers or rationals, they will be over finite fields.

https://www.youtube.com/watch?v=x1v2tX4_dkQ

they're also used extensively in reed-solomon coding.