barretenberg
Loading...
Searching...
No Matches
Public Member Functions | List of all members
proof_system::plonk::ProverPermutationWidget< program_width, idpolys, num_roots_cut_out_of_vanishing_polynomial > Class Template Reference
Inheritance diagram for proof_system::plonk::ProverPermutationWidget< program_width, idpolys, num_roots_cut_out_of_vanishing_polynomial >:
proof_system::plonk::ProverRandomWidget

Public Member Functions

 ProverPermutationWidget (proving_key *)
 
 ProverPermutationWidget (const ProverPermutationWidget &other)
 
 ProverPermutationWidget (ProverPermutationWidget &&other)
 
ProverPermutationWidgetoperator= (const ProverPermutationWidget &other)
 
ProverPermutationWidgetoperator= (ProverPermutationWidget &&other)
 
void compute_round_commitments (transcript::StandardTranscript &transcript, const size_t round_number, work_queue &queue) override
 :
 
barretenberg::fr compute_quotient_contribution (const barretenberg::fr &alpha_base, const transcript::StandardTranscript &transcript) override
 
- Public Member Functions inherited from proof_system::plonk::ProverRandomWidget
 ProverRandomWidget (proving_key *input_key)
 
 ProverRandomWidget (const ProverRandomWidget &other)
 
 ProverRandomWidget (ProverRandomWidget &&other)
 
ProverRandomWidgetoperator= (const ProverRandomWidget &other)
 
ProverRandomWidgetoperator= (ProverRandomWidget &&other)
 
virtual void compute_round_commitments (transcript::StandardTranscript &, const size_t, work_queue &)
 
virtual barretenberg::fr compute_quotient_contribution (const barretenberg::fr &alpha_base, const transcript::StandardTranscript &transcript)=0
 

Additional Inherited Members

- Public Attributes inherited from proof_system::plonk::ProverRandomWidget
proving_keykey
 
- Protected Types inherited from proof_system::plonk::ProverRandomWidget
typedef barretenberg::fr fr
 
typedef barretenberg::polynomial polynomial
 

Member Function Documentation

◆ compute_quotient_contribution()

template<size_t program_width, bool idpolys, const size_t num_roots_cut_out_of_vanishing_polynomial>
barretenberg::fr proof_system::plonk::ProverPermutationWidget< program_width, idpolys, num_roots_cut_out_of_vanishing_polynomial >::compute_quotient_contribution ( const barretenberg::fr alpha_base,
const transcript::StandardTranscript transcript 
)
overridevirtual

Permutation bounds check (z(X.w) - 1).(α^3).L_{end}(X) = T(X).Z*_H(X)

where Z*_H(X) = (X^n - 1)/[(X - ω^{n-1})...(X - ω^{n - num_roots_cut_out_of_vanishing_polynomial})] i.e. we remove some roots from the true vanishing polynomial to ensure that the overall degree of the permutation polynomial is <= n. Read more on this here: https://hackmd.io/1DaroFVfQwySwZPHMoMdBg

Therefore, L_{end} = L_{n - num_roots_cut_out_of_vanishing_polynomial}

Implements proof_system::plonk::ProverRandomWidget.

◆ compute_round_commitments()

template<size_t program_width, bool idpolys, const size_t num_roots_cut_out_of_vanishing_polynomial>
void proof_system::plonk::ProverPermutationWidget< program_width, idpolys, num_roots_cut_out_of_vanishing_polynomial >::compute_round_commitments ( transcript::StandardTranscript transcript,
const size_t  round_number,
work_queue queue 
)
overridevirtual

:

  • Computes the permutation polynomial z(X)
  • Commits to z(X)
  • Computes & stores the coset form of z(X) for later use in quotient polynomial calculation.

Reimplemented from proof_system::plonk::ProverRandomWidget.


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