Enumerate Polyominoes

**POLYOMINO_ENUMERATE**,
a MATLAB program which
enumerates chiral, fixed and free polyominoes of moderate order.

POLYOMINO_ENUMERATE does not compute anything; it simply stores a list of counts for polyominoes of orders 0 through 28, and when given a particular order, returns the corresponding number of polyominoes.

A polyomino is formed by connecting a number of unit squares. The order of a polyomino is the number of squares used in its formation. When we ask how many polyominoes there are of a specific order, we must state whether we distinguish two polyominoes which differ only in reflection or rotation.

For "chiral" or "one-sided" polyominoes, we do not regard rotations as producing a distinct polyomino;

for "fixed" polyominoes, reflections and rotations can produce a polyomino that is regarded as distinct;

For "free" polyominoes, we do not regard reflections or rotations as producing a distinct polyomino;.

Counts are given for chiral, fixed, and free polyominoes. Note, also, that for orders of 7 and more, the counts include polyominoes that have "holes".

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

**polyomino_enumerate** is available in
a MATLAB version.

- polyomino_enumerate_chiral.m, enumerates chiral or one-sided polyominoes.
- polyomino_enumerate_chiral_test.m
- polyomino_enumerate_fixed.m, enumerates fixed polyominoes.
- polyomino_enumerate_fixed_test.m
- polyomino_enumerate_free.m, enumerates free polyominoes.
- polyomino_enumerate_free_test.m
- timestamp.m, prints the YMDHMS date as a timestamp.