The primitive field of primitiveSquareFreeDecomposition f is the primitive
part of f.
Normalizing the primitive sign makes the leading coefficient nonnegative.
A nonzero integer polynomial has nonzero leading coefficient.
Normalizing the primitive sign of a nonzero polynomial makes the leading coefficient positive.
The rational primitive part has nonnegative integer leading coefficient.
The rational primitive part of a nonzero rational polynomial has positive integer leading coefficient.
Sign normalization preserves a primitive integer polynomial.
Sign normalization preserves the stored coefficient count.
Sign normalization preserves optional degree.
The rational primitive part is primitive when its content is nonzero.
Gauss-style cancellation: if two primitive nonzero integer polynomials are
rational associates with rational factor unit, then unit is ±1.
Substitute X ↦ -X in a rational dense polynomial. This local
coefficient transform is the rational counterpart of ZPoly.dilate (-1).
Equations
- Hex.ZPoly.reflectRat p = Hex.DensePoly.ofList (List.map (fun (i : Nat) => (-1) ^ i * p.coeff i) (List.range p.size))
Instances For
Rational reflection preserves the stored coefficient count.
Rational reflection is an involution.
Rational reflection preserves nonzeroness.
Differentiating a reflection contributes one global minus sign.
Rational reflection is multiplicative.
Rational reflection transports polynomial divisibility.
Casting an integer reflection to rational coefficients gives rational reflection.
Scaling a rational polynomial by a nonzero scalar preserves its size.
The rational remainder has degree below every positive-degree divisor. This direct wrapper lets downstream computational structures consume the public law without repeatedly elaborating the full typeclass dictionary.
Remainder degree bound specialized to an integer polynomial cast to rational coefficients.
Multiplication by -1 preserves executable rational squarefreeness.
Sign normalization preserves executable rational squarefreeness.
Reflection in the origin preserves executable rational squarefreeness.