Partitionability checker ver 0.5

p_checker-0.5.tar.gz (May 6, 2023)

This is a C program for checking partitionability of simplicial complexes.
The program searches the possibility of partition by a depth-first search.

(Until ver 0.3c, the program can only treated simplicial complexes of dimensions <= 3. Now it can calculate higher dimensions.)

  • How to use.
    1. Download the archive file and type "tar xfz ⟨archive file⟩" (or "gunzip -c ⟨archive file⟩ | tar xf -") to produce a directory named "p_checker-*.*".
    2. Move to the directory and type "make". An executable named "p_checker" will be produced.
    3. Run the executable as follows:
      % ./p_checker <datafile>
    The program have four different functions for checking partitionability for: (The functions for "pure 2-dimensional" and "pure 3-dimensional" cases uses the information of h-vectors and runs faster.
    The functions for 2- and 3-dimensional cases are faster since they use tables of all possible types of intervals.)
    Option can be given like
    % ./p_checker [option] <datafile>
    which forces the function for checking partitionability as follows: When running without any option, the program uses the suitable function automatically.

  • How to describe the data file.
    In the data file, we express the simplicial complex by a list of simplices. The vertices are numbered by integers. For example, a face with four vertices 1, 3, 4, 5 is expressed as follows.
    1 3 4 5
    The vertices are named by the natural numbers starting from 1.
    (Do not use "0" or negative numbers.)
    An example of a simplicial complex is as follows.
    1 2 3 4
    1 3 5 4
    1 4 8
    2 3 5
    3 9
    The example above shows a 3-dimensional simplicial complex with 5 facets. (This example is partitionable.)

    The line starting from "#" will be ommited when parsing. This can be used as comments.

    The output will be as follows:

    1 2 3 4 : empty
    1 3 4 5 : 5
    1 4 8 : 8
    2 3 5 : 2 5
    3 9 : 9
    This means that the face poset of the complex can be partitoned into the intervals [empty, 1234], [5, 1345], [8,148], [25,235], [9,39].

    When the complex is not partitionable, the output is just "not partitionable".


    Masahiro Hachimori

    This software is a byproduct of a work supported by KAKENHI #22K03399.