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$.