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.
License
The code is released under the GNU General Public License, version 2, or any later version as published by the Free Software Foundation.
Documentation
http://mkoeppe.github.io/cutgeneratingfunctionology/doc/html/
Using the cutgeneratingfunctionology package
There are many ways to run this package.
A. Run it online on mybinder.org
B. Install released version from PyPI and run it within conda
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 .
C. Clone from GitHub and run it within conda
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 .
D. Run in a standalone installation of the SageMath distribution (no conda)
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 .
E. Run in Python (no installation of SageMath required)
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 Sagemath preparsed enviroment:
sage
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 .
If the above does not work, ensure passagemath-repl is installed in the current environment:
pip install passagemath-repl
Metadata
Release files for cutgeneratingfunctionology 1.5.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cutgeneratingfunctionology-1.5.4.tar.gz | 4.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cutgeneratingfunctionology-1.5.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.6 MB
Release files / cutgeneratingfunctionology-1.5.4.tar.gz
| Download URL | cutgeneratingfunctionology-1.5.4.tar.gz |
|---|---|
| Size | 4.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01c17d30e14351913c7cc0717f5222ff9ef9cc137de30589aa86c5c05907b831
|
|
BLAKE2b-256 checksum How to use checksums |
cad036f653f2797b62557f835b1f6a210cf9f0b54064bee5dadeb8b0c3d0013e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / cutgeneratingfunctionology-1.5.4-py3-none-any.whl
| Download URL | cutgeneratingfunctionology-1.5.4-py3-none-any.whl |
|---|---|
| Size | 374.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92fdd1854bdd8524ecf5d51f2a0d4837dc40b0a936015bce6c1113c54c3170f7
|
|
BLAKE2b-256 checksum How to use checksums |
be4fdc6b44925ef3767d1d38d2d92d3eeaa5faab26207c1b6f302ea918d52a97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|