- Notifications
You must be signed in to change notification settings - Fork20
Python wrapper for isl, an integer set library
inducer/islpy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
islpy is a Python wrapper around Sven Verdoolaege'sisl, a library for manipulating sets andrelations of integer points bounded by linear constraints.
Supported operations on sets include
- intersection, union, set difference,
- emptiness check,
- convex hull,
- (integer) affine hull,
- integer projection,
- computing the lexicographic minimum using parametric integer programming,
- coalescing, and
- parametric vertex enumeration.
It also includes an ILP solver based on generalized basis reduction, transitiveclosures on maps (which may encode infinite graphs), dependence analysis andbounds on piecewise step-polynomials.
Islpy comes with comprehensivedocumentation.
Requirements: islpy needs a C++ compiler to build. It can optionally make useof GMP for support of large integers.
One important thing to know about islpy is that it exposes every function in islthat is visible in the headers, not just what isl's authors consider itsdocumented, public API (marked by__isl_export
). These (technically)undocumented functions are marked in the islpy documentation. Many of them are usefuland essential for certain operations, but isl's API stability guarantees do notapply to them. Use them at your own risk.
About
Python wrapper for isl, an integer set library