Polynomial helper lemmas (quantum-free) #
Generic ℂ[X] lemmas used by the QSP development, factored out so they carry
no dependency on the quantum framework:
conjP— coefficient-conjugate of a polynomial (theP*of the QSP literature) and its ring/eval lemmas;HasParity— the predicate "all nonzero coefficients sit in degrees of a fixed parity" and its closure lemmas;- total coefficient formulas (
coeff_X_mul',coeff_X_sq_mul) and bounded product-coefficient lemmas; Polynomial.reflectcoefficient/evaluation lemmas;eq_of_circle_eval_eq— two polynomials agreeing on the unit circle are equal.
These are upstream candidates for Mathlib; nothing here mentions Gate/PureState.
Coefficient-conjugate polynomials #
Evaluating the coefficient-conjugate at a real point conjugates the value.
Parity of polynomials #
HasParity P p says every nonzero coefficient of P sits in a degree
congruent to p modulo 2 ("P has parity p mod 2" in
[Lin22, hermfunc.tex:1132]). The zero polynomial has every parity.
All nonzero coefficients of P are in degrees ≡ p (mod 2).
Instances For
Parity only depends on p modulo 2.
Bounded product coefficients #
Reflection of coefficients #
reflect (L+1) F = X · reflect L F for natDegree F ≤ L.
reflect (L+1) (X·F) = reflect L F for natDegree F ≤ L.
Evaluation of a reflection: (reflect L F)(z) = z^L · F(z⁻¹).
Evaluation on the unit circle #
Two polynomials agreeing on the unit circle are equal (the circle is an infinite evaluation set).