dejavu
Fast probabilistic symmetry detection.
|
This is the source code documentation for dejavu 2.0. It contains detailed descriptions for all classes and methods. If you are looking for a guide to get started, please instead refer to our get started guide on our main page.
Below, we list some potentially interesting pages of this documentation.
If you come across any bugs or have any feedback to share, please always feel free to reach out to me at markus (at) automorphisms.org
.
An up-to-date description of the algorithms will be available in Markus Anders' PhD thesis.
The underlying algorithms are based on a series of papers by Markus Anders and Pascal Schweitzer, in particular
The preprocessing routines are described in
The solver is released under the MIT license. For more information, see the license.
Using cmake, the project should compile without any further dependencies:
Compilation produces a binary dejavu. It accepts a DIMACS graph as input, and computes the automorphism group of the graph. For available options and more descriptions, please refer to our guide.
dejavu is a header-only library. You can simply add dejavu to your C++ project by including the respective header file:
Note that currently, dejavu requires to be compiled with C++ version 14. For a more thorough description, please refer to our guide.
By default, dejavu is compiled without assertions. We recommend activating assertions for debugging purposes (by adding the definition DEJDEBUG
). Assertions do however slow the code considerably.
Using cmake, a test target dejavu_test
can be produced by setting the following flag:
In order to run all the tests, the test graphs are required to be placed into tests/graphs/
.