Module traits

Source
Expand description

Common behaviour for field elements.

Enums§

LegendreSymbol
RootsConfig
Represents different configurations that powers of roots of unity can be in. Some of these may be necessary for FFT (as twiddle factors).

Traits§

HasDefaultTranscript
This trait is necessary for sampling a random field element with a uniform distribution.
IsFFTField
Trait to define necessary parameters for FFT-friendly Fields. Two-Adic fields are ones whose order is of the form $2^n k + 1$. Here $n$ is usually called the two-adicity of the field. The reason we care about it is that in an $n$-adic field there are $2^j$-roots of unity for every j between 1 and n, which is needed to do Fast Fourier. A two-adic primitive root of unity is a number w that satisfies w^(2^n) = 1 and w^(j) != 1 for every j below 2^n. With this primitive root we can generate any other root of unity we need to perform FFT.
IsField
Trait to add field behaviour to a struct.
IsPrimeField
IsSubFieldOf
Represents the subfield relation between two fields.