I read your arxiv paper yesterday (or was it the day before).
Do you think this can be used to speed up the algebraic method for k-path?
If so, you should enter next years PACE challenge.
IsTom
Pretty cool, especially in finite fields. Though coefficients seem to blow up pretty quick in Q?
show comments
pvillano
This is super cool. I learned a lot playing with the demo. I only knew Horner and Estrin, but I think I've gotten a grasp on most of them.
One small change I'd recommend is for the graph visualization, have a separate source node for each x, x^2, x^4 used. A single x source clutters the graph and hides the structure.
show comments
throwaway81523
If you're going to preprocess the polynomial, maybe you want to evaluate it at many different points. But then why not use the FFT?
show comments
voxelghost
It keeps flipping back to 'monic' from e.g. 'ln(1+x)' when switching between algorithms, and then seems to lock to 'monic'? (Am I missing something?)
Also I am curious, in your version vs. horner , how do both algorithms map onto number of fmadd operations?
show comments
vlovich123
Would this be applicable to fast hashes like WyHash and xxh3 or are those not using polynomials? Is this mainly for faster cryptographic hashes?
I guess it’s not faster than using a table for CRC8?
show comments
gowld
From the abstract, a name that many on HN would recognize:
> We also give an injective polynomial construction for universal hashing that uses N multiplications to hash 2N values with a single random key. This improves the best previous construction by Daniel J. Bernstein (this http URL).
show comments
gowld
What is the tradeoff between multiplication and addition?
I read your arxiv paper yesterday (or was it the day before).
Do you think this can be used to speed up the algebraic method for k-path?
If so, you should enter next years PACE challenge.
Pretty cool, especially in finite fields. Though coefficients seem to blow up pretty quick in Q?
This is super cool. I learned a lot playing with the demo. I only knew Horner and Estrin, but I think I've gotten a grasp on most of them.
One small change I'd recommend is for the graph visualization, have a separate source node for each x, x^2, x^4 used. A single x source clutters the graph and hides the structure.
If you're going to preprocess the polynomial, maybe you want to evaluate it at many different points. But then why not use the FFT?
It keeps flipping back to 'monic' from e.g. 'ln(1+x)' when switching between algorithms, and then seems to lock to 'monic'? (Am I missing something?)
Also I am curious, in your version vs. horner , how do both algorithms map onto number of fmadd operations?
Would this be applicable to fast hashes like WyHash and xxh3 or are those not using polynomials? Is this mainly for faster cryptographic hashes?
See also discussions here https://www.reddit.com/r/programming/comments/1wbgcke/commen... on how the actual math works out.
I guess it’s not faster than using a table for CRC8?
From the abstract, a name that many on HN would recognize:
> We also give an injective polynomial construction for universal hashing that uses N multiplications to hash 2N values with a single random key. This improves the best previous construction by Daniel J. Bernstein (this http URL).
What is the tradeoff between multiplication and addition?