A polynomial-time square root in the binary cyclic group algebra #
For an odd-length coefficient vector, reading the doubled indices means reading the even positions followed by the odd positions. Splitting those two lists and appending them is polynomial-time in the ambient cost model. This implements the square-root step of self-dualization; it does not compute the inverse Gram element or the initial normal basis.
Split a list into its even-position and odd-position subsequences.
Equations
Instances For
The doubled-index permutation for an odd-length coefficient vector.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The parity split, with an ambient program and polynomial cost proof.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The coefficient square-root permutation, in polynomial time.
Equations
Instances For
On bit vectors, the ambient running time is polynomial in the vector length.
A binary coefficient list interpreted in the cyclic group algebra.
Equations
- MIPRE.LowDegree.groupOfBits l = AddMonoidAlgebra.ofCoeff (Finsupp.onFinset Finset.univ (fun (i : ZMod k) => MIPRE.LowDegree.ofBool (List.getD l i.val false)) ⋯)
Instances For
The implemented permutation agrees with the algebraic square-root formula.
Correctness of the polynomial-time square-root program on odd-length vectors.