Documentation

CompPoly.Univariate.NTTFast.Correctness.Radix4DIT

Radix-4 DIT NTTFast correctness #

Correctness proofs for the mixed radix-4 decimation-in-time stage loop used by NTTFast.

def CompPoly.CPolynomial.NTTFast.Plan.radix4Cell {R : Type u_1} [Field R] (wLow wHigh0 wHigh1 : R) (i0 i1 i2 i3 : ) (acc : Array R) :
Instances For
    @[simp]
    theorem CompPoly.CPolynomial.NTTFast.Plan.size_radix4Cell {R : Type u_1} [Field R] (wLow wHigh0 wHigh1 : R) (i0 i1 i2 i3 : ) (acc : Array R) :
    (radix4Cell wLow wHigh0 wHigh1 i0 i1 i2 i3 acc).size = acc.size
    theorem CompPoly.CPolynomial.NTTFast.Plan.butterflyStageWithTwiddles_eq_ntt {R : Type u_1} [Field R] (D : NTT.Domain R) (stage : ) (twiddles a : Array R) (htwiddles : j < 2 ^ stage, twiddles.getD j 0 = (D.omega ^ (D.n / 2 ^ (stage + 1))) ^ j) :

    A DIT butterfly stage with matching cached twiddles agrees with the NTT stage.

    The DIT radix-2 stage loop with the full twiddle table agrees with NTT.

    The mixed radix-4 DIT stage loop agrees with the radix-2 NTT stage loop on domain-sized arrays.