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.

A246533 List of fixed polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A001168.

Original entry on oeis.org

0, 1, 3, 5, 7, 11, 19, 21, 22, 37, 15, 23, 27, 30, 39, 53, 54, 75, 139, 147, 149, 150, 156, 275, 277, 278, 293, 306, 549, 31, 47, 55, 62, 79, 91, 94, 143, 151, 155, 157, 158, 181, 182, 188, 203, 220, 279, 283, 286, 295, 307, 309, 310, 314, 403, 405, 406, 412, 434, 440
Offset: 1

Views

Author

M. F. Hasler, Aug 28 2014

Keywords

Comments

The binary coding (as suggested in a post to the SeqFan list by F. T. Adams-Watters) is obtained by summing the powers of 2 corresponding to the numbers covered by the polyomino, when the points of the quarter-plane are numbered by antidiagonals, and the animal is pushed to both borders as to obtain the smallest possible value. See example for further details.
The smallest value for an n-omino is the sum 2^0+...+2^(n-1) = 2^n-1 = A000225(n), and the largest value, obtained for the straight n-omino in y direction, is 2^0+2^2+2^5+...+2^(A000217(n)-1) = A246534(n).

Examples

			Number the points of the first quadrant as follows:
...
9 ...
5 8 ...
2 4 7 ...
0 1 3 6 10 ...
The "empty" 0-omino is represented by the empty sum equal to 0 = a(1).
The monomino is represented by a square on 0, and the binary code 2^0 = 1 = a(2).
The two fixed dominos are ".." and ":", represented by 2^0+2^1 = 3 = a(3) and 2^0+2^2 = 5 = a(4).
The A001168(3) = 6 fixed trominoes are represented by 2^0+2^1+2^3 = 11 (...), 2^0+2^1+2^2 = 7 (:.), 2^0+2^1+2^4 =19 (.:), ..., 2^0+2^2+2^5 = 37; again these 6 values are listed in increasing size as a(5), ..., a(10).
		

Crossrefs

See A246521 and A246559 for enumeration of free and one-sided polyominoes.

Programs

  • PARI
    grow(L,N=[],D=[[1,0],[0,1],[-1,0],[0,-1]])={ for(i=1,#L,for(j=1,#P=L[i],for(k=1,#P,for(d=1,#D, vecmin(P[k]+D[d])<0 && P-=vector(#P,i,D[d])/*shift if needed*/; !setsearch(P,P[k]+D[d]) && N=setunion([setunion([P[k]+D[d]],P)],N); P!=L[i] && P+=vector(#P,i,D[d])/*undo...*/))));if(N,N,[[[0,0]]])}
    p2n(P)=sum(i=1,#P,2^(P[i][2]+A000217(P[i][1]+P[i][2])))
    for(i=0,5,print(vecsort(apply(p2n,L=if(i,grow(L),[[]])))))