A097343
Triangle read by rows in which row n gives Legendre symbol (k,p) for 0
1, -1, 0, 1, -1, -1, 1, 0, 1, 1, -1, 1, -1, -1, 0, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 0, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 0, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 0, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 0, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 1, -1, -1, 1, 1, 1, 1
Offset: 2
Examples
1,-1,0 ; # A102283 1,-1,-1,1,0; # A080891 1,1,-1,1,-1,-1,0; # A175629 1,-1,1,1,1,-1,-1,-1,1,-1,0; # A011582
Links
- Reinhard Zumkeller, Rows n = 2..75 of triangle, flattened
- Haskell for Math, Number Theory Fundamentals
- Wikipedia, Legendre symbol
Programs
-
Haskell
a097343 n k = a097343_tabf !! (n-2) !! (k-1) a097343_row n = a097343_tabf !! (n-2) a097343_tabf = map (\p -> map (flip legendreSymbol p) [1..p]) $ tail a000040_list legendreSymbol a p = if a' == 0 then 0 else twoSymbol * oddSymbol where a' = a `mod` p (s,q) = a' `splitWith` 2 twoSymbol = if (p `mod` 8) `elem` [1,7] || even s then 1 else -1 oddSymbol = if q == 1 then 1 else qrMultiplier * legendreSymbol p q qrMultiplier = if p `mod` 4 == 3 && q `mod` 4 == 3 then -1 else 1 splitWith n p = spw 0 n where spw s t = if m > 0 then (s, t) else spw (s + 1) t' where (t', m) = divMod t p -- See link. Reinhard Zumkeller, Feb 02 2014
-
Maple
with(numtheory): T:= n-> (p-> seq(jacobi(k, p), k=1..p))(ithprime(n)): seq(T(n), n=2..15); # Alois P. Heinz, Apr 19 2015
-
Mathematica
Flatten[ Table[ JacobiSymbol[ Range[ Prime[n]], Prime[n]], {n, 2, 8}]]
Formula
(p, p)=0, all others are +- 1.
Comments