|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Native flavor for multilinear batching sumcheck with NumClaims polynomials. More...
#include <multilinear_batching_flavor.hpp>
Classes | |
| class | AllEntities |
| Define a bespoke AllEntities holding all the values: [unshifted values, shifted values, eq values]. More... | |
| class | AllValues |
| class | PartiallyEvaluatedMultivariates |
| class | ProverPolynomials |
| class | ProvingKey |
| The proving key for multilinear batching sumcheck. More... | |
Public Types | |
| using | Curve = curve::BN254 |
| using | FF = Curve::ScalarField |
| using | GroupElement = Curve::Element |
| using | Commitment = Curve::AffineElement |
| using | PCS = KZG< Curve > |
| using | Polynomial = bb::Polynomial< FF > |
| using | CommitmentKey = bb::CommitmentKey< Curve > |
| using | VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve > |
| using | Transcript = NativeTranscript |
| using | Codec = FrCodec |
| template<typename FF_ > | |
| using | Relations_ = std::tuple< bb::MultilinearBatchingRelation< FF_, NUM_CLAIMS > > |
| using | Relations = Relations_< FF > |
| using | SubrelationSeparator = FF |
| using | ProverClaim = MultilinearBatchingProverClaim |
| template<size_t LENGTH> | |
| using | ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > > |
| using | ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH > |
Static Public Member Functions | |
| template<typename PartiallyEvaluatedPolynomials > | |
| static void | extend_eq_polynomials_for_virtual_round (PartiallyEvaluatedPolynomials &partially_evaluated_polynomials, const std::vector< FF > &multivariate_challenge, const size_t round_idx) |
| Given the eq polynomial at (u_1, .., u_N, 0, .., 0) compute its value at (u_1, .., u_N, 1, 0, .., 0) for use in the virtual rounds. | |
Static Public Attributes | |
| static constexpr size_t | NUM_CLAIMS = NumClaims |
| static constexpr size_t | VIRTUAL_LOG_N = CONST_FOLDING_LOG_N |
| static constexpr bool | USE_SHORT_MONOMIALS = false |
| static constexpr bool | HasZK = false |
| static constexpr size_t | TRACE_OFFSET = 0 |
| static constexpr bool | USE_PADDING = true |
| static constexpr size_t | NUM_ALL_ENTITIES = 3 * NUM_CLAIMS |
| static constexpr size_t | MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>() |
| static constexpr size_t | BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH |
| static constexpr size_t | NUM_RELATIONS = std::tuple_size_v<Relations> |
| static constexpr size_t | NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>() |
Native flavor for multilinear batching sumcheck with NumClaims polynomials.
Definition at line 30 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Codec = FrCodec |
Definition at line 41 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Commitment = Curve::AffineElement |
Definition at line 35 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::CommitmentKey = bb::CommitmentKey<Curve> |
Definition at line 38 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Curve = curve::BN254 |
Definition at line 32 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::ExtendedEdges = ProverUnivariates<MAX_PARTIAL_RELATION_LENGTH> |
Definition at line 193 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::FF = Curve::ScalarField |
Definition at line 33 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::GroupElement = Curve::Element |
Definition at line 34 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::PCS = KZG<Curve> |
Definition at line 36 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Polynomial = bb::Polynomial<FF> |
Definition at line 37 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::ProverClaim = MultilinearBatchingProverClaim |
Definition at line 146 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::ProverUnivariates = AllEntities<bb::Univariate<FF, LENGTH> > |
Definition at line 192 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Relations = Relations_<FF> |
Definition at line 59 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Relations_ = std::tuple<bb::MultilinearBatchingRelation<FF_, NUM_CLAIMS> > |
Definition at line 58 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::SubrelationSeparator = FF |
Definition at line 67 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::Transcript = NativeTranscript |
Definition at line 40 of file multilinear_batching_flavor.hpp.
| using bb::MultilinearBatchingFlavor_< NumClaims >::VerifierCommitmentKey = bb::VerifierCommitmentKey<Curve> |
Definition at line 39 of file multilinear_batching_flavor.hpp.
|
inlinestatic |
Given the eq polynomial at (u_1, .., u_N, 0, .., 0) compute its value at (u_1, .., u_N, 1, 0, .., 0) for use in the virtual rounds.
Witness polynomials of length N < VIRTUAL_LOG_N are extended by zero via multiplication by \prod_{i = N + 1}^{VIRTUAL_LOG_N} (1 - X_i). In this way, we run sumcheck on a fixed number of VIRTUAL_LOG_N rounds. For eq polynomials, this extension is not correct. Eq polynomials eq(X, Y) are defined as \prod_{i = 1}^{VIRTUAL_LOG_N} ((1 - X_i) (1 - Y_i) + X_i Y_i) so their extensions at a new edge require their true value at 0 and 1
Definition at line 207 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 64 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 49 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 61 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 56 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 44 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 65 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 66 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 50 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 53 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 48 of file multilinear_batching_flavor.hpp.
|
staticconstexpr |
Definition at line 47 of file multilinear_batching_flavor.hpp.