User's Guide for SymPol
INTRODUCTION:
SymPol is a C++ tool to work with symmetric polyhedra. It helps to compute restricted automorphisms (parts of the linear symmetry group) of polyhedra and performs polyhedral description conversion up to a given or computed symmetry group.
You may download the complete SymPol package (version 0.1.8)
and then follow the instructions below.
Additional background information can be found in [BDS09] and in the Diploma thesis of the author Thomas Rehn.
DOWNLOAD:
- Version 0.1.8(309 KB, Sep 27 2012)
- Version 0.1.7(304 KB, Apr 02 2012)
- Version 0.1.6(304 KB, Mar 14 2012)
- Version 0.1.5a(302 KB, Oct 17 2011)
- Version 0.1.4(282 KB, May 10 2011)
- Version 0.1.3(282 KB, Feb 03 2011)
- Version 0.1.2(281 KB, Nov 17 2010)
- Version 0.1.1(275 KB, Sep 06 2010)
- Version 0.1(276 KB, Jun 28 2010)
- SymPol manual 0.1(177 KB, Jun 28 2010)
INSTALLATION:
After you have extracted a SymPol distribution package, you will find the following directories:
-
contrib
contains scripts to manipulate .ine/.ext files.
-
data
contains various example polyhedra in .ine/.ext files.
-
external
contains all third-party software used by SymPol: cdd, lrs, PermLib
-
sympol
contains the source code of the SymPol application.
SymPol requires
- Boost in version 1.34.1 or higher
- GMP with both C and C++ bindings
- CMake in version 2.6 or higher
If CMake, GMP and Boostare correctly installed the SymPol applications can be built with:
~/sympol$ mkdir build && cd build
~/sympol/build$ cmake -DCMAKE_BUILD_TYPE=Release ..
~/sympol/build$ make
# as root or in su/sudo shell
~/sympol/build$ make install
Then the SymPol binary will be installed in /usr/local/bin
.
On Linux systems you may have to call ldconfig
as root afterwards so that the system knows about the new shared libraries (cddgmp
and lrsgmp
).
EXAMPLE USAGE:
Compute the restricted automorphism group
sympol --automorphisms-only input-file.ine
sympol -e input-file.ine
Do a representation conversion
For “easy” input, try direct conversion:
sympol -d input-file.ine
For “difficult” input, try one level of Adjacency Decomposition Method:
sympol -a input-file.ine
If you want a combination of Incidence and Adjacency Decomposition Method, try
sympol --idm-adm-level 1 2 -i input-file.ine
and adjust the recursion levels as needed.
Representation conversion and adjacency graph
sympol -a --adjacencies -i input-file
performs a representation conversion up to symmetries with non-recursive ADM and prints
the adjacency graph of the result in a format for use with Graphviz.
LICENSE:
As both cdd and lrs are published under GPL2, SymPol is also available under GPL2.
Parts of the source code come with a more liberal license: The author's PermLib is BSD licensed.
REFERENCES:
-
[BDS09]
-
David Bremner, Mathieu Dutour Sikiric, and Achill Schürmann.
Polyhedral representation conversion up to symmetries.
In David Avis, David Bremner, and Antoine Deza, editors,
Polyhedral computation, CRM Proceedings & Lecture Notes, pages 45–72.
American Mathematical Society, 2009.
[http]
-
[Reh10]
-
Thomas Rehn.
Polyhedral Description Conversion up to Symmetries.
Diploma thesis (mathematics), Otto von Guericke University
Magdeburg, November 2010.
[PDF]
CONTACT:
If you have any kind of question about SymPol,
it's usage or you have additions,
remarks, comments, etc. please feel free to contact its authors
Thomas Rehn
and/or
Achill Schürmann
Last update: Sep 27 2012