Additive NTT Intermediate Objects #
Intermediate quotient-chain polynomials, intermediate novel bases, and the intermediate evaluation polynomials used by the Additive NTT recursion.
2. Intermediate Novel Polynomial Bases Xⱼ⁽ⁱ⁾ and evaluation polynomials P⁽ⁱ⁾ #
The k-step subspace-vanishing polynomial Ŵₖ⁽ⁱ⁾.
i : Fin r is a loose index and h_k : i + k ≤ ℓ supplies its NTT-level bound.
For k = 0 this is X; otherwise it is q⁽ⁱ⁺ᵏ⁻¹⁾ ∘ ⋯ ∘ q⁽ⁱ⁾.
Instances For
The natDegree of Ŵₖ⁽ⁱ⁾(X) is 2^k.
The degree of Ŵₖ⁽ⁱ⁾(X) is 2^k.
If i < ℓ and i + k + 1 ≤ ℓ, then
Ŵₖ₊₁⁽ⁱ⁾ = Ŵₖ⁽ⁱ⁺¹⁾ ∘ q⁽ⁱ⁾.
Maps a point from sDomain i to sDomain destIdx by a k-step quotient map.
i and destIdx are loose Fin r indices. h_destIdx identifies the destination
as i + k, and h_destIdx_le supplies the NTT-level bound.
Instances For
Composing one quotient step with a steps-step quotient map equals the
steps + 1 step quotient map.
The evaluation of qMap on an element from sDomain i belongs to sDomain (i+1). This is a key property that qMap maps between successive domains.
When k = 1, iteratedQuotientMap reduces to evaluating qMap directly. This shows that iteratedQuotientMap with k = 1 is equivalent to the single-step quotient map.
Lifts a point y from a higher-indexed domain sDomain j to the canonical
base point of its fiber in a lower-indexed domain sDomain i,
by retaining all coeffs for the corresponding basis elements
Instances For
Applying the forward map to a lifted point returns the original point.
A helper form of intermediateNormVpoly_comp_qmap for the strict stage
i < ℓ and the remaining basis index k.
∀ i ∈ {0, ..., ℓ}, The i-th order novel polynomial basis Xⱼ⁽ⁱ⁾.
Xⱼ⁽ⁱ⁾ := Π_{k=0}^{ℓ-i-1} (Ŵₖ⁽ⁱ⁾)^{jₖ}, ∀ j ∈ {0, ..., 2^(ℓ-i)-1}
Instances For
The degree of an i-th order novel polynomial basis element Xⱼ⁽ⁱ⁾(X) is exactly j.
Somewhat similar to proof of degree_Xⱼ.
X₂ⱼ⁽ⁱ⁾ = Xⱼ⁽ⁱ⁺¹⁾(q⁽ⁱ⁾(X)) for i < ℓ and
j < 2^(ℓ - i - 1).
X₂ⱼ₊₁⁽ⁱ⁾ = X * Xⱼ⁽ⁱ⁺¹⁾(q⁽ⁱ⁾(X)) for i < ℓ and
j < 2^(ℓ - i - 1).
∀ i ∈ {0, ..., ℓ}, The i-th order evaluation polynomial
P⁽ⁱ⁾(X) := ∑_{j=0}^{2^(ℓ-i)-1} coeffsⱼ ⋅ Xⱼ⁽ⁱ⁾(X) over the domain S⁽ⁱ⁾.
where the polynomial P⁽⁰⁾(X) over the domain S⁽⁰⁾ is exactly the original
polynomial P(X) we need to evaluate,
and coeffs is the list of 2^(ℓ-i) coefficients of the polynomial.
Instances For
The basis vectors for the intermediate level i.
Instances For
The Change-of-Basis Matrix from the Intermediate Novel Basis to the Monomial Basis. A_jk = coeff of X^k in intermediate basis vector X_j.
Instances For
The intermediate change-of-basis matrix is invertible.
Instances For
Convert monomial coefficients to novel coefficients at level i.
n = m * A⁻¹
Instances For
Convert novel coefficients to monomial coefficients at level i.
m = n * A
Instances For
Instances For
Round trip inverse property: Monomial -> Novel -> Monomial
Reconstruction Lemma:
If P has degree < 2^(ℓ-i), and we convert its coefficients to the intermediate novel basis,
the resulting intermediateEvaluationPoly is exactly P.
The even and odd refinements of P⁽ⁱ⁾(X) which are polynomials in the (i+1)-th basis.
P₀⁽ⁱ⁺¹⁾(Y) = ∑_{j=0}^{2^{ℓ-i-1}-1} a_{2j} ⋅ Xⱼ⁽ⁱ⁺¹⁾(Y)
P₁⁽ⁱ⁺¹⁾(Y) = ∑_{j=0}^{2^{ℓ-i-1}-1} a_{2j+1} ⋅ Xⱼ⁽ⁱ⁺¹⁾(Y)
Instances For
Key Polynomial Identity (Equation 39). This identity is the foundation for the
butterfly operation in the Additive NTT. It relates a polynomial in the i-th basis to
its even and odd parts expressed in the (i+1)-th basis via the quotient map q⁽ⁱ⁾.
∀ i ∈ {0, ..., ℓ-1}, P⁽ⁱ⁾(X) = P₀⁽ⁱ⁺¹⁾(q⁽ⁱ⁾(X)) + X ⋅ P₁⁽ⁱ⁺¹⁾(q⁽ⁱ⁾(X))