FlexRiLoG - Flexible and Rigid Labelings of Graphs¶
This is a SageMath package providing functionality for investigating flexible and rigid labelings of graphs. It implements the concepts described in [GLS2018], [GLS2018a] and [Leg2019].
The package is described in FlexRiLoG – A SageMath Package for Motions of Graphs (arXiv:2003.12029) by Georg Grasegger and Jan Legerský. This Jupyter notebook provides an interactive version of the paper. It includes the definitions of a flexible and rigid labeling and other implemented concepts. You can try it out online without installation:
See also demos and the webpage about movable graphs.
Installation¶
The package can be installed via pip
:
sage -pip install --upgrade flexrilog
In order to install the latest version, download or clone the source code from github.com/Legersky/flexrilog and run
make install
For some functions, the package phcpy or lnumber must be installed.
Testing¶
In case you have downloaded or cloned the package, you can execute in the root folder:
make test
or
make test-long
which runs also doctests marked long
.
To test also methods using phcpy
and lnumber
, run
make test-all
Alternatively, the following commands can be used
sage setup.py test
sage setup.py testLong
sage setup.py testAll
Demos¶
The basic functionality of FlexRiLoG
is presented in the Jupyter notebook examples/FlexRiLoG_demo.ipynb:
FlexRiLoG - A SageMath Package for Motions of Graphs¶
The file examples/flexrilog_Motions_of_Graphs.ipynb is a Jupyter notebook version of the paper FlexRiLoG – A SageMath Package for Motions of Graphs (arXiv:2003.12029) by Georg Grasegger and Jan Legerský:
Rotationally symmetric motions of frameworks¶
The file examples/Rotationally_symmetric_frameworks_SoCGmedia.ipynb illustrates using the package for constructing n-fold rotationally symmetric motions of graphs. It is available on Binder as well: