Reverse Search Shellability checker ver 0.52

rsshell-0.52b.tar.gz (May 20, 2021)
( -> 0.52b is a bug fix from 0.52a. Removed compling errors.)

This version implemented M-sequence check in each step.
In most case in dimensions larger than 4 this makes the running time tremendously shorter, but in dimension 3 or smaller cases Ver.0.43 works faster than this version.

Here is an old version:
rsshell-0.43a.tar.gz


[Brief description]

The program rsshell is a program (written in C) to check shellability of a given (pure) simplicial complex.
The method is to search a ``shellable h-assignment'' (discussed by Sonoko Moriyama) by using a kind of reverse search. (This idea is essentially suggested by Jörg Rambau in a short conversation during ICM2002. I thank him very much.)

To work within a constant size of memory, our method uses a reverse search. It uses very small memory. It computes exact answer for our question of asking the shellability of simplicial complexes.

Basically, we search an h-assignment (which is equivalent to a shelling) by a depth-first-search like:

(That is, we search a shelling in a backward manner: successively remove a candidate facet for the last one in a shelling.)
We use the reverse search in this depth-first search. For this we assume some fixed ordering of facets and for each assignment we define its real parent to be the lexicographically smallest assignment. (Here lexicographic ordering is based on an order relation `assigned'<`not assigned'.)
In precise, what we do as following.

In this searching method, what we need to keep is only the current assignment, thus we need no hash table nor search path to the current status.

In the implementation of rsshell, we keep a list of cancellable facets and the maximum one among them in each step in order to make the computation efficient.


[Remark]
In order for the pre-computation part, the maximum dimension for the input complex is fixed and the default of the maximum dimension is 10. This number can be changed by editing the parameter in s_complex.h, if needed.
Masahiro Hachimori
hachi@sk.tsukuba.ac.jp