The accelerated integer GCD algorithm

  title={The accelerated integer GCD algorithm},
  author={Kenneth Weber},
  journal={ACM Trans. Math. Softw.},
  • Kenneth Weber
  • Published 1 March 1995
  • Computer Science
  • ACM Trans. Math. Softw.
Since the greatest common divisor (GCD) of two integers is a basic arithmetic operation used in many mathematical software systems, new algorithms for its computation are of widespread interest. The accelerated integer GCD algorithm discussed here is based on a reduction step proposed by Sorenson (k-ary reduction), coupled with the dmod operation similar to Norton's smod. Some practical limitations of Sorenson's reduction have been eliminated. Worst-case complexity is still O(n2) for n-bit… 

Figures and Tables from this paper

New Modified Euclidean and Binary Greatest Common Divisor Algorithm
The implementation results show that the iteration required to compute GCD using ModEB algorithm are substantially less as compared to different GCD algorithms, and the worst case time complexity of the proposed algorithm is O(n2) with respect to the bit-time complexity for two n-bit integers.
A modular integer GCD algorithm
Systolic Algorithms for Long Integer GCD Computation
A word-level generalization which is suitable for systolic parallelization on multiprocessor architectures and more suitable to least-significant digits first arithmetic algorithms than Leiserson conversion lemma is found.
Parallel Implementation of the Accelerated Integer GCD Algorithm
A parallel implementation of the accelerated algorithm for the Sequent Balance, a shared-memory multiprocessor, that displays speed-ups of 1.6, 2.5, 3.4 and 4.0 using 2, 4, 8 and 16 processors, respectively.
Asymptotically Fast GCD Computation in Z[i]
An asymptotically fast algorithm for the computation of the greatest common divisor (GCD) of two Gaussian integers based on a controlled Euclidean descent that achieves a time bound of O(n(\rm log ~\it n)^{2} \rm log~ log~ \it n)\) bit operations for operands bounded by 2 n in absolute value.
A novel fast hybrid GCD computation algorithm
We propose a novel algorithm for integer's greatest common divisor GCD computation that hybridises both Euclidian and binary algorithms according to a new schema, in order to accelerate the GCD
Designing systolic arrays for integer GCD computation
  • T. Jebelean
  • Computer Science
    Proceedings of IEEE International Conference on Application Specific Array Processors (ASSAP'94)
  • 1994
Experiments using field programmable gate arrays demonstrate the possibility of speeding-up long integer arithmetic by two orders of magnitude by implementing this algorithm in dedicated hardware.
On acceleration of the k-ary GCD Algorithm
  • I. Amer
  • Computer Science, Mathematics
    IOP Conference Series: Materials Science and Engineering
  • 2019
It is shown that a small modification of Sorenson’s Algorithm gives a sufficient acceleration of its work, useful for applications using the GCD operation like calculations in finite fields, generation of Cryptography keys etc.
High Speed Modular Divider Based on GCD Algorithm
The conventional GCD algorithm is extended to radix-4 to increase the efficiency of algorithm the number of comparisons is reduced and the algorithm enables very fast computation of division over GF(2m).
On Schönhage's algorithm and subquadratic integer gcd computation
A new subquadratic left-to-right GCD algorithm, inspired by Schonhage's algorithm for reduction of binary quadratic forms, is described, which runs slightly faster than earlier algorithms, and is much simpler to implement.


Parallel integer gcd algorithms and their application to polynomial gcd
Two new integer greatest common divisor (GCD) algorithms, the accelerated GCD and the modular GCD, are presented and a new version of the GCDHEU algorithm, GCDCOLL--the collusive polynomial GCD algorithm, that simultaneously performs more than one search for the result is designed and experimented.
Comparing several GCD algorithms
  • T. Jebelean
  • Computer Science
    Proceedings of IEEE 11th Symposium on Computer Arithmetic
  • 1993
The execution times of several algorithms for computing the GCD of arbitrary precision integers are compared, and an improved Lehmer algorithm using two digits in partial consequence computation, and a generation of the binary algorithm using a new concept of modular conjugates are introduced.
An Algorithm for Exact Division
An algorithm which computes the quotient of two long integers in this particular situation, starting from the least-significant digits of the operands, which is better suited for systolic parallelization in a "least-significant digit first" pipelined manner.
Two Fast GCD Algorithms
It is shown that sequential versions of both algorithms take Θ( n 2 /log n ) bit operations in the worst case to compute the GCD of two n -bit integers, which compares favorably to the Euclidean and both binary algorithms, which takes Θ ( n 2 ) time.
A Shift-Remainder GCD Algorithm
An integer greatest common divisor algorithm which uses a "shift-divide" instruction to compute the gcd of two integers u, v, and for uniformly distributed integers in the range [0,u-1] , the average run-time is experimentally 0.555 ln u.
A generalization of the binary GCD algorithm
A generalization of the binary algorithm for operation at ‘word level” by using a new concept of ‘modular conjugates” computes the GCD of multiprecision integers two times faster than Lehmer–Euclid
GCDHEU: Heuristic Polynomial GCD Algorithm Based On Integer GCD Computation
A p-adic algorithm for univariate partial fractions
Partial fractions is an important algebraic operation with many applications in applied mathematics, physics and engineering. It is also an important operation in any computer symbolic and algebraic
The Art of Computer Programming
The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.
The Art of Computer Programmmg
  • Vol. 2. Seminumerical Algorithms, 2nd ed. Addison-Wesley, Reading, Mass.
  • 1981