Level and pseudo-Gorenstein simple thin polyominoes of rank \(\leq 10\)

In the paper Level and Pseudo-Gorenstein path polyominoes by Giancarlo Rinaldo, Francesco Romeo and Rajib Sarkar, (section 6), we present the following table representing the cardinalities of simple thin polyominoes of rank \(n\) with respect to the partition shown in the table.

Moreover, clicking to a cardinality in the table, you will download a pdf file containing the pictures of the related polyominoes.

Rank45678910
Gorenstein 0 3 0 10 0 47 0
Pseudo-Gorenstein (non-Gorenstein) 0 1 0 5 0 36 0
Level (non-Gorenstein) 4 7 26 65 230 684 2383
None of the above 0 0 1 2 20 48 302

Clicking here you will have the full set. Moreover, we provide the implementation in Java for the generation of simple thin polyominoes and a Macaulay 2 implementation for the filtration of Gorenstein/level/pseudo-Gorenstein rings, downloadable from here.

We refer to the article for the notation and results. In this page you will find a description of the algorithm and implementation with an example of computation


Algorithm and computation


To obtain the simple thin polyominoes of a given rank we used a modified version of the routines written in Java that are in this page.

The computation has been done on a MacBook Pro with M1 processor, with Java 17 and Macaulay2 version 1.17. The computational time start to be significant for rank 8 (1-2 minutes), rank 9 (20-30 minutes) and rank 10 (more than 3 hours).

To filter the ones that are level, we need to compute the list of non-zero Betti number and checking whether the second-last one has homological degree less than the projective dimension. Within the level polyominoes, we filter the Gorenstein ones.

Among the non-level polyominoes, we filter the pseudo-Gorenstein ones, by checking whether there is only one configuration of maximum cardinality in the rook complex.

To test our filtration we have to download, and extract by

tar -xzvf level_pg_simplethin.tgz

move to the folder

cd level_pg_simplethin

Then compile the java program by

javac Main.java

Now, suppose that we are interested in partitioning the simple thin polyominoes of rank 5, we can simply run:


./Partition_G_PG_L_N.sh 5

The program generates th files: G5.pdf, PG5.pdf, and L5.pdf. In particular the file PG5.pdf contains only one polyomino that is the stair, \(S_4\).