Normalizing binary coefficient lists #
Remove trailing false coefficients by a right fold. The empty list represents zero; every nonzero result ends in true. Both semantics and the ambient bound hold on arbitrary coefficient lists, including redundant trailing zeros.
Prepend a coefficient, suppressing zero coefficients above the leading term.
Equations
Instances For
Canonical coefficient list, with no trailing false coefficients.
Equations
- MIPRE.LowDegree.BinaryPolynomial.normalizeBits a = List.foldr (fun (b : Bool) (s : MIPRE.Cost.BitStr) => MIPRE.LowDegree.BinaryPolynomial.normalizeStep s b) [] a
Instances For
Normalizing cannot increase the coefficient width.
The normalized representation is no longer than its input.
Suppression of high zero coefficients preserves evaluation in every ring.
Normalization preserves Horner evaluation.
The polynomial interpretation is Horner evaluation at the indeterminate.
Normalization preserves the polynomial itself.
A nonempty normalized list has a leading coefficient equal to one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One fixed ambient program for canonical polynomial coefficient lists.
Equations
- One or more equations did not get rendered due to their size.