Wrapper around isl, an integer set library
islpy is a Python wrapper around Sven Verdoolaege’s isl, a library for manipulating sets and relations of integer points bounded by linear constraints.
Supported operations on sets include
It also includes an ILP solver based on generalized basis reduction, transitive closures on maps (which may encode infinite graphs), dependence analysis and bounds on piecewise step-polynomials.
Islpy comes with comprehensive documentation.
Requirements: islpy needs a C++ compiler to build. GMP, which used to be a dependency, is no longer required.