Partitionability checker ver 0.3a

p_checker-0.3a.tar.gz (Jul 31, 2006)
(A bug fix version of 0.3.)

This is a C program for checking partitionability of simplicial complexes. Currently it works only for simplicial complexes with dim <= 3.

The program searches the possibility of partition by a depth-first search.

  • 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>
      
  • 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
    
    An example of a simplicial complex is as follows.
    1 2 3 4
    1 3 5 4
    1 4 5 8
    2 3 5 4
    3 5 4 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 5 8 : 8
    2 3 4 5 : 2 5
    3 4 5 9 : 9
    
    This means that the face poset of the complex can be partitoned into the intervals [empty, 1234], [5, 1345], [8,1458], [25,2345], [9,3459].

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

    (If the data has dimension larger than 3, the program returns some error messages.)

    [REMARK]
    Current version can handle the numbering of the vertex upto a constant number (the default is 100). It is written as MAXVERT in s_complex.h. If your datafile contains vertices with numbering larger than 99, then you should rewrite this constant. (Anyway this is a simple DFS program so it will not work for large data.)

    From Ver.0.3, nonpure simplicial complexes can be checked. Checking nonpure complexes is rather time-consuming than pure cases because we can not use h-vector information. (The program uses different functions for pure cases and for nonpure cases.)



    Masahiro Hachimori
    hachi@sk.tsukuba.ac.jp