Metadata-Version: 2.1
Name: flexrilog
Version: 1.2
Summary: FlexRiLoG - A package for investigating Flexible and Rigid Labelings of Graphs
Home-page: https://github.com/legersky/flexrilog
Author: Jan Legerský, Georg Grasegger
Author-email: jan.legersky@risc.jku.at
License: GPLv3+
Keywords: rigidity flexibility
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/x-rst
Requires-Dist: sage-package
Requires-Dist: sphinx

===================================================
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 the papers
*Graphs with Flexible Labelings* (doi:`10.1007/s00454-018-0026-9 <https://dx.doi.org/10.1007/s00454-018-0026-9>`_)
and *Graphs with Flexible Labelings allowing Injective Realizations*
(doi:`10.1016/j.disc.2019.111713 <https://dx.doi.org/10.1016/j.disc.2019.111713>`_) by Georg Grasegger, Jan Legerský and Josef Schicho,
and in the doctoral thesis *Flexible and Rigid Labelings of Graphs* (download `here <https://jan.legersky.cz/publication/phd-thesis/>`_) by Jan Legerský.

.. start-include

For the definitions of a flexible and rigid labeling and other implemented concepts,
see the Jupyter notebook ``examples/FlexRiLoG_demo.ipynb``.
You can try it out online without installation:

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/Legersky/flexrilog/master?filepath=examples%2FFlexRiLoG_demo.ipynb

See also the `webpage about movable graphs <https://jan.legersky.cz/project/movablegraphs/>`_.

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 <https://github.com/Legersky/flexrilog>`_ and run

``make install``

For some functions, the package `phcpy <http://homepages.math.uic.edu/~jan/phcpy_doc_html/welcome.html>`_ 
or `lnumber <https://pypi.org/project/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``

Documentation
-------------

The html documentation can be found `online <https://jan.legersky.cz/doc/FlexRiLoG/>`_ or generated by 

``make doc``

Alternatively,

``make doc-pdf``

produces a pdf version.

The coverage can be checked with 

``make coverage``



Demos
=====

The basic functionality of ``FlexRiLoG`` is presented in the Jupyter notebook ``examples/FlexRiLoG_demo.ipynb``:

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/Legersky/flexrilog/master?filepath=examples%2FFlexRiLoG_demo.ipynb

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:

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/Legersky/flexrilog/9033ec885c56928e9f0a79727a59d0d7f48d6137?filepath=examples\%2FRotationally_symmetric_frameworks_SoCGmedia.ipynb



