We present two new algorithms for computing the Jacobi Symbol: the right-shift and left-shift k-ary algorithms. For inputs of at most n bits in length, both algorithms take $O(n^2 / log n)$ time and $O(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 algorithms for the CRCW PRAM. One version takes $O_\epsilon(n / n)$ time using $O(n^1+\epsilon)$ processors, giving the first sublinear parallel algorithms for this problem. The other version takes polylog time using a subexponential number of processors.
%0 Journal Article
%1 journals/jsc/EikenberryS98
%A Eikenberry, Shawna Meyer
%A Sorenson, Jonathan
%D 1998
%J J. Symb. Comput.
%K jacobiSymbol
%N 4
%P 509-523
%T Efficient Algorithms for Computing the Jacobi Symbol.
%U http://dblp.uni-trier.de/db/journals/jsc/jsc26.html#EikenberryS98
%V 26
%X We present two new algorithms for computing the Jacobi Symbol: the right-shift and left-shift k-ary algorithms. For inputs of at most n bits in length, both algorithms take $O(n^2 / log n)$ time and $O(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 algorithms for the CRCW PRAM. One version takes $O_\epsilon(n / n)$ time using $O(n^1+\epsilon)$ processors, giving the first sublinear parallel algorithms for this problem. The other version takes polylog time using a subexponential number of processors.
@article{journals/jsc/EikenberryS98,
abstract = {We present two new algorithms for computing the Jacobi Symbol: the right-shift and left-shift k-ary algorithms. For inputs of at most n bits in length, both algorithms take $O(n^2 / log n)$ time and $O(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 algorithms for the CRCW PRAM. One version takes $O_\epsilon(n / \log \log n)$ time using $O(n^{1+\epsilon})$ processors, giving the first sublinear parallel algorithms for this problem. The other version takes polylog time using a subexponential number of processors.},
added-at = {2018-05-05T20:23:21.000+0200},
author = {Eikenberry, Shawna Meyer and Sorenson, Jonathan},
biburl = {https://www.bibsonomy.org/bibtex/2a4c862e08cb26e022f69bc7dc112a922/overleaf},
ee = {http://dx.doi.org/10.1006/jsco.1998.0226},
interhash = {a027dcc69d7a4c9e11176f8fc665616d},
intrahash = {a4c862e08cb26e022f69bc7dc112a922},
journal = {J. Symb. Comput.},
keywords = {jacobiSymbol},
language = {English},
number = 4,
pages = {509-523},
timestamp = {2018-05-05T20:23:21.000+0200},
title = {Efficient Algorithms for Computing the Jacobi Symbol.},
url = {http://dblp.uni-trier.de/db/journals/jsc/jsc26.html#EikenberryS98},
volume = 26,
year = 1998
}