[PPL-devel] PPL and simplification of polyhedra
Sven Verdoolaege
skimo at kotnet.org
Mon Aug 18 22:54:43 CEST 2008
On Mon, Aug 18, 2008 at 10:25:09PM +0200, Albert Cohen wrote:
> A generic "gist" should not restrict in any way the polyhedron to be
> simplified w.r.t. the context polyhedron (both could be unions, in
> fact). So your example makes perfect sense, but maybe Skimo had stg
> else in mind?
I thought that's how you described the problem, and that's IIRC
how it is used in CLooG, but sure, you can do it more generally.
> > >> { A >= 0 }, what do you consider simpler?
> > >>
> > >> Possibility 1: { A <= 0 }
> > >> Possibility 2: { A = 0 }.
> > >
> > > I asked the same question on the polylib mailing list many
> > > years ago but got no answer.
>
> Strange.
>
> I did not check what the PolyLib or Omega do, but {A=0} whould make
> more sense although it may cost more to achieve. We do not need to
> work on integer points only for this simplification, though, and I
Why are you talking about integer points?
> don't think the PolyLib implements more than a bunch of special cases
> here (but I'm not at all familiar with that code).
There's no special cases in the PolyLib implementation that I'm aware of.
> > I see. However, I am interested in understanding the real needs of Cloog
> > independently from what PolyLib does.
>
> It's hard to define formally,
It's defined in section 4.8 of PI-785 as the largest set C
such that C \cap B = A \cap B (where A is the original set and
B is the context).
So, if you use this definition, it should return { A <= 0 }.
However, if you give it { A = 0 } as the original set, PolyLib
will or at least used to return { A = 0 }.
I don't think I've ever fixed this, given that there was
effectively zero interest.
As to CLooG, IMHO, it doesn't really matter which of the two
you give, although to a human reader, { A = 0 } may be more
intuitive.
skimo
More information about the PPL-devel
mailing list