In-place fast polynomial modular remainder
Résumé
We consider the computation of the euclidean polynomial modular
remainder R(X)≡A(X) mod B(X) with A and B of respective
degrees n and m ≤ n. If the multiplication of two polynomials
of degree k can be performed with M(k) operations and O(k)
extra space, then standard algorithms for the remainder require
O(n/m M(m)) arithmetic operations and, apart from that of A and
B, O(n) extra memory. This extra space is notably usually used
to store the whole quotient Q(X) such that A=BQ+R with deg R < deg B.
We avoid the storage of the whole of this quotient, and
propose an algorithm still using O(n/m M(m)) arithmetic operations
but only O (m) extra space.
When the divisor B is sparse with a constant number of non-zero
terms, the arithmetic complexity bound reduces to O(n).
When it is allowed to use the input space of A or B for intermediate
computations, but putting A and B back to their initial states after
the completion of the remainder computation, we further propose an
in-place algorithm (that is with its extra required space reduced
to O(1) only) using O~(n) arithmetic operations over any
field of zero or odd characteristic and over most of the characteristic two ones.
To achieve this, we develop techniques for Toeplitz matrix operations
which output is also part of the input.
Domaines
Calcul formel [cs.SC]Origine | Fichiers produits par l'(les) auteur(s) |
---|