20 research outputs found
Computing parametric rational generating functions with a primal Barvinok algorithm
Computations with Barvinok's short rational generating functions are
traditionally being performed in the dual space, to avoid the combinatorial
complexity of inclusion--exclusion formulas for the intersecting proper faces
of cones. We prove that, on the level of indicator functions of polyhedra,
there is no need for using inclusion--exclusion formulas to account for
boundary effects: All linear identities in the space of indicator functions can
be purely expressed using half-open variants of the full-dimensional polyhedra
in the identity. This gives rise to a practically efficient, parametric
Barvinok algorithm in the primal space.Comment: 16 pages, 1 figure; v2: Minor corrections, new example and summary of
algorithm; submitted to journa
Symbolic and analytic techniques for resource analysis of Java bytecode
Recent work in resource analysis has translated the idea of amortised resource analysis to imperative languages using a program logic that allows mixing of assertions about heap shapes, in the tradition of separation logic, and assertions about consumable resources. Separately, polyhedral methods have been used to calculate bounds on numbers of iterations in loop-based programs. We are attempting to combine these ideas to deal with Java programs involving both data structures and loops, focusing on the bytecode level rather than on source code
Variable Ranges in Linear Constraints
We introduce an extension of linear constraints, called linearrange constraints, which allows for (meta-)reasoning about the approximation width of variables. Semantics for linearrange constraints is provided in terms of parameterized linear systems. We devise procedures for checking satisfiability and for entailing the maximal width of a variable. An extension of the constraint logic programming language CLP(R) is proposed by admitting linear-range constraints
Polyhedral Approximation of Multivariate Polynomials using Handelman's Theorem
International audienceConvex polyhedra are commonly used in the static analysis of programs to represent over-approximations of sets of reachable states of numerical program variables. When the analyzed programs contain nonlinear instructions, they do not directly map to standard polyhedral operations: some kind of linearization is needed. Convex polyhe-dra are also used in satisfiability modulo theory solvers which combine a propositional satisfiability solver with a fast emptiness check for polyhedra. Existing decision procedures become expensive when nonlinear constraints are involved: a fast procedure to ensure emptiness of systems of nonlinear constraints is needed. We present a new linearization algorithm based on Handelman's representation of positive polynomials. Given a polyhedron and a polynomial (in)equality, we compute a polyhedron enclosing their intersection as the solution of a parametric linear programming problem. To get a scalable algorithm, we provide several heuristics that guide the construction of the Handelman's representation. To ensure the correctness of our polyhedral approximation , our Ocaml implementation generates certificates verified by a checker certified in Coq
A faster algorithm for counting the integer points number in -modular polyhedra
Let a polytope be defined by a system . We consider the
problem to count a number of integer points inside , assuming that is
-modular. The polytope is -modular if all the rank
sub-determinants of are bounded by in the absolute value. We
present a new FPT-algorithm, parameterized by and by the number of
simple cones in the normal fun triangulation of , which is more efficient
for -modular problems, than the approach of A.~Barvinok et al. To this
end, we do not directly compute the short rational generating function for , which is commonly used for the considered problem. We compute its
particular representation in the form of exponential series that depends on one
variable, using the dynamic programming principle. We completely do not use the
A.~Barvinok's unimodular sign decomposition technique. Using our new complexity
bound, we consider different special cases that may be of independent interest.
For example, we give FPT-algorithms for counting the integer points number in
-modular simplicies and similar polytopes that have facets.
For any fixed , we give an FPT-algorithm to count solutions of the unbounded
-dimensional -modular knapsack problem. For the case, when
grows slowly with respect to , we give a counting algorithm, which is more
effective, than the state of the art ILP feasibility algorithm
On lattice point counting in -modular polyhedra
Let a polyhedron be defined by one of the following ways:
(i) , where ,
and ;
(ii) , where , and .
And let all rank order minors of be bounded by in absolute
values. We show that the short rational generating function for the power
series can be computed with the
arithmetic complexity where and are fixed, , and
is the complexity to compute the Smith Normal Form for integer matrix. In particular, for the case (i) and for
the case (ii).
The simplest examples of polyhedra that meet conditions (i) or (ii) are the
simplicies, the subset sum polytope and the knapsack or multidimensional
knapsack polytopes.
We apply these results to parametric polytopes, and show that the step
polynomial representation of the function , where
is parametric polytope, can be computed by a polynomial time even in
varying dimension if has a close structure to the cases (i) or (ii). As
another consequence, we show that the coefficients of the Ehrhart
quasi-polynomial can be computed by a polynomial time algorithm for fixed and
Recommended from our members
Mini-Workshop: Ehrhart-Quasipolynomials: Algebra, Combinatorics, and Geometry
[no abstract available
Nested-Loops Tiling for Parallelization and Locality Optimization
Data locality improvement and nested loops parallelization are two complementary and competing approaches for optimizing loop nests that constitute a large portion of computation times in scientific and engineering programs. While there are effective methods for each one of these, prior studies have paid less attention to address these two simultaneously. This paper proposes a unified approach that integrates these two techniques to obtain an appropriate locality conscious loop transformation to partition the loop iteration space into outer parallel tiled loops. The approach is based on the polyhedral model to achieve a multidimensional affine scheduling as a transformation that result the largest groups of tilable loops with maximum coarse grain parallelism, as far as possible. Furthermore, tiles will be scheduled on processor cores to exploit maximum data reuse through scheduling tiles with high volume of data sharing on the same core consecutively or on different cores with shared cache at around the same time