Skip to main content

evals_at_domain_index

Function evals_at_domain_index 

Source
pub fn evals_at_domain_index<F, DC>(domain_context: &DC, index: usize) -> Vec<F>
where F: BinaryField, DC: DomainContext<Field = F>,
Expand description

Evaluates every $\hat{W}_k$ at the domain element index selects, in increasing $k$.

Bit i of index selects whether $\beta_i$ is XORed into the point. That matches BinarySubspace::get.

Each $\hat{W}_k$ is $\mathbb{F}2$-linear and vanishes on $\beta_0$ through $\beta{k-1}$. Its value is therefore a subset sum over row $k$ of the domain context’s table. That table is domain_context.subspace(l - k), and the subset sum is its get. So this route needs no precomputation of its own.

This is the route a verifier takes for a sampled query index. Summing constants costs a recursive circuit what the FRI fold already pays for its twiddles.

§Panics

Panics if index is at least 2^log_domain_size.