|
static std::vector< Polynomial > | compute_fold_polynomials (const size_t log_n, std::span< const Fr > multilinear_challenge, const Polynomial &A_0, const bool &has_zk=false) |
| Computes d-1 fold polynomials Fold_i, i = 1, ..., d-1.
|
|
static std::pair< Polynomial, Polynomial > | compute_partially_evaluated_batch_polynomials (const size_t log_n, PolynomialBatcher &polynomial_batcher, const Fr &r_challenge, const std::vector< Polynomial > &batched_groups_to_be_concatenated={}) |
|
static std::vector< Claim > | construct_univariate_opening_claims (const size_t log_n, Polynomial &&A_0_pos, Polynomial &&A_0_neg, std::vector< Polynomial > &&fold_polynomials, const Fr &r_challenge) |
| Computes/aggragates d+1 univariate polynomial opening claims of the form {polynomial, (challenge, evaluation)}.
|
|
template<typename Transcript > |
static std::vector< Claim > | prove (const Fr circuit_size, PolynomialBatcher &polynomial_batcher, std::span< Fr > multilinear_challenge, const CommitmentKey< Curve > &commitment_key, const std::shared_ptr< Transcript > &transcript, bool has_zk=false) |
|
template<typename
Curve>
class bb::GeminiProver_< Curve >
Definition at line 103 of file gemini.hpp.
template<typename
Curve >
Computes/aggragates d+1 univariate polynomial opening claims of the form {polynomial, (challenge, evaluation)}.
- Parameters
-
mle_opening_point | u = (u₀,...,uₘ₋₁) is the MLE opening point |
fold_polynomials | vector of polynomials whose first two elements are F(X) = ∑ⱼ ρʲfⱼ(X) and G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X), and the next d-1 elements are Fold_i, i = 1, ..., d-1. |
r_challenge | univariate opening challenge |
The d+1 evaluations are A₀₊(r), A₀₋(-r), and Aₗ(−r^{2ˡ}) for l = 1, ..., d-1, where the Aₗ are the fold polynomials.
- Parameters
-
A_0_pos | A₀₊ |
A_0_neg | A₀₋ |
fold_polynomials | Aₗ, l = 1, ..., d-1 |
r_challenge | |
- Returns
- std::vector<typename GeminiProver_<Curve>::Claim> d+1 univariate opening claims
Definition at line 243 of file gemini_impl.hpp.