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

feat: log-derivative vector lookups #620

Merged
merged 5 commits into from Apr 18, 2023
Merged

feat: log-derivative vector lookups #620

merged 5 commits into from Apr 18, 2023

Conversation

ivokub
Copy link
Collaborator

@ivokub ivokub commented Apr 5, 2023

This is an alternative and more efficient way for performing lookups from a vector using variable query values.

The idea is similar as in range-check by using a log-derivative argument. However, instead of checking that a multiset is contained in a set, we want to check that a table row is included in another table. For that, we construct a random linear combination of the table row elements and use it in the log-derivative argument.

I also added some wrappers which allows to re-use the same primitive easily in different contexts. I also have WIP for function precomputation in context of snark-unfriendly functions (sha2, blake etc.) where this is useful.

@ivokub ivokub added this to the v0.9.0 milestone Apr 5, 2023
@ivokub ivokub self-assigned this Apr 5, 2023
@ivokub ivokub merged commit f83323b into develop Apr 18, 2023
5 checks passed
@ivokub ivokub deleted the feat/logderivlookups branch April 18, 2023 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants