Skip to content

inducer/namedisl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

namedisl: Integer Set Library with Significant Names

Gitlab Build Status Github Build Status Python Package Index Release Page

namedisl is a Python wrapper around Sven Verdoolaege's isl, a library for manipulating sets and relations of integer points bounded by linear constraints.

It is based on islpy (and, transitively, on isl), with the important distinction that names matter. While isl (and hence islpy) has support for naming set dimensions, the names do not matter: isl considers {[i]: 0<=i<10} and {[j]: 0<=j<10} the same set. Relatedly, isl's (and hence islpy's) interface is based around dimension indices rather than names. Meanwhile, namedisl's interface uses names to identify axes.

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, transitive closures on maps (which may encode infinite graphs), dependence analysis and bounds on piecewise step-polynomials.

namedisl comes with comprehensive documentation.

About

A wrapper around isl/islpy with significant names

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages