User's Guide for SymPol
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.
- 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)
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.
If CMake, GMP and Boostare correctly installed the SymPol applications can be built with:
- Boost in version 1.34.1 or higher
- GMP with both C and C++ bindings
- CMake in version 2.6 or higher
~/sympol$ mkdir build && cd build
~/sympol/build$ cmake -DCMAKE_BUILD_TYPE=Release ..
# as root or in su/sudo shell
~/sympol/build$ make install
Then the SymPol binary will be installed in
On Linux systems you may have to call
ldconfig as root afterwards so that the system knows about the new shared libraries (
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.
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.
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.
Polyhedral Description Conversion up to Symmetries.
Diploma thesis (mathematics), Otto von Guericke University
Magdeburg, November 2010.
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
Last update: Sep 27 2012