Subdomains of smooth coset FFT domains #
This file develops the hierarchy of subdomains of a smooth coset FFT domain.
It also studies roots, cardinalities of fibers of powering maps, and provides a root-finding procedure.
Main definitions #
CosetFftDomainClass.subdomain_embed: Embedding of subdomain indices into the ambient domain.CosetFftDomainClass.subdomain: Theith subdomain.CosetFftDomain.twoNthRoot: A constructive2 ^ ith-root operation.
Main results #
pow_mem_of_mem: Powers move elements down the subdomain tower.card_roots: Exact cardinality of fibers of powering maps.root_exists: Existence of roots in higher subdomains.square_roots_explicit: Explicit description of square roots.twoNthRoot_correct: Correctness of the root-finding algorithm.
Embed the index type of the ith subdomain
into the index type of the ambient smooth coset FFT domain.
When i < n, this sends k to 2 ^ i * k;
when i ≥ n, the subdomain is trivial and everything maps to 0.
Instances For
The subdomain embedding sends 0 to 0.
The subdomain embedding is injective.
Given a smooth coset FFT domain ω of log-order n, return its subdomain of log-order n - i.
The resulting coset generator is ω 0 ^ 2 ^ i.
Instances For
If x lies in the jth subdomain,
then x ^ 2 ^ i lies in the (j + i)th subdomain, provided j + i ≤ n.
If x lies in the original domain, then x ^ 2 ^ i lies in the ith subdomain.
toFinset-version of pow_mem_subdomain_of_mem_subdomain_0.
If j ≤ i, then we do not have x ∈ subdomain ω i → x ∈ subdomain ω j
in the general case but rescaling x as ω 0 ^ 2 ^ j * (ω 0)⁻¹ ^ 2 ^ i * x
gives us a member of subdomain ω j.
If x lies in the (i + j)th subdomain,
then it has exactly 2 ^ j preimages under y ↦ y ^ 2 ^ j from the ith subdomain.
Every element of the (i + j)th subdomain has a 2 ^ jth root in the ith subdomain.
Any square root of an element of the (i + 1)th subdomain lies in the ith subdomain.
The square roots of x inside the ith subdomain are exactly y and -y,
for any square root y of x.
Concrete notation for taking the ith subdomain of a smooth coset FFT domain.
Instances For
Search through a smooth coset FFT domain for an element whose 2 ^ ith power is x,
using fuel as the remaining search bound.
Instances For
Finds a 2 ^ nth root of x.
Instances For
The value returned by twoNthRoot is a 2 ^ ith root of its input.
Specialized correctness statement for square roots from the first subdomain.