A -polyhedron can be defined as the image of a polyhedron by an
invertible, integral function. Consider, for instance, the lattice
and the polyhedron
. Then
is
a
-polyhedron (see figure
).
can also be expressed as:
![]() |
As Polylib operates on domains made out of
unions of polyhedra, it is natural to define a similar
object for -polyhedra. A
-domain is a finite union of intersections
between a domain and a full dimensionnal integral affine lattice.
The set of
-domains is closed under union, intersection,
difference, and image by integral invertible function.
The image and pre-image by rational functions is also implemented
in Polylib, but the result of the image (or pre-image) is always
intersected with the canonical lattice ().
See [NRi00] for further detail on this subject.
From the implementation point of view, a -polyhedron is represented
internally as the image of a polyhedron by an affine, invertible
mapping. Hence, storing a
-polyhedron amounts to storing a domain and a
matrix.