×

A parallel extended GCD algorithm. (English) Zbl 1193.11118

This paper describes two new parallel algorithms for computing the greatest common divisor (GCD) of two integers \(u\) and \(v\). The second algorithm solves the extended GCD problem in that it also returns the Bézout coefficients, integers \(a\) and \(b\) such that \(|a| \leq v/2d\) and \(|b| \leq u/2d\) and \(au + bv = \gcd(u,v).\) The complexity of both algorithms matches the best-known result for these problems, namely time complexity \(O_\varepsilon(n / \log n)\) using \(n^{1 + \varepsilon}\) processors, where \(n\) is the bit-length of the larger of \(u\) and \(v\). The main result in both algorithms is a novel reduction algorithm that finds integers \(a\) and \(b\) such that \(|au - bv| < 2v/k\) for \(k = O(n)\) using the \(O(\log n)\) most significant bits of \(u\) and \(v\).

MSC:

11Y16 Number-theoretic algorithms; complexity
11A05 Multiplicative structure; Euclidean algorithm; greatest common divisors
68W10 Parallel algorithms in computer science
68Q25 Analysis of algorithms and problem complexity
Full Text: DOI

References:

[1] Chor, B.; Goldreich, O., An improved parallel algorithm for integer GCD, Algorithmica., 5, 1-10 (1990) · Zbl 0689.68046
[2] von zur Gathen, J.; Gerhard, J., Modern Computer Algebra (1999), Cambridge University Press · Zbl 0936.11069
[3] Hardy, G. H.; Wright, E. V., An Introduction to The Theory of Numbers (1979), Oxford University Press: Oxford University Press London · Zbl 0423.10001
[4] T. Jebelean, A generalization of the binary GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’93, 1993, pp. 111-116; T. Jebelean, A generalization of the binary GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’93, 1993, pp. 111-116 · Zbl 0921.11074
[5] Kannan, R.; Miller, G.; Rudolph, L., Sublinear parallel algorithm for computing the greatest common divisor of two integers, SIAM J. Comput., 16, 1, 7-16 (1987) · Zbl 0656.10002
[6] Karp, R.; Rammachandran, V., Parallel algorithms for shared-memory machines, (Van Leeuwen, J., Algorithms and Complexity. Algorithms and Complexity, Handbook of Theoretical Computer Science, vol. 8 (1990), Elsevier/MIT Press) · Zbl 0900.68267
[7] Knuth, D. E., The Art of Computer Programming, vol. 2 (1998), Addison Wesley · Zbl 0895.65001
[8] Lehmer, D. H., Euclid’s algorithm for large numbers, Amer. Math. Monthly, 45, 227-233 (1938) · JFM 64.0149.01
[9] M.S. Sedjelmaci, On a parallel Lehmer-Euclid GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’2001, 2001, pp. 303-308; M.S. Sedjelmaci, On a parallel Lehmer-Euclid GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’2001, 2001, pp. 303-308 · Zbl 1356.68293
[10] Sorenson, J., Two fast GCD algorithms, J. Algorithms, 16, 110-144 (1994) · Zbl 0815.11065
[11] J. Sorenson, An analysis of Lehmer’s Euclidean GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’95, 1995, pp. 254-258; J. Sorenson, An analysis of Lehmer’s Euclidean GCD algorithm, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation ISSAC’95, 1995, pp. 254-258 · Zbl 0918.11065
[12] Weber, K., Parallel implementation of the accelerated integer GCD algorithm, J. Symbolic Comput. (Special Issue on Parallel Symbolic Computation), 21, 457-466 (1996) · Zbl 0865.68053
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.