Most of the code is for the 1-dimensional Gomory-Johnson infinite group problem, including an electronic compendium of extreme functions.
See http://www.sagemath.org/doc/tutorial/ for information on how to use Sage.
See https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/AUTHORS.rst and also https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/THANKS.rst
The code is released under the GNU General Public License, version 2, or any later version as published by the Free Software Foundation.
http://mkoeppe.github.io/cutgeneratingfunctionology/doc/html/
There are many ways to run this package.
Install Miniconda from https://docs.conda.io/en/latest/miniconda.html
Set up the conda environment described in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/environment.yml:
e=environment.yml; curl -o $e https://raw.githubusercontent.com/mkoeppe/cutgeneratingfunctionology/master/$e conda env create -n sage-cgf -f $e conda activate sage-cgf
This takes a while; it installs SageMath, which has many dependencies.
Install PyPI package:
pip install cutgeneratingfunctionology
Start Sage. You can either use the terminal (IPython):
sage
or a Jupyter notebook:
sage -n jupyter
At the Sage prompt, type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
Follow the instructions and examples in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.rst or https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.ipynb .
Install Miniconda from https://docs.conda.io/en/latest/miniconda.html
Clone the GitHub repository https://github.com/mkoeppe/cutgeneratingfunctionology.git:
git clone https://github.com/mkoeppe/cutgeneratingfunctionology.git cd cutgeneratingfunctionology
Set up the conda environment described in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/environment.yml:
conda env create -n sage-cgf -f environment.yml conda activate sage-cgf
This takes a while; it installs SageMath which has many dependencies.
(Optional:) Install the cutgeneratingfunctionology package using pip:
pip install .
Start Sage. You can either use the terminal (IPython):
sage
or a Jupyter notebook:
sage -n jupyter
At the Sage prompt, type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
Follow the instructions and examples in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.rst or https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.ipynb .
Install the SageMath distribution:
- Either from source from http://www.sagemath.org/
- or with a binary from http://www.sagemath.org/
The SageMath distribution brings its own installation of Python and many packages.
Clone the GitHub repository https://github.com/mkoeppe/cutgeneratingfunctionology.git:
git clone https://github.com/mkoeppe/cutgeneratingfunctionology.git cd cutgeneratingfunctionology
(Optional:) Install optional SageMath distribution packages:
sage -i lrslib pynormaliz
Install the cutgeneratingfunctionology package using pip:
sage -pip install .
Start SageMath. You can either use the terminal (IPython):
sage
or a Jupyter notebook:
sage -n jupyter
At the Sage prompt, type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
Follow the instructions and examples in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.rst or https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.ipynb .
This method uses the modularized distributions from https://github.com/passagemath
Clone the GitHub repository https://github.com/mkoeppe/cutgeneratingfunctionology.git:
git clone https://github.com/mkoeppe/cutgeneratingfunctionology.git cd cutgeneratingfunctionology
(Optional:) Create a virtual environment
python3 -m venv venv-cgf . venv-cgf/bin/activate
Install the cutgeneratingfunctionology package using pip:
pip install ".[passagemath]"
Start Python:
python3
At the Python prompt, type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
Follow the instructions and examples in https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.rst or https://github.com/mkoeppe/cutgeneratingfunctionology/blob/master/demo.ipynb .