Algorithms for fractional graph isomorphism
This package contains algorithms for deciding if two graphs are fractionally isomorphic. It requires Python 3.
This file was last updated on March 25, 2014.
Copyright license
This package is distributed under the terms of the GNU General Public License
version 3. For more information, see the file LICENSE
in this directory.
Basic usage
from networkx import Graph
from fraciso import are_fractionally_isomorphic
# Create a NetworkX Graph objects G and H.
#G = ...
#H = ...
print('G is fractionally isom. to H?', are_fractionally_isomorphic(G, H))
Using linear programming solvers
The fractional graph isomorphism problem can be solved via linear
programming. In order to use a supported linear programming solver, it must be
installed on the system (see installation requirements below). In order to
instruct this package to use a linear programming solver, use the algorithm
keyword argument to the are_fractionally_isomorphic
function. For example:
print('G is fractionally isom. to H?',
are_fractionally_isomorphic(G, H, algorithm='lp.ecos'))
Installation requirements
In order to install the Python libraries required to use this package:
pip install -r requirements.txt
If you want to use the PuLP library with the GLPK backend to solve the linear programming formulation of the fractional graph isomorphism problem, install GLPK:
sudo aptitude install glpk-utils
If you want to use the PuLP library with the COIN-OR CBC backend to solve the linear programming formulation of the fractional graph isomorphism problem, install COIN-OR CBC:
sudo aptitude install coinor-libcbc0
Testing
pip install -r requirements-test.txt
nosetests
Release instructions
This is a reminder for the maintainer of this package.
python setup.py egg_info sdist upload --sign
Contact
Jeffrey Finkelstein jeffrey.finkelstein@gmail.com