A polynomial multiplication diagonal may always be normalized to the canonical degree-sized range, independently of the left operand's support.
Polynomial conversion preserves every represented product coefficient.
Multiply two series through degree m - 1 with a polynomial
multiplication plan.
Equations
- Hex.DensePoly.seriesMulUpTo plan m a b = Hex.TSeries.ofFn fun (i : Nat) => (Hex.DensePoly.mulLow plan m (Hex.DensePoly.polyOfSeries a) (Hex.DensePoly.polyOfSeries b)).coeff i
Instances For
Planned bounded series multiplication has exactly the established
TSeries.mulUpTo semantics.
One Newton reciprocal update whose two bounded products both use the supplied multiplication plan.
Equations
- Hex.DensePoly.reciprocalStep plan g h m = Hex.DensePoly.seriesMulUpTo plan m h (Hex.TSeries.C (1 + 1) - Hex.DensePoly.seriesMulUpTo plan m g h)
Instances For
A planned Newton update agrees exactly with the reference series update.
Newton reciprocal at the full represented precision. Each doubling step
uses plan.slice 0 k; no schoolbook TSeries product is executed by this
definition.
Equations
- Hex.DensePoly.reciprocalWith plan g u = Hex.TSeries.newton (Hex.DensePoly.reciprocalStep plan g) (Hex.TSeries.C u) (Hex.TSeries.steps n)
Instances For
The plan-driven reciprocal has the established truncated-series semantics. The inverse-witness hypothesis is intentionally not needed for algorithmic agreement; it is needed by the defining inverse equation below.
A planned reciprocal satisfies the multiplicative inverse equation when the supplied constant coefficient really is an inverse.