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… 
A Sublinear-Time Parallel Algorithm for Integer Modular Exponentiation
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
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
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]
TLDR
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
  • J. Sorenson
  • Computer Science, Mathematics
    Inf. 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
TLDR
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
  • J. Busch
  • Mathematics, Computer Science
    Fundam. 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
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
TLDR
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
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,
...
1
2
3
4
...

References

SHOWING 1-10 OF 49 REFERENCES
Efficient Algorithms for Computing the Jacobi Symbol
TLDR
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
  • J. Sorenson
  • Computer Science, Mathematics
    J. Algorithms
  • 1994
TLDR
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
TLDR
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
  • R. Peralta
  • Mathematics, Computer Science
    IEEE 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
TLDR
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
TLDR
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
  • J. Shallit
  • Computer Science, Mathematics
    J. 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
TLDR
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
  • R. Karp, V. Ramachandran
  • Computer Science
    Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity
  • 1990
TLDR
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
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
...
1
2
3
4
5
...