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.

Related Data and Programs:


Source Code:

Last revised on 27 February 2019.