Compute contribution of the goblin translator permutation relation for a given edge (internal function)
There are 2 relations associated with enforcing the set permutation relation This file handles the relation that confirms faithful calculation of the grand product polynomial Z_perm.
C(in(X)...) = ( z_perm(X) + lagrange_first(X) )*P(X)
- ( z_perm_shift(X) + lagrange_last(X))*Q(X), where P(X) = Prod_{i=0:4} numerator_polynomial_i(X) + γ Q(X) = Prod_{i=0:4} ordered_range_constraint_i(X) + γ the first 4 numerator polynomials are interleaved range constraint polynomials and the last one is the constant extra numerator
If operating in zero-knowledge, we mark the positions (via the lagrange_masking polynomial) that should contain masking values, expected to be at the same indices both for the ordered and interleaved polynomials.
- Parameters
-
evals | transformed to evals + C(in(X)...)*scaling_factor |
in | an std::array containing the fully extended Univariate edges. |
parameters | contains beta, gamma, and public_input_delta, .... |
scaling_factor | optional term to scale the evaluation before adding to evals. |
There are 2 relations associated with enforcing the set permutation relation This file handles the relation that confirms faithful calculation of the grand product polynomial Z_perm.
C(in(X)...) = ( z_perm(X) + lagrange_first(X) )*P(X)
- ( z_perm_shift(X) + lagrange_last(X))*Q(X), where P(X) = Prod_{i=0:4} numerator_polynomial_i(X) + γ Q(X) = Prod_{i=0:4} ordered_range_constraint_i(X) + γ the first 4 numerator polynomials are interleaved range constraint polynomials and the last one is the constant extra numerator
If operating in zero-knowledge, we mark the positions (via the lagrange_masking polynomial) that contain random values.
- Parameters
-
evals | transformed to evals + C(in(X)...)*scaling_factor |
in | an std::array containing the fully extended Univariate edges. |
parameters | contains beta, gamma, and public_input_delta, .... |
scaling_factor | optional term to scale the evaluation before adding to evals. |
Definition at line 37 of file translator_permutation_relation_impl.hpp.