HOME

TheInfoList



OR:

Jacobi symbol for various ''k'' (along top) and ''n'' (along left side). Only are shown, since due to rule (2) below any other ''k'' can be reduced modulo ''n''. Quadratic residues are highlighted in yellow — note that no entry with a Jacobi symbol of βˆ’1 is a quadratic residue, and if ''k'' is a quadratic residue modulo a coprime ''n'', then , but not all entries with a Jacobi symbol of 1 (see the and rows) are quadratic residues. Notice also that when either ''n'' or ''k'' is a square, all values are nonnegative.
The Jacobi symbol is a generalization of the Legendre symbol. Introduced by
Jacobi Jacobi may refer to: * People with the surname Jacobi (surname), Jacobi Mathematics: * Jacobi sum, a type of character sum * Jacobi method, a method for determining the solutions of a diagonally dominant system of linear equations * Jacobi eigenva ...
in 1837, it is of theoretical interest in
modular arithmetic In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to modular arithmetic was developed by Carl Friedrich Gauss in his book ...
and other branches of
number theory Number theory (or arithmetic or higher arithmetic in older usage) is a branch of pure mathematics devoted primarily to the study of the integers and arithmetic function, integer-valued functions. German mathematician Carl Friedrich Gauss (1777β ...
, but its main use is in
computational number theory In mathematics and computer science, computational number theory, also known as algorithmic number theory, is the study of computational methods for investigating and solving problems in number theory and arithmetic geometry, including algorithm ...
, especially
primality testing A primality test is an algorithm for determining whether an input number is prime. Among other fields of mathematics, it is used for cryptography. Unlike integer factorization, primality tests do not generally give prime factors, only stating wh ...
and
integer factorization In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers. If these factors are further restricted to prime numbers, the process is called prime factorization. When the numbers are suf ...
; these in turn are important in
cryptography Cryptography, or cryptology (from grc, , translit=kryptΓ³s "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
.


Definition

For any integer ''a'' and any positive odd integer ''n'', the Jacobi symbol is defined as the product of the Legendre symbols corresponding to the prime factors of ''n'': :\left(\frac\right) = \left(\frac\right)^\left(\frac\right)^\cdots \left(\frac\right)^, where :n=p_1^p_2^\cdots p_k^ is the prime factorization of ''n''. The Legendre symbol is defined for all integers ''a'' and all odd primes ''p'' by :\left(\frac\right) = \left\{ \begin{array}{rl} 0 & \text{if } a \equiv 0 \pmod{p},\\ 1 & \text{if } a \not\equiv 0\pmod{p} \text{ and for some integer } x\colon\;a\equiv x^2\pmod{p},\\ -1 & \text{if } a \not\equiv 0\pmod{p} \text{ and there is no such } x. \end{array} \right. Following the normal convention for the empty product, = 1. When the lower argument is an odd prime, the Jacobi symbol is equal to the Legendre symbol.


Table of values

The following is a table of values of Jacobi symbol with ''n'' β‰€ 59, ''k'' β‰€ 30, ''n'' odd. {, class="wikitable" style="margin-left: auto; margin-right: auto; border: none; text-align: right" ! !1 !2 !3 !4 !5 !6 !7 !8 !9 !10 !11 !12 !13 !14 !15 !16 !17 !18 !19 !20 !21 !22 !23 !24 !25 !26 !27 !28 !29 !30 , - !1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , - !3 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !5 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !7 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , - !9 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !11 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , - !13 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , - !15 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !17 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , - !19 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , - !21 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !23 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , - !25 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !27 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !29 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , - !31 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , - !33 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !35 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !37 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , - !39 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !41 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , - !43 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , - !45 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !47 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , - !49 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , - !51 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !53 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , - !55 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , - !57 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffffcc", 0 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffffcc", 0 , - !59 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1 , style="background:#ccffff", βˆ’1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ffccff", 1 , style="background:#ccffff", βˆ’1


Properties

The following facts, even the reciprocity laws, are straightforward deductions from the definition of the Jacobi symbol and the corresponding properties of the Legendre symbol. The Jacobi symbol is defined only when the upper argument ("numerator") is an integer and the lower argument ("denominator") is a positive odd integer. :1. If ''n'' is (an odd) prime, then the Jacobi symbol is equal to (and written the same as) the corresponding Legendre symbol. :2. If , then \left(\frac{a}{n}\right) = \left(\frac{b}{n}\right) = \left(\frac{a \pm m \cdot n}{n}\right) :3. \left(\frac{a}{n}\right) = \begin{cases} 0 & \text{if } \gcd(a,n) \ne 1,\\ \pm1 & \text{if } \gcd(a,n) = 1. \end{cases} If either the top or bottom argument is fixed, the Jacobi symbol is a
completely multiplicative function In number theory, functions of positive integers which respect products are important and are called completely multiplicative functions or totally multiplicative functions. A weaker condition is also important, respecting only products of coprime ...
in the remaining argument: :4. \left(\frac{ab}{n}\right) = \left(\frac{a}{n}\right)\left(\frac{b}{n}\right),\quad\text{so } \left(\frac{a^2}{n}\right) = \left(\frac{a}{n}\right)^2 = 1 \text{ or } 0. :5. \left(\frac{a}{mn}\right)=\left(\frac{a}{m}\right)\left(\frac{a}{n}\right),\quad\text{so } \left(\frac{a}{n^2}\right) = \left(\frac{a}{n}\right)^2 = 1 \text{ or } 0. The
law of quadratic reciprocity In number theory, the law of quadratic reciprocity is a theorem about modular arithmetic that gives conditions for the solvability of quadratic equations modulo prime numbers. Due to its subtlety, it has many formulations, but the most standard st ...
: if ''m'' and ''n'' are odd positive coprime integers, then :6. \left(\frac{m}{n}\right)\left(\frac{n}{m}\right) = (-1)^{\tfrac{m-1}{2}\cdot\tfrac{n-1}{2 = \begin{cases} 1 & \text{if } n \equiv 1 \pmod 4 \text{ or } m \equiv 1 \pmod 4,\\ -1 & \text{if } n\equiv m \equiv 3 \pmod 4 \end{cases} and its supplements :7. \left(\frac{-1}{n}\right) = (-1)^\tfrac{n-1}{2} = \begin{cases} 1 & \text{if }n \equiv 1 \pmod 4,\\ -1 & \text{if }n \equiv 3 \pmod 4, \end{cases} , and \left(\frac{1}{n}\right) = \left(\frac{n}{1}\right) = 1 :8. \left(\frac{2}{n}\right) = (-1)^\tfrac{n^2-1}{8} = \begin{cases} 1 & \text{if }n \equiv 1,7 \pmod 8,\\ -1 & \text{if }n \equiv 3,5\pmod 8. \end{cases} Combining properties 4 and 8 gives: :9. \left(\frac{2a}{n}\right) = \left(\frac{2}{n}\right) \left(\frac{a}{n}\right) = \begin{cases} \left(\frac{a}{n}\right) & \text{if }n \equiv 1,7 \pmod 8,\\ {-\left(\frac{a}{n}\right)} & \text{if }n \equiv 3,5\pmod 8. \end{cases} Like the Legendre symbol: *If  = βˆ’1 then ''a'' is a quadratic nonresidue modulo ''n''. *If ''a'' is a quadratic residue modulo ''n'' and gcd(''a'',''n'') = 1, then  = 1. But, unlike the Legendre symbol: :If  = 1 then ''a'' may or may not be a quadratic residue modulo ''n''. This is because for ''a'' to be a quadratic residue modulo ''n'', it has to be a quadratic residue modulo ''every'' prime factor of ''n''. However, the Jacobi symbol equals one if, for example, ''a'' is a non-residue modulo exactly two of the prime factors of ''n''. Although the Jacobi symbol cannot be uniformly interpreted in terms of squares and non-squares, it can be uniformly interpreted as the sign of a permutation by
Zolotarev's lemma In number theory, Zolotarev's lemma states that the Legendre symbol :\left(\frac\right) for an integer ''a'' modulo an odd prime number ''p'', where ''p'' does not divide ''a'', can be computed as the sign of a permutation: :\left(\frac\right) ...
. The Jacobi symbol is a
Dirichlet character In analytic number theory and related branches of mathematics, a complex-valued arithmetic function \chi:\mathbb\rightarrow\mathbb is a Dirichlet character of modulus m (where m is a positive integer) if for all integers a and b: :1)   \chi ...
to the modulus ''n''.


Calculating the Jacobi symbol

The above formulas lead to an efficient algorithm for calculating the Jacobi symbol, analogous to the
Euclidean algorithm In mathematics, the Euclidean algorithm,Some widely used textbooks, such as I. N. Herstein's ''Topics in Algebra'' and Serge Lang's ''Algebra'', use the term "Euclidean algorithm" to refer to Euclidean division or Euclid's algorithm, is an effi ...
for finding the gcd of two numbers. (This should not be surprising in light of rule 2.) # Reduce the "numerator" modulo the "denominator" using rule 2. # Extract any even "numerator" using rule 9. # If the "numerator" is 1, rules 3 and 4 give a result of 1. If the "numerator" and "denominator" are not coprime, rule 3 gives a result of 0. # Otherwise, the "numerator" and "denominator" are now odd positive coprime integers, so we can flip the symbol using rule 6, then return to step 1.


Implementation in

Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...

function jacobi(n, k) assert(k > 0 and k % 2

1) n = n % k t = 1 while n ~= 0 do while n % 2

0 do n = n / 2 r = k % 8 if r

3 or r

5 then t = -t end end n, k = k, n if n % 4

3 and k % 4

3 then t = -t end n = n % k end if k

1 then return t else return 0 end end


Implementation in

C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...

// a/n is represented as (a,n) int jacobi(int a, int n) { assert(n > 0 && n%2

1); //step 1 a = a % n; int t = 1; int r; //step 3 while (a != 0) { //step 2 while (a % 2

0) { //fast divide by 2 using a bit shift a = a >> 1; r = n % 8; if (r

3 , , r

5) { t = -t; } } //step 4 r = n; n = a; a = r; if (a % 4

3 && n % 4

3) { t = -t; } a = a % n; } if (n

1) { return t; } else { return 0; } }


