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...
Saved in:
| Published in: | Journal of algorithms Vol. 54; no. 2; pp. 152 - 167 |
|---|---|
| Main Authors: | , , |
| 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!
|
| 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 |