%I #19 May 18 2024 19:34:36
%S 1,1,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,
%T 1,0,1,0,0,1,1,1,0,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,1,0,
%U 1,1,0,0,0,0,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0
%N Triangle of generalized Legendre symbols L(a/b) read by rows, with 1's for quadratic residues and 0's for quadratic non-residues.
%C L(a/b) is 1 if an integer c exists such that c^2 is congruent to a (mod b) and 0 otherwise.
%C For every prime of the form 4k+1 (A002144) the row is symmetric and for every prime of the form 4k+3 (A002145) the row is "complementarily symmetric".
%e The tenth row gives the quadratic residues and non-residues of 11 (see A011582) and the twelfth row gives the same information for 13 (A011583), with -1's replaced by zeros.
%e .
%e Triangle starts:
%e [ 1] [1]
%e [ 2] [1, 0]
%e [ 3] [1, 0, 0]
%e [ 4] [1, 0, 0, 1]
%e [ 5] [1, 0, 1, 1, 0]
%e [ 6] [1, 1, 0, 1, 0, 0]
%e [ 7] [1, 0, 0, 1, 0, 0, 0]
%e [ 8] [1, 0, 0, 1, 0, 0, 1, 0]
%e [ 9] [1, 0, 0, 1, 1, 1, 0, 0, 1]
%e [10] [1, 0, 1, 1, 1, 0, 0, 0, 1, 0]
%e [11] [1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0]
%e [12] [1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1]
%p # See A054431 for one_or_zero and trinv.
%p with(numtheory,quadres); quadres_0_1_array := (n) -> one_or_zero(quadres((n-((trinv(n-1)*(trinv(n-1)-1))/2)), (trinv(n-1)+1)));
%t row[n_] := With[{rr = Table[Mod[k^2, n + 1], {k, 1, n}] // Union}, Boole[ MemberQ[rr, #]]& /@ Range[n]];
%t Array[row, 14] // Flatten (* _Jean-François Alcover_, Mar 05 2016 *)
%o (Sage)
%o def A055088_row(n) :
%o Q = quadratic_residues(n+1)
%o return [int(i in Q) for i in (1..n)]
%o for n in (1..14) : print(A055088_row(n)) # _Peter Luschny_, Aug 08 2012
%Y Cf. A002144, A002145, A011582, A011583.
%Y Each row interpreted as a binary number: A055094.
%K nonn,tabl
%O 1,1
%A _Antti Karttunen_, Apr 18 2000