cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A106449 Square array (P(x) XOR P(y))/gcd(P(x),P(y)) where P(x) and P(y) are polynomials with coefficients in {0,1} given by the binary expansions of x and y, and all calculations are done in polynomial ring GF(2)[X], with the result converted back to a binary number, and then expressed in decimal. Array is symmetric, and is read by antidiagonals.

This page as a plain text file.
%I A106449 #28 Oct 22 2019 04:23:28
%S A106449 0,3,3,2,0,2,5,1,1,5,4,3,0,3,4,7,7,7,7,7,7,6,2,2,0,2,2,6,9,5,3,1,1,3,
%T A106449 5,9,8,5,4,1,0,1,4,5,8,11,11,11,3,1,1,3,11,11,11,10,4,6,3,2,0,2,3,6,4,
%U A106449 10,13,9,7,13,13,1,1,13,13,7,9,13,12,7,8,7,4,7,0,7,4,7,8,7,12,15,15,5
%N A106449 Square array (P(x) XOR P(y))/gcd(P(x),P(y)) where P(x) and P(y) are polynomials with coefficients in {0,1} given by the binary expansions of x and y, and all calculations are done in polynomial ring GF(2)[X], with the result converted back to a binary number, and then expressed in decimal. Array is symmetric, and is read by antidiagonals.
%C A106449 Array is read by antidiagonals, with row x and column y ranging as: (x,y) = (1,1), (1,2), (2,1), (1,3), (2,2), (3,1), ...
%C A106449 "Coded in binary" means that a polynomial a(n)*X^n+...+a(0)*X^0 over GF(2) is represented by the binary number a(n)*2^n+...+a(0)*2^0 in Z (where a(k)=0 or 1).
%C A106449 This is GF(2)[X] analog of A106448. In the definition XOR means addition in polynomial ring GF(2)[X], that is, a carryless binary addition, A003987.
%H A106449 Antti Karttunen, <a href="/A106449/b106449.txt">Table of n, a(n) for n = 1..10440; the first 144 antidiagonals of array</a>
%H A106449 <a href="/index/Ge#GF2X">Index entries for sequences operating on GF(2)[X]-polynomials</a>
%F A106449 A(x, y) = A280500(A003987(x, y), A091255(x, y)), that is, A003987(x, y) = A048720(A(x, y), A091255(x, y)).
%e A106449 The top left 17 X 17 corner of the array:
%e A106449         1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17
%e A106449      +--------------------------------------------------------------------
%e A106449    1 :  0,  3,  2,  5,  4,  7,  6,  9,  8, 11, 10, 13, 12, 15, 14, 17, 16, ...
%e A106449    2 :  3,  0,  1,  3,  7,  2,  5,  5, 11,  4,  9,  7, 15,  6, 13,  9, 19, ...
%e A106449    3 :  2,  1,  0,  7,  2,  3,  4, 11,  6,  7,  8,  5, 14, 13,  4, 19, 14, ...
%e A106449    4 :  5,  3,  7,  0,  1,  1,  3,  3, 13,  7, 15,  2,  9,  5, 11,  5, 21, ...
%e A106449    5 :  4,  7,  2,  1,  0,  1,  2, 13,  4,  3, 14,  7,  8, 11,  2, 21,  4, ...
%e A106449    6 :  7,  2,  3,  1,  1,  0,  1,  7,  5,  2, 13,  3, 11,  4,  7, 11, 13, ...
%e A106449    7 :  6,  5,  4,  3,  2,  1,  0, 15,  2, 13, 12, 11, 10,  3,  8, 23, 22, ...
%e A106449    8 :  9,  5, 11,  3, 13,  7, 15,  0,  1,  1,  3,  1,  5,  3,  7,  3, 25, ...
%e A106449    9 :  8, 11,  6, 13,  4,  5,  2,  1,  0,  1,  2,  3,  4,  1,  2, 25,  8, ...
%e A106449   10 : 11,  4,  7,  7,  3,  2, 13,  1,  1,  0,  1,  1,  7,  2,  1, 13,  7, ...
%e A106449   11 : 10,  9,  8, 15, 14, 13, 12,  3,  2,  1,  0,  7,  6,  5,  4, 27, 26, ...
%e A106449   12 : 13,  7,  5,  2,  7,  3, 11,  1,  3,  1,  7,  0,  1,  1,  1,  7, 11, ...
%e A106449   13 : 12, 15, 14,  9,  8, 11, 10,  5,  4,  7,  6,  1,  0,  3,  2, 29, 28, ...
%e A106449   14 : 15,  6, 13,  5, 11,  4,  3,  3,  1,  2,  5,  1,  3,  0,  1, 15, 31, ...
%e A106449   15 : 14, 13,  4, 11,  2,  7,  8,  7,  2,  1,  4,  1,  2,  1,  0, 31,  2, ...
%e A106449   16 : 17,  9, 19,  5  21, 11, 23,  3, 25, 13, 27,  7, 29, 15, 31,  0,  1, ...
%e A106449   17 : 16, 19, 14, 21,  4, 13, 22, 25,  8,  7, 26, 11, 28, 31,  2,  1,  0, ...
%o A106449 (PARI)
%o A106449 up_to = 105;
%o A106449 A106449sq(a,b) = { my(Pa=Pol(binary(a))*Mod(1, 2), Pb=Pol(binary(b))*Mod(1, 2)); fromdigits(Vec(lift((Pa+Pb)/gcd(Pa,Pb))),2); }; \\ Note that XOR is just + in GF(2)[X] world.
%o A106449 A106449list(up_to) = { my(v = vector(up_to), i=0); for(a=1,oo, for(col=1,a, i++; if(i > up_to, return(v)); v[i] = A106449sq(col,(a-(col-1))))); (v); };
%o A106449 v106449 = A106449list(up_to);
%o A106449 A106449(n) = v106449[n]; \\ _Antti Karttunen_, Oct 21 2019
%Y A106449 Row 1: A004442 (without its initial term), row 2: A106450 (without its initial term).
%Y A106449 Cf. A003987, A048720, A091255, A106448, A280500.
%K A106449 nonn,tabl
%O A106449 1,2
%A A106449 _Antti Karttunen_, May 21 2005