A modular integer GCD algorithm

This paper describes the first algorithm to compute the greatest common divisor (GCD) of two n-bit integers using a modular representation for intermediate values U, V and also for the result. It is based on a reduction step, similar to one used in the accelerated algorithm [T. Jebelean, A generaliz...

Full description

Saved in:
Bibliographic Details
Published in:Journal of algorithms Vol. 54; no. 2; pp. 152 - 167
Main Authors: Weber, Kenneth, Trevisan, Vilmar, Martins, Luiz Felipe
Format: Journal Article
Language:English
Published: San Diego, CA Elsevier Inc 01.02.2005
Elsevier
Subjects:
ISSN:0196-6774, 1090-2678
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:This paper describes the first algorithm to compute the greatest common divisor (GCD) of two n-bit integers using a modular representation for intermediate values U, V and also for the result. It is based on a reduction step, similar to one used in the accelerated algorithm [T. Jebelean, A generalization of the binary GCD algorithm, in: ISSAC '93: International Symposium on Symbolic and Algebraic Computation, Kiev, Ukraine, 1993, pp. 111–116; K. Weber, The accelerated integer GCD algorithm, ACM Trans. Math. Softw. 21 (1995) 111–122] when U and V are close to the same size, that replaces U by ( U − b V ) / p , where p is one of the prime moduli and b is the unique integer in the interval ( − p / 2 , p / 2 ) such that b ≡ U V −1 ( mod   p ) . When the algorithm is executed on a bit common CRCW PRAM with O ( n log n log log log n ) processors, it takes O ( n ) time in the worst case. A heuristic model of the average case yields O ( n / log n ) time on the same number of processors.
ISSN:0196-6774
1090-2678
DOI:10.1016/j.jalgor.2004.06.006