# Efficient Algorithms for Computing the Jacobi Symbol

@article{Eikenberry1998EfficientAF, title={Efficient Algorithms for Computing the Jacobi Symbol}, author={Shawna Meyer Eikenberry and J. Sorenson}, journal={J. Symb. Comput.}, year={1998}, volume={26}, pages={509-523} }

We present two new algorithms for computing the Jacobi Symbol: the right-shift and left-shiftk-ary algorithms. For inputs of at mostnbits in length, both algorithms takeO(n2/logn) time andO(n) space. This is asymptotically faster than the traditional algorithm, which is based in Euclid's algorithm for computing greatest common divisors. In practice, we found our new algorithms to be about twice as fast for inputs of 100 to 1000 decimal digits in length. We also present parallel versions of both…

## Topics from this paper

## 34 Citations

A Sublinear-Time Parallel Algorithm for Integer Modular Exponentiation

- Mathematics
- 1999

The modular exponentiation problem is, given integers x; a; m with m > 0, compute x a mod m. Let n denote the sum of the lengths of x, a, and m in binary. We present a parallel algorithm for this…

Efficient algorithms for the gcd and cubic residuosity in the ring of Eisenstein integers

- Computer Science, MathematicsJ. Symb. Comput.
- 2005

We present simple and efficient algorithms for computing the gcd and cubic residuosity in the ring of Eisenstein integers, Z[@z], i.e. the integers extended with @z, a complex primitive third root of…

Efficient Algorithms for GCD and Cubic Residuosity in the Ring of Eisenstein Integers

- Mathematics, Computer ScienceFCT
- 2003

We present simple and efficient algorithms for computing gcd and cubic residuosity in the ring of Eisenstein integers, Z[ζ], i.e. the integers extended with ζ, a complex primitive third root of…

Asymptotically Fast GCD Computation in Z[i]

- Computer Science, MathematicsANTS
- 2000

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 randomized sublinear time parallel GCD algorithm for the EREW PRAM

- Computer Science, MathematicsInf. Process. Lett.
- 2010

Abstract We present a randomized parallel algorithm that computes the greatest common divisor of two integers of n bits in length with probability 1 − o ( 1 ) that takes O ( n log log n / log n )…

Computing Jacobi Symbols modulo Sparse Integers and Polynomials and Some Applications

- Mathematics, Computer ScienceJ. Algorithms
- 2000

A probabilistic polynomial time test which decides if a given integer of the aforementioned type is a perfect square (assuming the Extended Riemann Hypothesis) and analogues of these results for polynomials over finite fields are obtained.

On the Optimality of the Binary Algorithm for the Jacobi Symbol

- Mathematics, Computer ScienceFundam. Informaticae
- 2007

We establish lower bounds on the complexity of computing the following number-theoretic functions and relations from piecewise linear primitives: (i) the Legendre and Jacobi symbols, (ii)…

An Analysis of the Generalized Binary GCD Algorithm

- 2003

In this paper we analyze a slight modification of Jebelean’s version of the k-ary GCD algorithm. Jebelean had shown that on n-bit inputs, the algorithm runs in O(n) time. In this paper, we show that…

Modular exponentiation via the explicit Chinese remainder theorem

- Computer Science, MathematicsMath. Comput.
- 2007

A new result on the parallel complexity of modular exponentiation is obtained: there is an algorithm for the Common CRCW PRAM that, given positive integers x, e, and m in binary, of total bit length n, computes x e mod m in time O(n/lglgn) using n O(1) processors.

VIA THE EXPLICIT CHINESE REMAINDER THEOREM

- 2006

Fix pairwise coprime positive integers p1, p2, . . . , ps. We propose representing integers u modulo m, where m is any positive integer up to roughly √ p1p2 · · · ps, as vectors (u mod p1, u mod p2,…

## References

SHOWING 1-10 OF 49 REFERENCES

Efficient Algorithms for Computing the Jacobi Symbol

- Computer Science, MathematicsANTS
- 1996

Two new algorithms for computing the Jacobi Symbol are presented: the right-shift and left-shift k-ary algorithms, which are asymptotically faster than the traditional algorithm, which is based in Euclid's algorithm for computing greatest common divisors.

Two Fast GCD Algorithms

- Computer Science, MathematicsJ. Algorithms
- 1994

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.

Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers

- Mathematics, Computer ScienceFOCS
- 1984

This paper presents a parallel algorithm to compute the GCD of two integers based on the pigeon hole principle and the idea of working in phases so as to perform arithmetics on n-bit integers only once every phase, the more frequent operations being performed on O(log/sup 2/n)-bit integers.

A simple and fast probabilistic algorithm for computing square roots modulo a prime number

- Mathematics, Computer ScienceIEEE Trans. Inf. Theory
- 1986

A probabilistic polynomial-time algorithm for computing the square root of a number x \in {\bf Z}/P{\bf Z} , where P = 2^{S}Q + 1(Q odd, s > 0) is a prime number, is described. In contrast to the…

The accelerated integer GCD algorithm

- Mathematics, Computer ScienceTOMS
- 1995

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, which performs over 5.5 times as fast as the binary GCD on one computer architecture having a multiply instruction.

A binary algorithm for the Jacobi symbol

- Mathematics, Computer ScienceSIGS
- 1993

A new algorithm to compute the Jacobi symbol, based on Stein's binary algorithm for the greatest common divisor, is presented, and the worst-case behavior of this algorithm is determined.

On the Worst Case of Three Algorithms for Computing the Jacobi Symbol

- Computer Science, MathematicsJ. Symb. Comput.
- 1990

We study the worst-case behavior of three iterative algorithms for computing the Jacobi symbol (vu). Each algorithm is similar in format to the Euclidean algorithm for computing gcd(u, v).…

An analysis of Lehmer's Euclidean GCD algorithm

- Computer Science, MathematicsISSAC '95
- 1995

A slightly modified version of D. H. Lehmer’s greatest common divisor algorithm will compute gcd(u, v) (with u > u) using at most o{(log u log v)/k + k log v + log u + ,%2} bit operations and O(logU + k22k ) space, where k is the number of bits in the multiprecision base of the algorithm.

Parallel Algorithms for Shared-Memory Machines

- Computer ScienceHandbook of Theoretical Computer Science, Volume A: Algorithms and Complexity
- 1990

This chapter discusses parallel algorithms for shared-memory machines, which focus on the technological limits of today's chips, in which gates and wires are packed into a small number of planar layers.

A generalization of the binary GCD algorithm

- Mathematics, Computer ScienceISSAC '93
- 1993

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…