Skip to content

Commit 5f50fb8

Browse files
committed
cleanup
1 parent b422f17 commit 5f50fb8

File tree

4 files changed

+16
-21
lines changed

4 files changed

+16
-21
lines changed

crates/stark-backend/src/gkr/prover.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,25 +104,22 @@ impl<F: Field> MultivariatePolyOracle<F> for GkrMultivariatePolyOracle<'_, F> {
104104
self.input_layer.n_variables() - 1
105105
}
106106

107-
fn marginalize_first(&self, claim: F) -> UnivariatePolynomial<F> {
107+
fn partial_hypercube_sum(&self, claim: F) -> UnivariatePolynomial<F> {
108108
let n_variables = self.arity();
109109
assert_ne!(n_variables, 0);
110110
let n_terms = 1 << (n_variables - 1);
111-
// Vector used to generate evaluations of `eq(x, y)` for `x` in the boolean hypercube.
112-
let y = &self.eq_evals.y;
113-
let lambda = self.lambda;
114111

115112
let (mut eval_at_0, mut eval_at_2) = match &self.input_layer {
116113
Layer::GrandProduct(col) => eval_grand_product_sum(self.eq_evals, col, n_terms),
117114
Layer::LogUpGeneric {
118115
numerators,
119116
denominators,
120-
} => eval_logup_sum(self.eq_evals, numerators, denominators, n_terms, lambda),
117+
} => eval_logup_sum(self.eq_evals, numerators, denominators, n_terms, self.lambda),
121118
};
122119

123120
eval_at_0 *= self.eq_fixed_var_correction;
124121
eval_at_2 *= self.eq_fixed_var_correction;
125-
correct_sum_as_poly_in_first_variable(eval_at_0, eval_at_2, claim, y, n_variables)
122+
correct_sum_as_poly_in_first_variable(eval_at_0, eval_at_2, claim, self.eq_evals.y, n_variables)
126123
}
127124

128125
fn fix_first_in_place(&mut self, alpha: F) {
@@ -440,12 +437,13 @@ pub fn correct_sum_as_poly_in_first_variable<F: Field>(
440437
// = 1 - y[n - k] - t(1 - 2 * y[n - k])
441438
// => t = (1 - y[n - k]) / (1 - 2 * y[n - k])
442439
// = b
443-
let b_const = (F::ONE - y[n - k]) / (F::ONE - y[n - k].double());
440+
let one_minus_y = F::ONE - y[n - k];
441+
let b_const = one_minus_y / (F::ONE - y[n - k].double());
444442

445443
// We get that `r(t) = f(t) * eq(t, y[n - k]) * a`.
446-
let r_at_0 = f_at_0 * (F::ONE - y[n - k]) * a_const;
444+
let r_at_0 = f_at_0 * one_minus_y * a_const;
447445
let r_at_1 = claim - r_at_0;
448-
let r_at_2 = f_at_2 * (F::from_canonical_u8(3) * y[n - k] - F::ONE) * a_const;
446+
let r_at_2 = f_at_2 * (y[n - k].double() - one_minus_y) * a_const;
449447

450448
// Interpolate.
451449
UnivariatePolynomial::from_points(&[

crates/stark-backend/src/interaction/gkr_log_up/prove.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -174,25 +174,22 @@ where
174174
.unwrap();
175175
let gamma_pows = gamma.powers().take(2 * max_interactions).collect_vec();
176176

177-
let (interactions_per_air_filtered, trace_view_per_air_filtered): (Vec<_>, Vec<_>) =
177+
let trace_view_per_air_filtered =
178178
interactions_per_air
179179
.iter()
180180
.zip(trace_view_per_air.iter())
181181
.filter_map(|(interactions, view)| {
182182
if interactions.is_empty() {
183183
None
184184
} else {
185-
Some((interactions, view))
185+
Some(view)
186186
}
187-
})
188-
.unzip();
187+
}).collect_vec();
189188

190-
let results: Vec<_> = interactions_per_air_filtered
191-
.par_iter()
192-
.zip(trace_view_per_air_filtered.par_iter())
189+
let results: Vec<_> = trace_view_per_air_filtered.par_iter()
193190
.zip(gkr_instances.par_iter())
194191
.zip(gkr_artifact.n_variables_by_instance.par_iter())
195-
.map(|(((interactions, trace_view), gkr_instance), &n_vars)| {
192+
.map(|((trace_view, gkr_instance), &n_vars)| {
196193
let height = trace_view.partitioned_main[0].height();
197194
let log_height = log2_strict_usize(height);
198195

crates/stark-backend/src/poly/multi.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub trait MultivariatePolyOracle<F>: Send + Sync {
1616
fn arity(&self) -> usize;
1717

1818
/// Returns the sum of `g(x_1, x_2, ..., x_n)` over all `(x_2, ..., x_n)` in `{0, 1}^(n-1)` as a polynomial in `x_1`.
19-
fn marginalize_first(&self, claim: F) -> UnivariatePolynomial<F>;
19+
fn partial_hypercube_sum(&self, claim: F) -> UnivariatePolynomial<F>;
2020

2121
/// Returns the multivariate polynomial `h(x_2, ..., x_n) = g(alpha, x_2, ..., x_n)`.
2222
fn fix_first_in_place(&mut self, alpha: F);
@@ -75,7 +75,7 @@ impl<F: Field> MultivariatePolyOracle<F> for Mle<F> {
7575
self.evals.len().ilog2() as usize
7676
}
7777

78-
fn marginalize_first(&self, claim: F) -> UnivariatePolynomial<F> {
78+
fn partial_hypercube_sum(&self, claim: F) -> UnivariatePolynomial<F> {
7979
let mut y0 = F::ZERO;
8080
for i in 0..self.len() / 2 {
8181
y0 += self[i];
@@ -232,7 +232,7 @@ mod test {
232232
// (1 - x_1)(1 - x_2) + 2 (1 - x_1) x_2 + 3 x_1 (1 - x_2) + 4 x_1 x_2
233233
let mle = Mle::from_vec(evals);
234234
// (1 - x_1) + 2 (1 - x_1) + 3 x_1 + 4 x_1
235-
let poly = mle.marginalize_first(sum);
235+
let poly = mle.partial_hypercube_sum(sum);
236236

237237
assert_eq!(
238238
poly.evaluate(BabyBear::ZERO),

crates/stark-backend/src/sumcheck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ where
8080
.enumerate()
8181
.map(|(i, (multivariate_poly, &claim))| {
8282
let round_poly = if n_remaining_rounds == multivariate_poly.arity() {
83-
multivariate_poly.marginalize_first(claim)
83+
multivariate_poly.partial_hypercube_sum(claim)
8484
} else {
8585
claim.halve().into()
8686
};

0 commit comments

Comments
 (0)