Additive NTT Implementation #
Concrete implementation of the Additive NTT algorithm.
Computes the twiddle factor used in the butterfly operation.
Corresponds to AdditiveNTT.twiddleFactor.
Instances For
Performs one stage of the Additive NTT. This corresponds to NTTStage in the abstract
definition: b is the array of coefficients. i is the stage index (0 to r-1).
Instances For
The main computable Additive NTT function. a is the input array of coefficients.
r is the number of stages (dimension of the domain). The input array size must be at least 2^r.
Instances For
Evaluate a subspace polynomial using cached constants W_k(β_k).
Starting from W_0(x) = x, each cached constant advances the recurrence
W_{k+1}(x) = W_k(x) * (W_k(x) + W_k(β_k)).
Instances For
Evaluate a subspace polynomial using cached constants W_k(β_k).
Starting from W_0(x) = x, each cached constant advances the recurrence
W_{k+1}(x) = W_k(x) * (W_k(x) + W_k(β_k)).
Instances For
Precompute all twiddle factors for one additive NTT stage.
The table entry for u is the subset sum of the cached normalized values
selected by the set bits of u.
Instances For
Array update for one additive NTT stage.
The twiddles array stores the values of computableTwiddleFactor for this
stage, indexed by u.
Instances For
Fast additive NTT stage driver over an Array L state.
The state is expected to contain the initialized output buffer. Each stage
updates that buffer using the array transition from
computableNTTStageArray.
Instances For
Computable basis for ConcreteBTField k over ConcreteBTField 0. This is the explicit product of Z's.
Instances For
Test of the computable additive NTT over BTF₃ (an 8-bit binary tower field BTF₃).
Input polynomial: p(x) = x (novel coefficients [7, 1, 0, 0]) of size 2^ℓ in BTF₃
ℓ = 2R_rate = 2: Repetition rate, evaluating atS₀of size2^(ℓ + R_rate) = 16pointsr = 2^3 = 8: Dimension of the basis forBTF₃overGF(2)Output: A functionFin 16 → BTF₃giving the evaluations ofp(x) = xat 16 points in the evaluation domainS₀defined by the spanning basis elements{β₀, ..., β_{ℓ + 𝓡 - 1}}ofBTF₃overGF(2).