[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