Circuits for the arithmetic of Reed–Muller decoding #
The decoders Cslib.Code.lineListDecode and the self-correction by interpolation and majority
trees query an oracle at computed points and combine the answers arithmetically. This module
counts the arithmetic over the full binary basis of the field, where every operation on at most
two field elements is one gate; the oracle queries are accounted for separately.
- The first nonzero entry of a vector of
mavailable entries costs4 * m + 2gates (Cslib.Circuits.Synthesis.full_firstNonzero). - The points
x + t • v, for allt ∈ F, of the line throughxand a fixed pointzparametrized as inCslib.Code.lineListDecode, together with the hint position, cost(q + 5) * m + 2gates (Cslib.Circuits.Synthesis.full_linePoints). - A combination with fixed weights of
Navailable values costs2 * N + 1gates (Cslib.Circuits.Synthesis.full_weightedSum). - A majority tree over
3 ^ Lavailable values costs at most2 * 3 ^ L - 2gates (Cslib.Circuits.Synthesis.full_majTree): four gates for each majority of three, computed asc + [a = b] * (a - c).
Main results #
Cslib.Circuits.Synthesis.full_firstNonzero,Cslib.Circuits.Synthesis.full_linePoints,Cslib.Circuits.Synthesis.full_weightedSum,Cslib.Circuits.Synthesis.full_majTree.
References #
- [M. Sudan, L. Trevisan, S. Vadhan, Pseudorandom generators without the XOR lemma] [STV01]
The first nonzero entry of a vector of m available functions costs 4 * m + 2 gates.
The points of a line by a circuit. Given the coordinates of x as available functions
and a fixed point z, the hint position firstNonzero (z - x) and the coordinates of all points
x + t • (firstNonzero (z - x))⁻¹ • (z - x), t ∈ F, of the line through x and z cost
(q + 5) * m + 2 gates of the full binary basis.
A combination with fixed weights of N' available functions costs 2 * N' + 1 gates.
A majority tree by a circuit. A majority tree over 3 ^ L available functions costs at
most 2 * 3 ^ L - 2 gates of the full binary basis.