[PPL-devel] PPL and simplification of polyhedra
Albert Cohen
Albert.Cohen at inria.fr
Tue Aug 19 09:04:01 CEST 2008
>> 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?
The simplification could take into account the integer hull of the
context to further reduce the system, but this would be combinatorially
expensive.
>> 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.
OK. I probably misunderstood the discussion on the big bunch of PolyLib
code dedicated to this simplification in a context. We need to
understand why it is so big, as Sebastian said :-).
>>> 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 }.
This is right, and is the most canonical definition I can see. However
it is not necessarily CLooG-optimal, e.g., when the largest set is
described by a union where it could be reduced into single half-space
intersection.
> 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.
Right, but I would recommend the PPL to follow the canonical definition
above, as it has always been considered sufficient so far.
Albert
More information about the PPL-devel
mailing list