Welcome to namedisl’s documentation!¶
namedisl is a Python library for (name-based) polyhedral operations,
based on Sven Verdoolaege’s isl.
Unlike in isl, names matter in namedisl. Observe:
>>> import namedisl as nisl
>>> print(nisl.make_set("{[i]: 0<=i<10}") & nisl.make_set("{[j]: 0<=j<10}"))
{ [i, j] : 0 <= i <= 9 and 0 <= j <= 9 }
I.e., since i and j have different names, they are considered different dimensions.
This contrasts against the behavior of islpy (and upstream isl),
which reason by dimension index and would consider i and j the
same axis (in most cases).