Root-multiplicity shadows for polynomial circuits #
For finitely many points, record the root multiplicity of a polynomial at each point and cast those natural numbers into the coefficient field. Away from the zero polynomial, root multiplicities add under multiplication. We send the zero polynomial to the zero vector; if a product is zero, the multiplicative-shadow rule instead uses zero coefficients. This gives a total feature suitable for circuits that may contain zero intermediate values.
As a concrete application, one circuit producing the distinct nonzero shifts
X - a_i from X needs one addition per shift. Multiplications, arbitrary
field constants, cancellation, and sharing between outputs remain entirely
unrestricted.
Vector of root multiplicities at the selected points, cast into K.
Equations
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.RootMultiplicity.rootMultiplicityFeature points polynomial point = ↑(Polynomial.rootMultiplicity (points point) polynomial)
Instances For
Root-multiplicity vectors add under a nonzero polynomial product.
Total span propagation, including products that vanish.
Root-multiplicity certificate for any polynomial construction problem whose free inputs do not vanish at the selected points.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The span rank of any requested root-multiplicity vectors is bounded by the addition cost of a circuit constructing those polynomials.
Independent root-multiplicity vectors force one addition per requested output.
The one-input construction problem used for the shift family. Its single-output target is irrelevant to the multi-output theorem.
Equations
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.RootMultiplicity.shiftProblem = { inputCount := 1, inputs := fun (x : Fin 1) => Polynomial.X, target := 0 }
Instances For
Distinct affine shifts requested as simultaneous outputs.
Equations
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.RootMultiplicity.shiftTargets points point = Polynomial.X - Polynomial.C (points point)
Instances For
A nonzero point is not a root of the free input X.
At distinct points, the shift targets have the standard-basis root-multiplicity vectors.
Root-multiplicity shadows of distinct shifts are linearly independent.
One circuit producing m distinct nonzero affine shifts of its free
input needs at least m addition gates.