Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store Unrandomized Polynomials #265

Open
aszepieniec opened this issue Apr 19, 2024 · 0 comments
Open

Store Unrandomized Polynomials #265

aszepieniec opened this issue Apr 19, 2024 · 0 comments
Labels
🟡 prio: medium Not super urgent ⏩ speedup Makes stuff go faster.

Comments

@aszepieniec
Copy link
Collaborator

Here is a potential space and speed improvement: do not store the randomized trace polynomials but store the unrandomized trace polynomials instead.

For starters, this gives faster interpolation. The domain size is half.

To randomize the polynomial in monomial-coefficient form, select a vector of k uniformly random field elements, and add this vector to the vector of coefficients in slices [0:k] and [N:N+k]. This corresponds to adding a multiple of $X^N+1$ where the cofactor consists of k uniformly random coefficients. By construction, this term disappears on the trace domain (whose length is N.)

The next step is to not even bother storing the k randomizer coefficients for every column -- instead, derive them pseudorandomly from a random seed and the column index. You only need the full polynomial when low-degree extending; afterwards the k randomizer coefficients can be thrown away again to save space.

@jan-ferdinand jan-ferdinand added 🟡 prio: medium Not super urgent ⏩ speedup Makes stuff go faster. labels Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🟡 prio: medium Not super urgent ⏩ speedup Makes stuff go faster.
Projects
None yet
Development

No branches or pull requests

2 participants