20 research outputs found

    Computing parametric rational generating functions with a primal Barvinok algorithm

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    No full text
    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

    Parametric Polytope Reconstruction, an Application to Crystal Shape Estimation

    Full text link

    A faster algorithm for counting the integer points number in Δ\Delta-modular polyhedra

    Full text link
    Let a polytope PP be defined by a system AxbA x \leq b. We consider the problem to count a number of integer points inside PP, assuming that PP is Δ\Delta-modular. The polytope PP is Δ\Delta-modular if all the rank sub-determinants of AA are bounded by Δ\Delta in the absolute value. We present a new FPT-algorithm, parameterized by Δ\Delta and by the number of simple cones in the normal fun triangulation of PP, which is more efficient for Δ\Delta-modular problems, than the approach of A.~Barvinok et al. To this end, we do not directly compute the short rational generating function for PZnP \cap Z^n, 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 Δ\Delta-modular simplicies and similar polytopes that have n+O(1)n + O(1) facets. For any fixed mm, we give an FPT-algorithm to count solutions of the unbounded mm-dimensional Δ\Delta-modular knapsack problem. For the case, when Δ\Delta grows slowly with respect to nn, we give a counting algorithm, which is more effective, than the state of the art ILP feasibility algorithm

    On lattice point counting in Δ\Delta-modular polyhedra

    Full text link
    Let a polyhedron PP be defined by one of the following ways: (i) P={xRn ⁣:Axb}P = \{x \in R^n \colon A x \leq b\}, where AZ(n+k)×nA \in Z^{(n+k) \times n}, bZ(n+k)b \in Z^{(n+k)} and rankA=nrank\, A = n; (ii) P={xR+n ⁣:Ax=b}P = \{x \in R_+^n \colon A x = b\}, where AZk×nA \in Z^{k \times n}, bZkb \in Z^{k} and rankA=krank\, A = k. And let all rank order minors of AA be bounded by Δ\Delta in absolute values. We show that the short rational generating function for the power series mPZnxm \sum\limits_{m \in P \cap Z^n} x^m can be computed with the arithmetic complexity O(TSNF(d)dkdlog2Δ), O\left(T_{SNF}(d) \cdot d^{k} \cdot d^{\log_2 \Delta}\right), where kk and Δ\Delta are fixed, d=dimPd = \dim P, and TSNF(m)T_{SNF}(m) is the complexity to compute the Smith Normal Form for m×mm \times m integer matrix. In particular, d=nd = n for the case (i) and d=nkd = n-k 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 cP(y)=PyZnc_P(y) = |P_{y} \cap Z^n|, where PyP_{y} is parametric polytope, can be computed by a polynomial time even in varying dimension if PyP_{y} has a close structure to the cases (i) or (ii). As another consequence, we show that the coefficients ei(P,m)e_i(P,m) of the Ehrhart quasi-polynomial mPZn=j=0nei(P,m)mj \left| mP \cap Z^n\right| = \sum\limits_{j = 0}^n e_i(P,m)m^j can be computed by a polynomial time algorithm for fixed kk and Δ\Delta

    Nested-Loops Tiling for Parallelization and Locality Optimization

    Get PDF
    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
    corecore