MCPcopy Create free account

hub / github.com/NethermindEth/latticefold / functions

Functions495 in github.com/NethermindEth/latticefold

↓ 133 callersMethodlen
(&self)
crates/latticefold/src/commitment/homomorphic_commitment.rs:27
↓ 36 callersMethodabsorb_slice
(&mut self, v: &[R])
crates/latticefold/src/transcript.rs:24
↓ 35 callersFunctioncreate_transcript
()
crates/latticefold-plus/benches/utils/helpers.rs:405
↓ 33 callersMethodevaluate
Evaluate the linear combination given a variable assignment
crates/latticefold/src/arith/r1cs.rs:348
↓ 25 callersMethodadd_term
Add a term to the linear combination
crates/latticefold/src/arith/r1cs.rs:336
↓ 22 callersFunctionbench_rng
()
crates/latticefold-plus/benches/utils/helpers.rs:370
↓ 20 callersMethodverify
( &self, M: &[SparseMatrix<R>], transcript: &mut impl Transcript<R>, )
crates/latticefold-plus/src/cm.rs:349
↓ 17 callersFunctioncreate_ajtai_matrix
Creates a random Ajtai commitment matrix. Generates a kappa × n matrix with random ring elements for use in lattice-based commitment schemes. # Argu
crates/latticefold-plus/benches/utils/helpers.rs:396
↓ 14 callersMethodcheck_relation
check that a R1CS structure is satisfied by a z vector.
crates/latticefold/src/arith/r1cs.rs:29
↓ 14 callersFunctionmat_vec_mul
(M: &SparseMatrix<R>, z: &[R])
crates/latticefold/src/arith/utils.rs:52
↓ 13 callersFunctioncreate_test_m_matrix
Creates a modified identity matrix for protocol testing. Generates an n×n identity matrix with the first diagonal entry set to 2 instead of 1, creati
crates/latticefold-plus/benches/utils/helpers.rs:381
↓ 13 callersMethodget_challenges
(&mut self, n: usize)
crates/latticefold/src/transcript.rs:32
↓ 12 callersMethodabsorb
(&mut self, v: &R)
crates/latticefold/src/transcript/poseidon.rs:40
↓ 12 callersMethodlinearize
(&self, transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/r1cs.rs:74
↓ 12 callersFunctionwrite_group
( files: &mut (File, File, File, File), benchmarks: &[BenchmarkRecord], group: &str, ring: &st
crates/latticefold/build.rs:519
↓ 10 callersMethodabsorb_field_element
(&mut self, v: &R::BaseRing)
crates/latticefold/src/transcript.rs:20
↓ 10 callersMethodgenerate
Generates a witness vector of the specified size following this pattern. # Arguments `size` - Number of ring elements to generate `rng` - Random numb
crates/latticefold-plus/benches/utils/helpers.rs:80
↓ 10 callersMethodget_challenge
(&mut self)
crates/latticefold-plus/src/transcript.rs:42
↓ 10 callersMethodmatrices
(&self)
crates/latticefold-plus/src/r1cs.rs:63
↓ 10 callersMethodset_check
Monomial set check Proves sets rings are all unit monomials. Currently requires k >= 1 monomial matrices sets. TODO support other scenarios. If k > 1
crates/latticefold-plus/src/setchk.rs:65
↓ 9 callersMethodmlin
Πmlin protocol Folds L `LinB` instances.
crates/latticefold-plus/src/mlin.rs:42
↓ 8 callersFunctionbuild_eq_x_r
This function build the eq(x, r) polynomial for any given r. Evaluate eq(x,y) = \prod_i=1^num_var (x_i * y_i + (1-x_i)*(1-y_i)) over r, which is eq(x
crates/latticefold/src/utils/sumcheck/utils.rs:100
↓ 7 callersMethodadd_constraint
Add a constraint to the system
crates/latticefold/src/arith/r1cs.rs:419
↓ 7 callersMethodas_ref
(&self)
crates/latticefold/src/commitment/homomorphic_commitment.rs:49
↓ 7 callersMethoddecompose
(&self, A: &Matrix<R>, B: u128)
crates/latticefold-plus/src/decomp.rs:32
↓ 7 callersFunctioneq_eval
Evaluate eq polynomial.
crates/latticefold/src/utils/sumcheck/utils.rs:78
↓ 7 callersMethodnvars
Get the total number of variables
crates/latticefold/src/arith/r1cs.rs:409
↓ 7 callersMethodprove
( &self, M: &[SparseMatrix<R>], transcript: &mut impl Transcript<R>, )
crates/latticefold-plus/src/cm.rs:56
↓ 7 callersFunctionr1cs_decomposed_square
Decomposes and squares a R1CS n x m -> n x n, where m * k = n
crates/latticefold-plus/src/r1cs.rs:172
↓ 7 callersMethodrange_check
Range checks Support for `L` [`RgInstance`]s mapped to the corresponding [`DcomEvals`].
crates/latticefold-plus/src/rgchk.rs:81
↓ 6 callersFunctionev
(r: &R, x: R::BaseRing)
crates/latticefold-plus/src/setchk.rs:46
↓ 6 callersFunctionget_validated_decomp_params
Computes and validates decomposition parameters for the given configuration. Combines parameter validation with decomposition parameter computation,
crates/latticefold-plus/benches/utils/helpers.rs:453
↓ 6 callersMethodget_z_vector
(&self, w: &[R])
crates/latticefold/src/arith.rs:400
↓ 6 callersMethodis_empty
(&self)
crates/latticefold/src/commitment/homomorphic_commitment.rs:31
↓ 6 callersMethodverify
(&self, cm_f: &[R], v: &[(R, R)], B: u128)
crates/latticefold-plus/src/decomp.rs:102
↓ 5 callersMethodbuild_decomposed_square
Builds an R1CS instance with decomposed square transformation. Creates identity matrices for A, B, C, applies `r1cs_decomposed_square` transformation
crates/latticefold-plus/benches/utils/helpers.rs:142
↓ 5 callersFunctionestimate_bound
(sop: usize, L: usize, d: usize, k: usize)
crates/latticefold-plus/src/utils.rs:102
↓ 5 callersFunctionhadamard
(a: &[R], b: &[R])
crates/latticefold/src/arith/utils.rs:40
↓ 5 callersFunctionsetup_input
Creates multilinear fold input for prover benchmarks. Generates L committed R1CS instances, linearizes each to produce LinB instances, and packages t
crates/latticefold-plus/benches/mlin.rs:63
↓ 4 callersFunctioncalculate_t_z
t(z) = tensor(c(z)) ⊗ s' ⊗ (1, d', ..., d'^(ℓ-1)) ⊗ (1, X, ..., X^(d-1))
crates/latticefold-plus/src/cm.rs:598
↓ 4 callersMethodcommit_ntt
Commit to a witness in the NTT form. The most basic one just multiplies by the matrix.
crates/latticefold/src/commitment/commitment_scheme.rs:75
↓ 4 callersFunctionsetup_input
Creates range check input for prover benchmarks. Generates a single `RgInstance` with a random witness satisfying the decomposition parameter constra
crates/latticefold-plus/benches/rgchk.rs:51
↓ 4 callersFunctionshort_challenge
(lambda: usize, transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/utils.rs:87
↓ 4 callersFunctionsplit
( com: &Matrix<R>, n: usize, b: u128, k: usize, )
crates/latticefold-plus/src/utils.rs:12
↓ 4 callersMethodsqueeze_beta_challenges
(&mut self, n: usize)
crates/latticefold/src/nifs/linearization/utils.rs:114
↓ 4 callersFunctiontensor_product
Computes the tensor product of two flat vectors. If `a` has length `m` and `b` has length `n`, the result is a new vector of length `m * n` containin
crates/latticefold-plus/src/utils.rs:49
↓ 4 callersFunctionto_F_vec
Returns a vector of ring elements given a vector of unsigned ints
crates/latticefold/src/arith/r1cs.rs:123
↓ 4 callersFunctionvec_add
Adds two ring vectors
crates/latticefold/src/arith/utils.rs:24
↓ 4 callersFunctionwrite_ajtai_group
(file: &mut File, benchmarks: &[AjtaiRecord], name: &str, ring: &str)
crates/latticefold/build.rs:444
↓ 3 callersFunctioncompute_u
Computes the evaluation of the MLEs of $\\{ M_j \mathbf{z} \mid j = 1, 2, \dots, t \\}$ at the sumcheck challenge point. # Parameters `Mz_mles` (`&[
crates/latticefold/src/nifs/linearization/utils.rs:24
↓ 3 callersFunctioncompute_v0_u0_x0_cm_0
Computes `v0`, `u0`, `x0`, and `cm_0` as folding subprotocol. # Type Parameters - `NTT`: A ring suitable to be used in the LatticeFold protocol. #
crates/latticefold/src/nifs/folding/utils.rs:460
↓ 3 callersFunctionconfigure_benchmark_group
Configures a criterion benchmark group with standard settings. Applies consistent parameters across all protocol benchmarks: - Sample size: 10 iterat
crates/latticefold-plus/benches/utils/helpers.rs:415
↓ 3 callersFunctioncreate_dummy_identity_sparse_matrix
( rows: usize, columns: usize, )
crates/latticefold/src/arith/r1cs.rs:188
↓ 3 callersFunctiongenerate_sumcheck_proof
( nvars: usize, mut rng: &mut (impl Rng + Sized), )
crates/latticefold/src/utils/sumcheck.rs:123
↓ 3 callersFunctionget_test_degree_three_ccs
()
crates/latticefold/src/arith/ccs.rs:94
↓ 3 callersFunctionget_test_z
(input: usize)
crates/latticefold/src/arith/r1cs.rs:225
↓ 3 callersMethodlin
Πlin protocol Runs the Πmlin protocol with only L=1 instance
crates/latticefold-plus/src/lin.rs:50
↓ 3 callersMethodpad_rows_to
(&mut self, size: usize)
crates/latticefold/src/arith.rs:162
↓ 3 callersFunctionprepare_public_output
( r_0: Vec<NTT>, v_0: Vec<NTT>, cm_0: Commitment<NTT>, u_0: Vec<NTT>, x_0: Vec<NTT>, h
crates/latticefold/src/nifs/folding.rs:382
↓ 3 callersFunctionsetup_input
Creates end-to-end protocol input for prover benchmarks. Generates a complete setup including decomposed R1CS constraints, L identical committed R1CS
crates/latticefold-plus/benches/e2e.rs:59
↓ 3 callersFunctionsetup_input
Creates split function input for prover benchmarks. Generates a random κ × (k_first·d) commitment matrix where d is the ring dimension. This matrix r
crates/latticefold-plus/benches/split.rs:47
↓ 3 callersFunctionsetup_input
Creates set check input for prover benchmarks. Generates identity matrices to guarantee monomial properties (exactly one non-zero per row/column). Us
crates/latticefold-plus/benches/setchk.rs:51
↓ 3 callersFunctionsetup_input
Creates commitment transformation input for prover benchmarks. Generates L range check instances with random witnesses and commitment matrices. Uses
crates/latticefold-plus/benches/cm.rs:55
↓ 3 callersFunctiontensor
Computes the tensor operation on a vector `r`. This corresponds to the `tensor(r)` function, defined as the sequential tensor product of `(1 - r_i, r
crates/latticefold-plus/src/utils.rs:73
↓ 3 callersFunctionvec_scalar_mul
(vec: &[R], c: &R)
crates/latticefold/src/arith/utils.rs:36
↓ 3 callersMethodverify
(&self, transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/setchk.rs:266
↓ 2 callersFunctionabsorb_comh
(comh: &[Vec<R>], transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/cm.rs:582
↓ 2 callersFunctionabsorb_evaluations
( e: &[Vec<Vec<R>>], b: &[R], transcript: &mut impl Transcript<R>, )
crates/latticefold-plus/src/setchk.rs:344
↓ 2 callersFunctionabsorb_evaluations
(evals: &[DcomEvals<R>], transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/rgchk.rs:335
↓ 2 callersFunctionabsorb_evaluations
(evals: &[R; 4], transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/r1cs.rs:165
↓ 2 callersFunctionabsorb_evaluations
( evals: &[InstanceEvals<R>], transcript: &mut impl Transcript<R>, )
crates/latticefold-plus/src/cm.rs:586
↓ 2 callersMethodbuild_basic
Builds a basic R1CS instance without decomposed square transformation. Creates identity matrices for A, B, C with optional first element modification
crates/latticefold-plus/benches/utils/helpers.rs:168
↓ 2 callersMethodevaluate
(self, point: &[R])
crates/latticefold/src/utils/mle_helpers.rs:26
↓ 2 callersMethodget_challenge
(&mut self)
crates/latticefold/src/transcript/poseidon.rs:49
↓ 2 callersMethodget_small_challenges
(&mut self, n: usize)
crates/latticefold/src/transcript.rs:46
↓ 2 callersFunctionget_test_degree_three_z
(input: usize)
crates/latticefold/src/arith/ccs.rs:45
↓ 2 callersFunctionget_test_degree_three_z_non_scalar
()
crates/latticefold/src/arith/ccs.rs:56
↓ 2 callersFunctionprepare_g1_and_3_k_mles_list
Get the MLEs needed for $k$ g1 and g3 components of the sumcheck polynomial
crates/latticefold/src/nifs/folding/utils.rs:524
↓ 2 callersMethodprove
Prove
crates/latticefold-plus/src/plus.rs:77
↓ 2 callersFunctionrand_poly
( nv: usize, num_multiplicands_range: (usize, usize), num_products: usize, rng: &mut impl RngC
crates/latticefold/src/utils/sumcheck/utils.rs:24
↓ 2 callersFunctionrand_poly_comb_fn
(vals: &[R], products: &[(R, Vec<usize>)])
crates/latticefold/src/utils/sumcheck/utils.rs:64
↓ 2 callersFunctionrot_lin_combination
Computes the sum $\sum\_{i=1}^{2k} \mathrm{RotSum}(\rho\_i, \mathrm{NTT}(\theta\_i))$. The function takes two slices: one of coefficient representati
crates/cyclotomic-rings/src/rotation.rs:84
↓ 2 callersFunctionsetup_input
Creates double commitment input for prover benchmarks. Generates a ComR1CS instance with decomposed square R1CS constraints, then extracts the witnes
crates/latticefold-plus/benches/double_commitment.rs:55
↓ 2 callersFunctionsetup_input
Creates single instance fold input for prover benchmarks. Generates a committed R1CS instance, linearizes it to produce a LinB instance, then prepare
crates/latticefold-plus/benches/lin.rs:59
↓ 2 callersFunctionsetup_input
Creates decomposition input for prover benchmarks. Generates a LinB2 instance by first creating a committed R1CS, linearizing it, and then preparing
crates/latticefold-plus/benches/decomp.rs:63
↓ 2 callersFunctionsetup_proof
Generates a valid commitment transformation proof for verifier benchmarks. Creates input with L instances, executes the prover to generate a `CmProof
crates/latticefold-plus/benches/cm.rs:82
↓ 2 callersMethodsumchecker
( &self, dcom: &Dcom<R>, h: &[Vec<R>], t: (Vec<R>, Vec<R>), M: &[Spars
crates/latticefold-plus/src/cm.rs:201
↓ 2 callersMethodthroughput
((L, _, _, _): Self::Params)
crates/latticefold-plus/benches/cm.rs:127
↓ 2 callersMethodverify
Verify
crates/latticefold-plus/src/plus.rs:133
↓ 2 callersMethodverify
(&self, transcript: &mut impl Transcript<R>)
crates/latticefold-plus/src/rgchk.rs:193
↓ 2 callersMethodx
(&self, s: &[R], ro: Vec<(R, R)>)
crates/latticefold-plus/src/cm.rs:540
↓ 1 callersMethodabsorb
(&mut self, v: &R)
crates/latticefold-plus/src/transcript.rs:33
↓ 1 callersFunctionajtai_benchmarks
(c: &mut Criterion)
crates/latticefold/benches/ajtai.rs:15
↓ 1 callersFunctionbuild_eq_x_r_helper
A helper function to build eq(x, r) recursively. This function takes `r.len()` steps, and for each step it requires a maximum `r.len()-1` multiplicati
crates/latticefold/src/utils/sumcheck/utils.rs:134
↓ 1 callersFunctionbuild_eq_x_r_vec
This function build the eq(x, r) polynomial for any given r, and output the evaluation of eq(x, r) in its vector form. Evaluate eq(x,y) = \prod_i=1^n
crates/latticefold/src/utils/sumcheck/utils.rs:113
↓ 1 callersFunctioncalculate_bound_l2
(degree: usize, kappa: usize, ring_modulus_log2: f64)
crates/latticefold/src/utils/security_check.rs:5
↓ 1 callersMethodcheck_relation
check that a CCS structure is satisfied by a z vector. Only for testing.
crates/latticefold/src/arith.rs:78
↓ 1 callersMethodcommit
Commit to a witness
crates/latticefold/src/commitment/commitment_scheme.rs:37
↓ 1 callersFunctioncreate_dummy_cubing_sparse_matrix
Takes a vector and returns a matrix that will square the vector
crates/latticefold/src/arith/ccs.rs:145
↓ 1 callersFunctioncreate_dummy_squaring_sparse_matrix
Takes a vector and returns a matrix that will square the vector
crates/latticefold/src/arith/r1cs.rs:204
next →1–100 of 495, ranked by callers