Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::MultilinearBatchingRelationImpl< FF_, NumClaims > Class Template Reference

Relation for the multilinear batching sumcheck. More...

#include <multilinear_batching_relation.hpp>

Public Types

using FF = FF_
 

Static Public Member Functions

template<typename AllEntities >
static bool skip (const AllEntities &in)
 
template<typename ContainerOverSubrelations , typename AllEntities >
static void accumulate (ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &relation_parameters={}, const FF &scaling_factor={})
 

Static Public Attributes

static constexpr std::array< size_t, 2 > SUBRELATION_PARTIAL_LENGTHS
 
static constexpr std::array< bool, 2 > SUBRELATION_LINEARLY_INDEPENDENT = { false, false }
 

Detailed Description

template<typename FF_, size_t NumClaims>
class bb::MultilinearBatchingRelationImpl< FF_, NumClaims >

Relation for the multilinear batching sumcheck.

The prover supplies exactly NumClaims accumulator claims. The powers of the batching challenge γ enter as public coefficients (relation_parameters.multilinear_batching_challenges, with the i-th polynomial weighted by γ^i), so the sumcheck proves

Σ_i γ^i · P_i(r_i) = Σ_x Σ_i γ^i · P_i(x) · eq(x, r_i) Σ_i γ^i · P_i_shift(r_i) = Σ_x Σ_i γ^i · P_i_shift(x) · eq(x, r_i)

and the sumcheck verifier batches the two identities with its standard alpha separator.

Definition at line 25 of file multilinear_batching_relation.hpp.

Member Typedef Documentation

◆ FF

template<typename FF_ , size_t NumClaims>
using bb::MultilinearBatchingRelationImpl< FF_, NumClaims >::FF = FF_

Definition at line 27 of file multilinear_batching_relation.hpp.

Member Function Documentation

◆ accumulate()

template<typename FF_ , size_t NumClaims>
template<typename ContainerOverSubrelations , typename AllEntities >
static void bb::MultilinearBatchingRelationImpl< FF_, NumClaims >::accumulate ( ContainerOverSubrelations &  evals,
const AllEntities in,
const RelationParameters< FF > &  relation_parameters = {},
const FF scaling_factor = {} 
)
inlinestatic

Definition at line 49 of file multilinear_batching_relation.hpp.

◆ skip()

template<typename FF_ , size_t NumClaims>
template<typename AllEntities >
static bool bb::MultilinearBatchingRelationImpl< FF_, NumClaims >::skip ( const AllEntities in)
inlinestatic

Definition at line 36 of file multilinear_batching_relation.hpp.

Member Data Documentation

◆ SUBRELATION_LINEARLY_INDEPENDENT

template<typename FF_ , size_t NumClaims>
constexpr std::array<bool, 2> bb::MultilinearBatchingRelationImpl< FF_, NumClaims >::SUBRELATION_LINEARLY_INDEPENDENT = { false, false }
staticconstexpr

Definition at line 34 of file multilinear_batching_relation.hpp.

◆ SUBRELATION_PARTIAL_LENGTHS

template<typename FF_ , size_t NumClaims>
constexpr std::array<size_t, 2> bb::MultilinearBatchingRelationImpl< FF_, NumClaims >::SUBRELATION_PARTIAL_LENGTHS
staticconstexpr
Initial value:
{
3,
3,
}

Definition at line 29 of file multilinear_batching_relation.hpp.


The documentation for this class was generated from the following file: