Remove coordinate i from an exponent vector. This is the explicit
Mathlib-free form of precomposition by Fin.succAbove i.
Equations
Instances For
Insert exponent e at coordinate i.
Equations
Instances For
Array length needed to accumulate every exponent bucket.
Equations
- Hex.MvPoly.toUnivariateSize i terms = List.foldl (fun (bound : Nat) (term : Hex.Mono (n + 1) × R) => max bound (Hex.Mono.degreeOf i term.fst + 1)) 0 terms
Instances For
Accumulate one source term into its dense univariate coefficient bucket.
The caller must ensure that the term's selected degree is below coeffs.size;
otherwise Array.set! leaves the array unchanged.
Equations
- Hex.MvPoly.toUnivariateStep i coeffs term = coeffs.set! (Hex.Mono.degreeOf i term.fst) ((coeffs.getD (Hex.Mono.degreeOf i term.fst) 0).addMonomial (Hex.MvPoly.removeVar i term.fst) term.snd)
Instances For
Dense coefficient array obtained by two linear passes over sparse terms: one to determine the array size and one to populate its buckets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coefficients of p as a dense univariate polynomial in variable i.
Each coefficient is a polynomial in the remaining n variables.
Equations
Instances For
Inverse of toUnivariate, reinserting variable i.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A recursive-view coefficient is the source coefficient indexed by the inserted main-variable exponent.
Reassembly sends a recursive coefficient back to its inserted multivariate monomial.
Converting to the recursive view and back is the identity.
Converting a recursive polynomial to multivariate form and back is the identity.