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

Relation for instance contribution to 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)
 Returns true if the contribution from all subrelations for the provided inputs is identically zero.
 
template<typename ContainerOverSubrelations , typename AllEntities >
static void accumulate (ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &relation_parameters={}, const FF &scaling_factor={})
 Accumulate the instance's contribution to the batching sumcheck.
 

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_>
class bb::MultilinearBatchingInstanceRelationImpl< FF_ >

Relation for instance contribution to the multilinear batching sumcheck.

Analogous to MultilinearBatchingAccumulatorRelationImpl but for the incoming instance. Contributes the instance terms to the batching sumcheck:

  • Subrelation 0: batched_unshifted_instance * eq_instance (non-shifted contribution)
  • Subrelation 1: batched_shifted_instance * eq_instance (shifted contribution)

The eq_instance polynomial encodes eq(u, r_inst) which "selects" the instance's evaluation point. The verifier checks this polynomial matches the expected eq evaluation.

Definition at line 87 of file multilinear_batching_relation.hpp.

Member Typedef Documentation

◆ FF

template<typename FF_ >
using bb::MultilinearBatchingInstanceRelationImpl< FF_ >::FF = FF_

Definition at line 89 of file multilinear_batching_relation.hpp.

Member Function Documentation

◆ accumulate()

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

Accumulate the instance's contribution to the batching sumcheck.

Computes: batched_unshifted * eq + batched_shifted * eq

Definition at line 113 of file multilinear_batching_relation.hpp.

◆ skip()

template<typename FF_ >
template<typename AllEntities >
static bool bb::MultilinearBatchingInstanceRelationImpl< FF_ >::skip ( const AllEntities &  in)
inlinestatic

Returns true if the contribution from all subrelations for the provided inputs is identically zero.

Definition at line 101 of file multilinear_batching_relation.hpp.

Member Data Documentation

◆ SUBRELATION_LINEARLY_INDEPENDENT

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

Definition at line 96 of file multilinear_batching_relation.hpp.

◆ SUBRELATION_PARTIAL_LENGTHS

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

Definition at line 91 of file multilinear_batching_relation.hpp.


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