Expand description
FFT-based polynomial evaluation and interpolation.
Functions in this module can be used to evaluate and interpolate polynomials over domains
which are multiplicative subgroups of finite fields and have lengths equal to powers of two.
As compared to evaluation and interpolation functions available in the polynom
module,
these functions are much more efficient: their runtime complexity is O(n
log n
), where
n
is the domain size.
Modules§
Functions§
- evaluate_
poly - Evaluates a polynomial on all points of the specified domain using the FFT algorithm.
- evaluate_
poly_ with_ offset - Evaluates a polynomial on all points of the specified (shifted) domain using the FFT algorithm.
- get_
inv_ twiddles - Returns a set of inverse twiddles for the specified domain size.
- get_
twiddles - Returns a set of twiddles for the specified domain size.
- infer_
degree - Returns the degree of a polynomial implied by the provided evaluations.
- interpolate_
poly - Interpolates evaluations of a polynomial over the specified domain into a polynomial in coefficient from using the FFT algorithm.
- interpolate_
poly_ with_ offset - Interpolates evaluations of a polynomial over the specified (shifted) domain into a polynomial in coefficient from using the FFT algorithm.
- permute_
index - Computes bit reverse of the specified index in the domain of the specified size.
- serial_
fft - Executes a single-threaded version of the FFT algorithm on the provided values.