Univariate Algorithm Contexts #
Algorithm dictionaries for reusable univariate polynomial operations, including canonical, NTT, and NTTFast-backed implementations.
Explicit multiplication backend for univariate polynomial algorithms.
- mul : CPolynomial R → CPolynomial R → CPolynomial R
Multiply two canonical polynomials.
The backend agrees with canonical polynomial multiplication.
Instances For
Explicit remainder backend for algorithms that only need reduction modulo monic divisors.
- modByMonic : CPolynomial R → CPolynomial R → CPolynomial R
Reduce the first polynomial modulo the second, assuming the divisor is monic.
The backend agrees with the canonical monic-remainder operation.
Instances For
The default multiplication context, backed by canonical CPolynomial multiplication.
Instances For
NTT-backed multiplication context with canonical multiplication for unsupported lengths.
The context asks the selector for a domain that fits the current operands. If no
supported domain is available, it uses ordinary CPolynomial multiplication.
Instances For
NTTFast-backed multiplication context with canonical multiplication for unsupported lengths.
The context asks the selector for a domain that fits the current operands. If no
supported domain is available, it uses ordinary CPolynomial multiplication.
Instances For
The default monic-remainder context, backed by CPolynomial.modByMonic.
Instances For
A remainder-only backend for monic remainders.
Instances For
A reversal-based monic-remainder backend parameterized by low-product multiplication.
Instances For
Monic remainders by reversal, using an NTT low-product backend.
Instances For
Monic remainders by reversal, using an NTTFast low-product backend.