Expand description
Nodes that implement LogUp.
Structs§
- Lookup
Constraint - Represents the use of a lookup into a particular table (represented by a LookupTable).
- Lookup
Table - Represents a table of data that can be looked up into, e.g. for a range check.
Implements “Improving logarithmic derivative lookups using GKR” (2023) by Papini & Haböck. Note
that (as is usual e.g. in permutation checks) we do not check that the product of the
denominators is nonzero. This means the soundness of logUp is bounded by
|F| / max{num_constrained_values, num_table_values}. To adapt this to a small field setting, consider using Fermat’s Little Theorem.
Functions§
- build_
fractional_ 🔒sum - Given two MLEs of the same length representing the numerators and denominators of a sequence of fractions, add layers that perform a sum of the fractions, return a new pair of length-1 MLEs representing the numerator and denominator of the sum.
- extract_
prefix_ 🔒num_ free_ bits - Extract the prefix bits from a DenseMle.
- split_
circuit_ 🔒mle - Split an MLE into two MLEs, with the left half containing the even-indexed elements and the right half containing the odd-indexed elements, setting the prefix bits accordingly.