Skip to main content

Module poly

Module poly 

Source
Expand description

Generic dense univariate polynomials Poly<T>.

Coefficients are stored low-to-high (coeffs[i] multiplies xⁱ) and kept trimmed so the leading coefficient is nonzero (the zero polynomial has no coefficients). Like Complex, Poly<T> composes with any component type that is a Ring: ring operations (+ - *, evaluation, derivative) need only the Ring operators; polynomial division and GCD additionally need component division, so they are available for field components (Rational, Decimal, FixedFloat, ModInt, GfElement) but not for Int.

The additive identity of the component ring is obtained from Ring::zero of an available coefficient, so context-carrying rings (ModInt, GfElement) work too; the zero polynomial is the empty-coefficient one.

Structs§

Poly
A dense univariate polynomial with coefficients of type T.

Functions§

sturm_count
Number of distinct real roots of the chain’s (squarefree) polynomial in the half-open interval (lo, hi].
sturm_variations
Number of sign variations of a Sturm chain evaluated at x (zeros skipped).