2 jacobi - Jacobi symbol function
14 If y is a positive odd prime and x is an integer not divisible
15 by y, jacobi(x,y) returns the Legendre symbol function, usually
16 denoted by (x/y) as if x/y were a fraction; this has the value
17 1 or -1 according as x is or is not a quadratic residue modulo y.
18 x is a quadratic residue modulo y if for some integer u,
19 x = u^2 (mod y); if for all integers u, x != u^2 (mod y), x
20 is said to be a quadratic nonresidue modulo y.
22 If y is a positive odd prime and x is divisible by y, jacobi(x,y)
23 returns the value 1. (This differs from the zero value usually
24 given in number theory books for (x/y) when x and y
25 are not relatively prime.)
28 If y is an odd positive integer equal to p_1 * p_2 * ... * p_k,
29 where the p_i are primes, not necessarily distinct, the
30 jacobi symbol function is given by
32 jacobi(x,y) = (x/p_1) * (x/p_2) * ... * (x/p_k).
34 where the functions on the right are Legendre symbol functions.
36 This is also often usually by (x/y).
38 If jacobi(x,y) = -1, then x is a quadratic nonresidue modulo y.
39 Equivalently, if x is a quadratic residue modulo y, then
42 If jacobi(x,y) = 1 and y is composite, x may be either a quadratic
43 residue or a quadratic nonresidue modulo y.
45 If y is even or negative, jacobi(x,y) as defined by calc returns
49 ; print jacobi(2,3), jacobi(2,5), jacobi(2,15)
52 ; print jacobi(80,199)
59 NUMBER *qjacobi(NUMBER *x, NUMBER *y)
60 FLAG zjacobi(ZVALUE z1, ZVALUE z2)
64 ## Copyright (C) 1999 Landon Curt Noll
66 ## Calc is open software; you can redistribute it and/or modify it under
67 ## the terms of the version 2.1 of the GNU Lesser General Public License
68 ## as published by the Free Software Foundation.
70 ## Calc is distributed in the hope that it will be useful, but WITHOUT
71 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
72 ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
73 ## Public License for more details.
75 ## A copy of version 2.1 of the GNU Lesser General Public License is
76 ## distributed with calc under the filename COPYING-LGPL. You should have
77 ## received a copy with calc; if not, write to Free Software Foundation, Inc.
78 ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
80 ## @(#) $Revision: 30.1 $
81 ## @(#) $Id: jacobi,v 30.1 2007/03/16 11:10:42 chongo Exp $
82 ## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/jacobi,v $
84 ## Under source code control: 1995/12/18 12:34:57
85 ## File existed as early as: 1995
87 ## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
88 ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/