Guruswami-Sudan Polynomial Helpers #
Reusable univariate and bivariate polynomial operations used by the Guruswami-Sudan interpolation and root-finding kernels.
Drop the first n powers of X, i.e. divide by X^n when possible and
truncate toward zero otherwise.
Instances For
Keep only coefficients of degree < n.
Instances For
First nonzero coefficient index of a univariate polynomial, if it is nonzero.
Instances For
Coefficients of the inverse of a power series with known nonzero constant
coefficient, truncated to length n.
Instances For
Coefficients of the inverse of a power series with known nonzero constant
coefficient, truncated to length n.
Instances For
Inverse of a univariate power series modulo X^n, if the constant term is
invertible.
Instances For
Coefficient of X^n in p * q, computed without materializing the
product.
Instances For
Coefficient window of p * q, shifted down by low and truncated to
width, computed without materializing the full product.
Instances For
Coefficient window of p * q computed through a raw low-product context.
Instances For
Coefficient of X^n in p^k, computed by coefficient convolution without
materializing the intermediate powers.
Instances For
Coefficient of X^n in a * p^k, computed coefficient-wise.
Instances For
A bivariate monomial exponent pair.
Instances For
Instances For
Construct a bivariate polynomial from a coefficient grid indexed by grid[y][x].
Instances For
Construct a bivariate polynomial from a monomial list and parallel coefficient vector.
Instances For
Candidate monomials in the finite square used by weighted-degree enumeration.
Instances For
Enumerate monomials inside a finite weighted-degree search rectangle.
When both weights are positive this is the complete set of monomials with
weighted degree at most bound. If a weight is zero, bound also serves as the
finite exponent cap for that variable.
Instances For
Shared monomial contributions for materialized and directly evaluated Hasse derivatives.
Instances For
Shared monomial contributions for materialized and directly evaluated Hasse derivatives.
Instances For
Materialize a Hasse derivative from a list of derivative terms.
Instances For
Executable Hasse derivative of a bivariate polynomial.
Instances For
Evaluate a Hasse derivative at one point without materializing the derivative.
Instances For
Derivative orders (a, b) with a + b < multiplicity.
Instances For
Mathematical multiplicity constraint used by the GS interpolation specification.
Instances For
Executable multiplicity check at one point.
Instances For
Mathematical batch multiplicity constraints over packed point pairs.
Instances For
Executable batch multiplicity check over packed point pairs.
Instances For
Compose a bivariate polynomial with a univariate polynomial in the Y slot:
Q(X, p(X)).
Instances For
Horner implementation of Q(X, p(X)) in the outer Y variable.
Instances For
Truncated Horner implementation of Q(X, p(X)) in the outer Y
variable.
After each Horner step, the accumulator is truncated modulo X^n, so callers
that only need an X-adic certificate do not materialize coefficients that
will be discarded immediately.
Instances For
Coefficient of X^depth in Q(X, p(X)), computed without materializing
the whole composed polynomial.
Instances For
Formal derivative in the outer Y variable.
Instances For
Minimum X-adic order across all nonzero Y-coefficients of a bivariate
polynomial.
Instances For
Divide every Y-coefficient by X^n, truncating coefficients with lower
X-degree to zero.
Instances For
Keep only coefficients of X-degree < n in every Y-coefficient.
Instances For
Strip the common X-adic factor from a bivariate polynomial.
Instances For
View a univariate polynomial in X as a bivariate polynomial constant in
Y.
Instances For
View a univariate polynomial in X as the coefficient of Y^y in a
bivariate polynomial.