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) |
---|