Example of calculations

The Legendre symbol is only defined for odd primes ''p''. It obeys the same rules as the Jacobi symbol (i.e., reciprocity and the supplementary formulas for and and multiplicativity of the "numerator".) Problem: Given that 9907 is prime, calculate .


Using the Legendre symbol

:\begin{align} \left(\frac{1001}{9907}\right) &=\left(\frac{7}{9907}\right) \left(\frac{11}{9907}\right) \left(\frac{13}{9907}\right). \\ \left(\frac{7}{9907}\right) &=-\left(\frac{9907}{7}\right) =-\left(\frac{2}{7}\right) =-1. \\ \left(\frac{11}{9907}\right) &=-\left(\frac{9907}{11}\right) =-\left(\frac{7}{11}\right) =\left(\frac{11}{7}\right) =\left(\frac{4}{7}\right) =1. \\ \left(\frac{13}{9907}\right) &=\left(\frac{9907}{13}\right) =\left(\frac{1}{13}\right) =1. \\ \left(\frac{1001}{9907}\right) &=-1. \end{align}


Using the Jacobi symbol

:\begin{align} \left(\frac{1001}{9907}\right) &=\left(\frac{9907}{1001}\right) =\left(\frac{898}{1001}\right) =\left(\frac{2}{1001}\right)\left(\frac{449}{1001}\right) =\left(\frac{449}{1001}\right) \\ &=\left(\frac{1001}{449}\right) =\left(\frac{103}{449}\right) =\left(\frac{449}{103}\right) =\left(\frac{37}{103}\right) =\left(\frac{103}{37}\right) \\ &=\left(\frac{29}{37}\right) =\left(\frac{37}{29}\right) =\left(\frac{8}{29}\right) =\left(\frac{2}{29}\right)^3 =-1. \end{align} The difference between the two calculations is that when the Legendre symbol is used the "numerator" has to be factored into prime powers before the symbol is flipped. This makes the calculation using the Legendre symbol significantly slower than the one using the Jacobi symbol, as there is no known polynomial-time algorithm for factoring integers.The
number field sieve In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than . Heuristically, its complexity for factoring an integer (consisting of bits) is of the form :\exp\left( ...
, the fastest known algorithm, requires :O\left(e^{(\ln N)^\frac13(\ln\ln N)^\frac23\big(C+o(1)\big)}\right) operations to factor ''n''. See Cohen, p. 495
In fact, this is why Jacobi introduced the symbol.


Primality testing

There is another way the Jacobi and Legendre symbols differ. If the
Euler's criterion In number theory, Euler's criterion is a formula for determining whether an integer is a quadratic residue modulo a prime. Precisely, Let ''p'' be an odd prime and ''a'' be an integer coprime to ''p''. Then : a^ \equiv \begin \;\;\,1\pmod& \text ...
formula is used modulo a composite number, the result may or may not be the value of the Jacobi symbol, and in fact may not even be βˆ’1 or 1. For example, :\begin{align} \left(\frac{19}{45}\right) &= 1 &&\text{ and } & 19^\frac{45-1}{2} &\equiv 1\pmod{45}. \\ \left(\frac{ 8}{21}\right) &= -1 &&\text{ but } & 8^\frac{21-1}{2} &\equiv 1\pmod{21}. \\ \left(\frac{ 5}{21}\right) &= 1 &&\text{ but } & 5^\frac{21-1}{2} &\equiv 16\pmod{21}. \end{align} So if it is unknown whether a number ''n'' is prime or composite, we can pick a random number ''a'', calculate the Jacobi symbol and compare it with Euler's formula; if they differ modulo ''n'', then ''n'' is composite; if they have the same residue modulo ''n'' for many different values of ''a'', then ''n'' is "probably prime". This is the basis for the probabilistic
Solovay–Strassen primality test The Solovay–Strassen primality test, developed by Robert M. Solovay and Volker Strassen in 1977, is a probabilistic test to determine if a number is composite or probably prime. The idea behind the test was discovered by M. M. Artjuhov in 196 ...
and refinements such as the Baillie–PSW primality test and the
Miller–Rabin primality test The Miller–Rabin primality test or Rabin–Miller primality test is a probabilistic primality test: an algorithm which determines whether a given number is likely to be prime, similar to the Fermat primality test and the Solovay–Strassen prima ...
. As an indirect use, it is possible to use it as an error detection routine during the execution of the Lucas–Lehmer primality test which, even on modern computer hardware, can take weeks to complete when processing
Mersenne number In mathematics, a Mersenne prime is a prime number that is one less than a power of two. That is, it is a prime number of the form for some integer . They are named after Marin Mersenne, a French Minim friar, who studied them in the early 17th ...
s over \begin{align}2^{82,589,933} - 1\end{align} (the largest known Mersenne prime as of December 2018). In nominal cases, the Jacobi symbol: \begin{align}\left(\frac{s_i - 2}{M_p}\right) &= -1 & i \ne 0\end{align} This also holds for the final residue \begin{align}s_{p-2}\end{align} and hence can be used as a verification of probable validity. However, if an error occurs in the hardware, there is a 50% chance that the result will become 0 or 1 instead, and won't change with subsequent terms of \begin{align}s\end{align} (unless another error occurs and changes it back to -1).


See also

*
Kronecker symbol In number theory, the Kronecker symbol, written as \left(\frac an\right) or (a, n), is a generalization of the Jacobi symbol to all integers n. It was introduced by . Definition Let n be a non-zero integer, with prime factorization :n=u \cdot ...
, a generalization of the Jacobi symbol to all integers. *
Power residue symbol In algebraic number theory the ''n''-th power residue symbol (for an integer ''n'' > 2) is a generalization of the (quadratic) Legendre symbol to ''n''-th powers. These symbols are used in the statement and proof of cubic, quartic, Eisenstein ...
, a generalization of the Jacobi symbol to higher powers residues.


Notes


References

* * * * * * {{cite journal , title = Efficient Algorithms for Computing the Jacobi Symbol , first1 = Shawna Meyer , last1 = Eikenberry , first2 = Jonathan P. , last2 = Sorenson , journal = Journal of Symbolic Computation , volume = 26 , issue = 4 , pages = 509–523 , date = October 1998 , doi = 10.1006/jsco.1998.0226 , citeseerx = 10.1.1.44.2423 , url = https://core.ac.uk/download/pdf/82664209.pdf


External links


Calculate Jacobi symbol
shows the steps of the calculation. Modular arithmetic