A coefficient array has no trailing semantic zero. This erased invariant
is carried by AlgebraicPoly so downstream correctness theorems may quantify
over every value, rather than only values visibly built by ofArray.
Equations
Instances For
A semantically normalized polynomial with canonical algebraic coefficients. Construction is sealed so every stored array has had its trailing semantic zeros removed.
- data : Array AlgebraicNumber
The stored coefficients, in increasing degree order.
- normalized : AlgebraicPolyNormalized self.data
The stored coefficients have no trailing semantic zero.
Instances For
Construct a polynomial and remove all trailing coefficients whose
canonical minimal polynomial is X.
Equations
- Hex.AlgebraicPoly.ofArray coeffs = { data := Array.popWhile (fun (a : Hex.AlgebraicNumber) => a.isZero) coeffs, normalized := ⋯ }
Instances For
The normalized coefficient array, in increasing degree order.
Instances For
Number of stored coefficients.
Instances For
Coefficient at degree n, defaulting to canonical zero.
Instances For
Semantic zero test.
Instances For
The degree, with the zero polynomial given degree 0, matching
DensePoly.natDegree.
Instances For
Canonical coefficientwise Boolean equality.