arxiv:2110.01732v1 [cs.cc] 4 oct 2021

Post on 11-Jan-2022

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

arX

iv:2

110.

0173

2v2

[cs

.CC

] 2

8 O

ct 2

021

Noname manuscript No.(will be inserted by the editor)

Faster algorithm for counting of the integer points

number in ∆-modular polyhedra

D. V. Gribanov, D. S. Malyshev

the date of receipt and acceptance should be inserted later

Abstract Let a polytope P be defined by one of the following ways:

(i) P = {x ∈ Rn : Ax ≤ b}, where A ∈ Z(n+m)×n, b ∈ Q(n+m), rank(A) = nand d := dim(P) = n;

(ii) P = {x ∈ Rn+ : Ax = b}, where A ∈ Z

m×n, b ∈ Zm, rank(A) = m and

d := dim(P) = n−m;

and let all the rank minors of A be bounded by ∆ in the absolute values. Weshow that | P ∩Zn | can be computed with an algorithm, having the arithmeticcomplexity bound

O(ν(d,m,∆) · d3 ·∆4 · log(∆)

),

where ν(d,m,∆) is the maximal possible number of vertices in a d-dimensionalpolytope P, defined by one of the systems above.

Using the obtained result, we have the following arithmetical complexitybounds to compute | P ∩Zn |:

– The bound O( dm+1)m·d3 ·∆4 ·log(∆) that is polynomial on d and∆, for any

fixed m. Takingm = 1, it gives an O(d4 ·∆4 ·log(∆)

)-algorithm to compute

the number of integer points in a simplex or the number of solutions of theunbounded Subset-Sum problem, where ∆ means the maximal weight ofan item.

The article was prepared under financial support of Russian Science Foundation grant No21-11-00194.

D. V. GribanovNational Research University Higher School of Economics, 25/12 Bolshaja PecherskajaUlitsa, Nizhny Novgorod, 603155, Russian FederationE-mail: dimitry.gribanov@gmail.com

D. S. MalyshevNational Research University Higher School of Economics, 25/12 Bolshaja PecherskajaUlitsa, Nizhny Novgorod, 603155, Russian FederationE-mail: dsmalyshev@rambler.ru

2 D. V. Gribanov, D. S. Malyshev

– The bound O(md +1

)d2 ·d4 ·∆4 · log(∆) that is polynomial on m and ∆, for

any fixed d. The last bound can be used to obtain a faster algorithm forthe ILP feasibility problem, when the parameters m and ∆ are relativelysmall. For example, taking m = O(d) and ∆ = 2O(d), the above boundbecomes 2O(d), which is faster, than the state of the art algorithm, due to[10,11] with the complexity bound O(d)d · poly(size(A, b));

– The bound O(d)4+d2 ·∆4+d · log(∆) that is polynomial on ∆, for any fixed

d. Taking ∆ = O(1), the last bound becomes O(d)4+d2 , which again gives

a faster algorithm for the ILP feasibility problem, than the state of the artalgorithm, due to [10,11].

The unbounded and parametric versions of the above problem are alsoconsidered.

Keywords Integer Linear Programming · Short Rational GeneratingFunction · Bounded Sub-Determinants · Multidimensional KnapsackProblem · Subset-Sum Problem · Counting Problem

1 Introduction

1.1 Basic definitions and notations

Let A ∈ Zm×n. We denote by Aij its ij-th element, by Ai∗ its i-th row, andby A∗j its j-th column. For subsets I ⊆ {1, . . . ,m} and J ⊆ {1, . . . , n}, thesymbol AIJ denote the sub-matrix of A, which is generated by all the rowswith indices in I and all the columns with indices in J . If I or J is replacedby ∗, then all the rows or columns are selected, respectively. Sometimes, wesimply write AI instead of AI∗ and AJ instead of A∗J , if this does not lead toconfusion.

The maximum absolute value of entries of a matrixA is denoted by ‖A‖max =maxi,j

∣∣Ai j

∣∣. The lp-norm of a vector x is denoted by ‖x‖p. The number of non-

zero components of a vector x is denoted by ‖x‖0 =∣∣{i : xi 6= 0}

∣∣.For x ∈ R, we denote by ⌊x⌋, {x}, and ⌈x⌉ the floor, fractional part, and

ceiling of x, respectively.For c, x ∈ R

n, by 〈c, x〉 we denote the standard scalar product of twovectors. In other words, 〈c, x〉 = c⊤x.

Definition 1 For a matrix A ∈ Zm×n, by

∆k(A) = max{∣∣det(AIJ )

∣∣ : I ⊆ {1, . . . ,m}, J ⊆ {1, . . . , n}, |I| = |J | = k},

we denote the maximum absolute value of determinants of all the k × k sub-matrices of A. By ∆gcd(A, k) and ∆lcm(A, k), we denote the greatest commondivisor and the least common multiplier of nonzero determinants of all thek × k sub-matrices of A, respectively. Additionally, let ∆(A) = ∆rankA(A),∆gcd(A) = ∆gcd(A, rank(A)), and ∆lcm(A) = ∆lcm(A, rank(A)).

If ∆(A) ≤ ∆, for some ∆ > 0, then A is called ∆-modular.

Title Suppressed Due to Excessive Length 3

Definition 2 For a matrix B ∈ Rm×n, cone(B) = {Bt : t ∈ Rn≥0} is the cone,

spanned by columns of B.

Definition 3 For A ∈ Zk×n and b ∈ Z

k, we denote

P(A, b) = {x ∈ Rn : Ax ≤ b},

xz := xz11 · . . . · xzn

n and f(P ;x) =∑

z∈P ∩Zn

xz .

Definition 4 Let A ∈ Z(n+m)×n, rank(A) = n, b ∈ Q

n+m and ∆ = ∆(A).Consider a polytope P = P(A, b) and a cone C = cone(A⊤).

By ν(n,m,∆) and µ(n,m,∆) we denote the maximal possible number ofvertices in P, and the maximal possible number of n-dimensional simplices inan arbitrary triangulation of C respectively.

1.2 Valuations and indicator functions of polyhedra

In this Subsection, we mainly follow to the monographs [4,5] in the most ofdefinitions and notations.

Let V be a d-dimensional real vector space and L ⊂ V be a lattice.

Definition 5 Let A ⊆ V be a set. The indicator [A] of A is the function[A] : V → R defined by

[A](x) =

{1, if x ∈ A

0, if x /∈ A .

The algebra of polyhedra P(V) is the vector space defined as the span of theindicator functions of all the polyhedra P ⊂ V .

Definition 6 A linear transformation T : P(V) → W , where W is a vectorspace, is called a valuation. We consider only L-valuations or lattice valuationsthat satisfy

T ([P +u]) = T ([P ]), for all rational polytopes P and u ∈ L,

see [28, pp. 933–988], [29].

Remark 1 [3]. Let us denote g(P) = T ([P ]) for a lattice valuation T . Thegeneral result of P. McMullen [27] states that if P ⊂ V is a rational polytope,d = dim(P), and t ∈ N is a number, such that t · P is a lattice polytope, thenthere exist functions gi(P , ·) : N → C, such that

g(α · P) =

d∑

i=0

gi(P , α) · αi, for all α ∈ N , and

gi(P , α+ t) = gi(P, α), for all α ∈ N .

If we compute g(q · P), for q ∈ {α, α+ t, α+2t, . . . , α+ dt}, then we canobtain gi(P, α) by interpolation.

4 D. V. Gribanov, D. S. Malyshev

We are mainly interested in two valuations, the first is the counting val-uation E([P ]) = | P ∩Z

d |. Applying the result of P. McMullen to E([P ]), weconclude that

|α · P ∩Zd | =

d∑

i=0

ei(P , α) · αi, for all α ∈ N , and

ei(P , α+ t) = ei(P, α), for all α ∈ N .

The function on the right hand side is called the Ehrhart quasi-polynomial ofP named after E. Ehrhart, who discovered the existence of such polynomials[15], see also [33, Section 4.6].

The second valuation F([P ]), which will be significantly used in our paper,is defined by the following theorem, proved by J. Lawrence [23], and, indepen-dently, by A. Khovanskii and A. Pukhlikov [30]. We borrowed the formulationfrom [4, Section 13]:

Theorem 1 ([23,30]) Let R(Cd) be the space of rational functions on Cd

spanned by the functions of the type

xv

(1 − xu1) . . . (1− xud),

where v ∈ Zd and ui ∈ Zd \{0}, for any i ∈ {1, . . . , d}. Then there exists alinear transformation (a valuation)

F : P(Qd) → R(Cd),

such that the following properties hold:

1. Let P ⊂ Rd be a non-empty rational polyhedron without lines, and let

C be its recession cone. Let C be generated by rays w1, . . . , wn, for somewi ∈ Z

d \{0}, and let us define

WC ={x ∈ C

d : |xwi | < 1, for any i ∈ {1, . . . , n}}.

Then, WC is a non-empty open set and, for all x ∈ WC, the series

f(P ;x) =∑

z∈P ∩Zd

xz

converges absolutely and uniformly on compact subsets of WC to the func-tion f(P ;x) = F([P ]) ∈ R(Cd).

2. If P contains a line, then f(P;x) = 0.

If P is a rational polyhedron, then f(P ;x) is called its short rational gen-erating function.

Title Suppressed Due to Excessive Length 5

1.3 The problems under consideration and results of the paper

1.3.1 The lattice points counting problem

The main problem that we consider is following:

Problem 1 Let P be a rational polytope defined by one of the following ways:

1. The polytope P is defined by a system in the canonical form: P = {x ∈

Rn : Ax ≤ b}, where A ∈ Z

(n+m)×n, b ∈ Zn+m, and rank(A) = n;

2. The polytope P is defined by a system in the standard form: P = {x ∈R

n≥0 : Ax = b}, where A ∈ Z

m×n, b ∈ Zm, rank(A) = m, and ∆gcd(A) = 1.

The problem at state is to compute the value of | P ∩Zn |.

The first polynomial-time in a fixed dimension algorithm, which finds theshort generating function (its definition will be presented later) for P andsolves Problem 1, was proposed by A. Barvinok in [2]. Further modificationsand details were given in [4,5,6,14]. An alternative approach was presented in[20,22].

The paper [19] gives a polynomial-time algorithm for Problem 1 parame-terised by m and ∆ = ∆(A). More precisely, the paper [19] gives an algorithmwith the arithmetic complexity bound

O(TSNF (d) · d

m · dlog2(∆)),

where TSNF (d) is the complexity of computing the Smith Normal Form ford × d integer matrices and d is the dimension of the corresponding polytope(d ≤ n for the canonical form and d ≤ n − m for the standard form). Weimprove the mentioned result from [19] in the following way:

Theorem 2 Problem 1 can be solved with an algorithm, having the arithmeticcomplexity bound

O(ν(d,m,∆) · d3 ·∆4 · log(∆)

),

where ∆ = ∆(A), d = dim(P) (d ≤ n, for the canonical form, and d ≤ n−m,for the standard form).

In contrast to [19], in Theorem 2 we do not implicitly compute the corre-sponding short rational generating function for the formal power series f(P ;x).Instead of that, we only find the result of the substitution xi = eci·τ to f(P ;x),where the vector c ∈ Zn is chosen as the sum of some rows of the matrix A andτ is a variable. Such a substitution gives a shorter formula that can be com-puted using dynamic programming techniques, and, due to [4, Chapter 14],the value | P ∩Zn | is exactly the constant therm in a Teilor’s expansion of theresulting function with respect to τ .

Using Theorem 2 and results of the papers [24,26] that can help to boundthe value of ν(d,m,∆), we present new complexity bounds for Problem 1.Additionally, we show how to handle the case of unbounded polyhedra.

6 D. V. Gribanov, D. S. Malyshev

Corollary 1 The arithmetic complexity of an algorithm by Theorem 2 can bebounded with the following relations:

1. The bound O(

dm +1

)m· d3 ·∆4 · log(∆) that is polynomial on d and ∆, for

any fixed m;

2. The bound O(md + 1

) d2 · d4 ·∆4 · log(∆) that is on m and ∆, for any fixed

d;3. The bound O(d)4+

d2 ·∆4+d · log(∆) that is polynomial on ∆, for any fixed

d.

To handle the case, when P is an unbounded polyhedron, we need to pay anadditional factor of O( d

m + 1) · d4 in the first bound and O(d4) in the secondbound. The third bound stays unchanged.

Proofs of Theorem 2 and Corollary 1 will be given in Section 2 and Subsection2.4, respectively.

The first bound can be used to count the number of integer points in asimplex or the number of solutions of the unbounded Subset-Sum problem

{w⊤x = w0

x ∈ Zn≥0 .

For the both problems, it gives the arithmetic complexity bound O(n4 ·∆4 ·

log(∆)), where ∆ = ‖w‖max for the Subset-Sum problem.

The second and third bounds can be used to obtain a faster algorithmfor the ILP feasibility problem, when the parameters m and ∆ are relativelysmall. For example, taking m = O(d) and ∆ = 2O(d) in the second bound,it becomes 2O(d), which is faster, than the state of the art algorithm, dueto [10,11] (see also [7,17,37], for a bit more general setting) that has thecomplexity bound O(d)d · poly(size(A, b)). Substituting ∆ = O(1) to the third

bound, it gives O(d)4+d2 , which again is better, than the general case bound

O(d)d · poly(size(A, b)).Using the Hadamard’s inequality, we can write trivial complexity estimates

in terms of ∆1 := ∆1(A) = ‖A‖max for Problem 1 in the standard form.

Corollary 2 Let a polytope P be defined in the following way:

P = {x ∈ Rn≥0 : Ax = b},

where A ∈ Zm×n, b ∈ Z

m, rank(A) = m, and ∆gcd(A) = 1.Then, the value of | P ∩Zn | can be computed with an algorithm, having the

following arithmetic complexity bounds:

– O(d+m)m · d3 ·mm+1 ·∆4m1 · log(m∆1),

– O(md + 1

)d2 · d4 ·m2m+1 ·∆4m

1 · log(m∆1),

where ∆1 = ∆1(A) and d = dim(P) ≤ n−m. To handle the case, when P isan unbounded polyhedron, we need to pay an additional factor of O(d+m

m ) · d4

in the first bound and O(d4) in the second bound.

Title Suppressed Due to Excessive Length 7

Remark 2 We are interested in development of algorithms that will be poly-nomial, when we bound some of the parameters d, m, and ∆. Due to [19,Corollary 3], the problem in the standard form can be reduced to the problemin the canonical form maintaining values of m and ∆, see also [18, Lemmas 4and 5] and [38] for a more general reduction. Hence, in the proofs we will onlyconsider polytopes defined by systems in the canonical form.

Remark 3 To simplify analysis, we assume that ∆gcd(A) = 1 for ILP prob-lems in the standard form. It can be done without loss of generality, becausethe original system Ax = b, x ≥ 0 can be polynomially transformed to theequivalent system Ax = b, x ≥ 0 with ∆gcd(A) = 1.

Indeed, let A = P(S 0

)Q, where

(S 0

)∈ Z

m×m be the SNF of A, and

P ∈ Zm×m, Q ∈ Z

n×n be unimodular matrices. We multiply rows of theoriginal system Ax = b, x ≥ 0 by the matrix (PS)−1. After this step, theoriginal system is transformed to the equivalent system

(Im×m 0

)Qx = b,

x ≥ 0. Clearly, the matrix(Im×m 0

)is the SNF of

(Im×m 0

)Q, so its ∆gcd(·)

is equal 1.

1.3.2 Parametric versions of the counting problem

The most natural parametric generalization of Problem 1 is the following state-ment:

Problem 2 Let P be a polytope from the definition of Problem 1. We areinterested in computing of the coefficients ei(P , α) of the Ehrhart’s quasi-polynomial (see Subsection 1.2):

|α · P ∩Zd | =d∑

i=0

ei(P , α)αi.

After this, the coefficients are known and stored in some data structure upto their periods, we can compute |α · P ∩Zd | with a linear-time algorithm.

Let P be a polyhedron of Problem 1. There exists t ∈ Z>0, such thatt·P ⊆ Z

n and t ≤ ∆lcm(A). Corollary 1 gives a straightforward way to calculateall the coefficients of the Ehrhart’s quasipolynomial for P just by interpolation(see Subsection 1.2). Since the period of the coefficients is bounded by∆lcm(A),we need to compute at most n ·∆lcm(A) values of |α · P ∩Z

n | to complete theinterpolation. In other words, the following Corollary holds:

Corollary 3 Problem 2 can be solved with an algorithm having the followingcomplexity bounds

1. The polynomial on d bound O(

dm + 1

)m· d4 · g(∆);

2. The polynomial on m bound O(md + 1

) d2 · d5 · g(∆);

3. The bound O(d)5+d2 ·∆4+d · g(∆);

where d = dim(P), g(∆) = ∆lcm(A) ·∆4 · log(∆), and ∆ = ∆(A).

8 D. V. Gribanov, D. S. Malyshev

The previous Corollary gives an FPT-algorithm to compute coefficients ofthe Ehrhart quasipolynomials of ∆-modular simplices. A problem with a closeformulation was solved in [3], where it was shown that the last k coefficientsof the Ehrhart quasipolynomial of a rational simplex can be found with apolynomial-time algorithm, for any fixed k.

A more general variant of the parametric counting problem is consideredin the papers [8,19,21,25,35,36], Let us formulate some definitions followingto [36].

Definition 7 Let P ⊂ Qp ×Q

n be a rational polyhedron, such that, for ally ∈ Q

p, the set Py = {x ∈ Rn :

(y

x

)∈ P} is bounded, and cP : Z

p → Z isdefined by

cP(y) =∣∣Py ∩Z

n∣∣ =

∣∣∣{x ∈ Zn :

(y

x

)∈ P}

∣∣∣ .

We call P a parametric polytope, because, if

P = {(y

x

)∈ Q

p ×Qn : B y+Ax ≤ b},

for some matrices B ∈ Z(n+m)×p, A ∈ Z(n+m)×n, rank(A) = n, and a vectorb ∈ Q

n+m, then

Py = {x ∈ Qn : Ax ≤ b−B y}.

Problem 3 Let P ⊂ Qp ×Qn be a rational parametric polytope defined byone of the following ways:

1) P = {(y

x

)∈ Qp ×Qn : B y+Ax ≤ b}, whereA ∈ Z(n+m)×n,B ∈ Z(n+m)×p,

b ∈ Qn+m, and rank(A) = n;2) P = {

(y

x

)∈ Q

p ×Qn+ : B y+Ax = b}, where A ∈ Z

m×n, B ∈ Zm×p,

b ∈ Zm, rank(A) = m, and ∆gcd(A) = 1.

Our aim is to find an efficient representation of the counting functioncP(y) = | Py ∩Zn |. It can be some formula or an efficient data structurethat after a preprocessing one can efficiently substitute arguments to cP(y).

The main result of the paper [35] states that, in a fixed dimension, thepiece-wise step-polynomial representation of the counting function cP(y) canbe computed with a polynomial-time algorithm. After such representation isconstructed, the values of cP(y) can be computed by an even faster algorithm.

One of the main results of the paper [19] states that such a piece-wise step-polynomial representation can be computed in varying dimension if we fix theparameters m and ∆ = ∆(A). The resulted algorithm has the arithmeticcomplexity n(m−1)(p+1)+const · nlog2(∆) and the length of the resulted step-polynomial can be bounded by O(nm · nlog2(∆)).

As the second main result of the current paper, we give a faster algorithmthat computes a more efficient representation of cP(y) than in the paper [19].We call this representation a periodical piece-wise step-polynomial.

Title Suppressed Due to Excessive Length 9

Definition 8 A periodical step-polynomial g : Qn → Q is a function of theform

g(x) =

l∑

j=1

πj

(⌊T j(x)⌋

) dj∏

k=1

⌊Fkj(x)⌋, (1)

where F jk : Qn → Q and T j : Qn → Qs (for some s) are affine functions, andπj : Z

s → Z are periodical functions (e.g. πj(x) = πj(x+t), for some t ∈ Zs).

We say that the degree of g(x) is maxj

{dj} and length is l.

A periodical piece-wise step-polynomial c : Zn → Q is a collection of ratio-nal polyhedra Qi together with the corresponding functions gi : Qi ∩Z

n → Q,such that

1) Qn =

⋃i rel.int(Qi) and rel.int(Qi) ∩ rel.int(Qj) = ∅, for different i, j;

2) c(x) = gi(x), for x ∈ rel.int(Qi) ∩ Zn;

3) each gi is a periodical step-polynomial.

We say that the degree of c(x) is maxi{deg(gi)} and the length is maxi{length(gi)}.

Now, we are able to present our second main result.

Theorem 3 Let P ⊂ Qp ×Qn be a rational parametric polytope defined byone of the following ways:

1) P = {(y

x

)∈ Qp ×Qn : B y+Ax ≤ b}, where A ∈ Z(n+m)×n, B ∈ Z(n+m)×p,

b ∈ Qn+m, and rankA = n;2) P = {

(y

x

)∈ Q

p ×Qn+ : B y+Ax = b}, where A ∈ Z

m×n, B ∈ Zm×p,

b ∈ Zm, and rankA = m.

Let ν := ν(n,m,∆), µ := µ(n,m,∆) and η be the number of (p − 1)-dimensional faces in P. Then the periodical piece-wise step-polynomial repre-sentation of the counting function cP(y) can be computed with an algorithmhaving the arithmetic complexity bound

(nmp)O(1) · η2p · ν · µ · log(ν) ·∆4 · log(∆).

The length and degree of the resulted function is bounded by O(µ ·n3 ·∆2) andn− 1, respectively.

Having such representations, the queries to the values of cP(y) can be per-formed with O(µ · n3 ·∆2) arithmetic operations.

The proof of Theorem 3 will be given in Section 3.

Remark 4 It is important to note that we do not need completely constructedperiodical piece-wise step-polynomial if we want to perform queries to cP(y).After a preprocessing with the better arithmetic complexity

(nmp)O(1) · ηp · ν · µ ·∆4 · log(∆),

we can perform the queries cP(y) on the fly without knowledge of a completefunction preserving the same complexity bound. The complexity bounds thatare given in [19,35] follow to this rule.

10 D. V. Gribanov, D. S. Malyshev

Using Lemma 1 and the previous remark, we give the following complexitybounds.

Corollary 4 The following arithmetical complexity bounds of Theorem 3 hold:

Preprocessing Query

Poly. on n and ∆: (nmp)O(1) · O(n+mm

)(m−1)(p+2)·∆4 · log(∆) O

(n+mm

)m· n3 ·∆2

Poly. on m and ∆: (nmp)O(1) ·O(m+nn

)(p+1)(n+1)·∆4 · log(∆) O

(m+nn

)n/2· n3 ·∆2

Poly. on ∆: (∆nmp)O(1) · n(p+1)(n+1) ·∆2(p+1)(n+1) n3+n2 ·∆2+n

Here, when we say ”Poly.”, we mean that the formula is polynomial on givenparameters if other parameters are fixed numbers.

Good surveys on the related ∆-modular ILP problems and parameterisedILP complexity are given in [16,18,19,34].

1.4 Auxiliary facts from the polyhedral analysis

In this Subsection, we mainly follow to [4,5].

Theorem 4 (Theorem 2.3 of [5]) Let V and W be finite-dimensional realvector spaces, and let T : V → W be an affine transformation. Then

1) for every polyhedron P ⊂ V, the image T (P) ⊂ W is a polyhedron;2) there is a unique linear transformation (valuation) T : P(V) → P(W),

such that

T ([P ]) =[T (P)

], for every polyhedron P ⊂ V .

Let us fix a scalar product 〈·, ·〉 in V , just making V Euclidean space.

Definition 9 Let P ⊂ V be a non-empty set. The polar P◦ of P is definedby

P◦ ={x ∈ V : 〈x, y〉 ≤ 1 ∀y ∈ P

}.

Definition 10 Let P ⊂ V be a non-empty polyhedron, and let v ∈ P be apoint. We define the tangent cone of P at v by

tcone(P , v) ={v + y : v + εy ∈ P, for some ε > 0

}.

We define the cone of feasible directions at v by

fcone(P , v) ={y : v + εy ∈ P, for some ε > 0

}.

Thus, tcone(P , v) = v + fcone(P, v).

Remark 5 If an n-dimensional polyhedron P is defined by a system Ax ≤ band P contains no lines, then, for any v ∈ vert(P), it holds

tcone(P , v) = {x ∈ V : AJ (v)∗x ≤ bJ (v)},

fcone(P , v) = {x ∈ V : AJ (v)∗x ≤ 0},

fcone(P , v)◦ = cone(A⊤J (v)∗),

where J (v) = {j : Aj∗v = bj}.

Title Suppressed Due to Excessive Length 11

It is widely known that a slight perturbation in the right-hand sides of asystem Ax ≤ b can transform the polyhedron P(A, b) to a simple one. Here,we need an algorithmic version of this fact, presented in the following technicaltheorem.

Theorem 5 Let A ∈ Zk×n, rank(A) = n ≤ k, b ∈ Q

k, γ = max{‖A‖max, ‖b‖∞},and P = P(A, b) be the n-dimensional polyhedron.

Then, for 1/ε = 1 + 2n · n⌈n/2⌉ · γn and the vector t ∈ Qk, with ti = εi−1,

the polyhedron P ′ = P(A, b+ t) is simple.

Proof Let us suppose by the contrary that there exists a vertex v of P ′ and aset of indices J such that AJ v = (b + t)J , | J | = n + 1 and rank(AJ ) = n.The last is possible iff det(M) = 0, where M =

(AJ (b + t)J

). Note that

M = B +D, where B =(AJ bJ

)and D =

(0(n+1)×n tJ

). We have,

det(M) = det(B) +

n+1∑

i=1

det(B[i, tJ ]) =

= det(B) +

n+1∑

i=1

n+1∑

j=1

(−1)i+j · (tJ )j · det(BJ \{j} I \{i}),

where I = {1, . . . , n+1} and B[i, tJ ] is the matrix induced by the substitutionof the column tJ instead of i-th column of B.

Let us assume that (tJ )j = εdj , for j ∈ I, where dj ∈ Z and 0 ≤ d1 < d2 <· · · < dn+1 ≤ k − 1. Consequently, the condition det(M) = 0 is equivalent tothe following condition:

det(B) +

n+1∑

j=1

εdj ·

n∑

i=1

(−1)i+j · det(BJ \{j} I \{i})

= 0. (2)

Note that the polynomial (2) is not zero, because in the opposite case thesystem AJ x = (b+ t)J will have infinitely many solutions that contradicts tothe equality rank(AJ ) = n.

As a corollary of the Rouche’s theorem, we have that |ε∗| ≥ 11+αmax/β

β+αmax, where ε∗ is any root of (2), αmax is the maximal absolute value of

the coefficients, and β is the absolute value of the non-zero coefficient with aminimal index.

Finally, 1/|ε∗| ≤ 2αmax ≤ 2n ·nn/2 ·γn, which contradicts to the Theorem’scondition on ε.

Lemma 1 The following relations hold for ν := ν(n,m,∆) and µ := µ(n,m,∆):

1. ν, µ = O(nm + 1

)m;

2. ν = n ·O(mn + 1

)⌊n2⌋, µ = n ·O

(mn + 1

)⌊n+1

2⌋;

3. ν = O(n)1+⌊n2⌋ ·∆n, µ = O(n)1+⌊ n+1

2⌋ ·∆1+n.

12 D. V. Gribanov, D. S. Malyshev

Proof The first bounds for ν and µ are follow from the trivial identities ν, µ ≤(n+mn

)=

(n+mm

)= O

(nm + 1

)m.

W.l.o.g. we can assume that dim(P) = n. Let us denote by ζ(k, n) themaximal number of vertices in a polytope that is dual to the n-dimensionalcyclic polytope with k vertices. Due to the seminal work of P. McMullen [26],ν ≤ ζ(n+m,n). Analogously, due to the seminal work of R. Stanley [31] (seealso [13, Corollary 2.6.5] and [32]), µ ≤ ζ(n+m+ 1, n+ 1)− (n+ 1).

Due to [40, Corollary 8.28],

ζ(k, n) ≤

⌊n2⌋∑

i=0

(k − (n+ 1) + i

i

)≤

≤ n ·

(k − (n+ 1) + ⌊n

2 ⌋

⌊n2 ⌋

)= n ·O

( kn

)⌊n2⌋.

Consequently, ν = n ·O(n+mn

)n2 and µ = (n+1) ·O

(n+m+1n+1

)⌊n+1

2⌋. So, the

second bounds hold.Finally, due to [24], we can assume that n+m = O(n2 ·∆2). Substituting

the last formula to the second bounds, we finish the proof.

2 Proof of Theorem 2

2.1 A recurrent formula for the generating function of a group polyhedron

Let G be a finite Abelian group and g1, . . . , gn ∈ G. Let, additionally, ri =∣∣〈gi〉

∣∣be the order of gi, for i ∈ {1, . . . , n}, and rmax = max

iri. For g0 ∈ G and

k ∈ {1, . . . , n}, let PG(k, g0) be the polyhedron induced by the convex hull ofsolutions of the following system:

k∑i=1

xigi = g0

x ∈ Zk≥0 .

(3)

Let us consider the formal power series

fk(g0;x) =∑

z∈PG(k,g0)∩Zk

xz .

For k = 1, we clearly have

f1(g0;x) =xs1

1− xr11

, where s = min{x1 ∈ Z≥0 : x1g1 = g0}.

If such s does not exist, then we put f1(g0;x) = 0.

Title Suppressed Due to Excessive Length 13

Note that, for any value of xk ∈ Z≥0, the system (3) can be rewritten as

k−1∑i=1

xigi = g0 − xkgk

x ∈ Zk−1≥0 .

Hence, for k ≥ 1, we have

fk(g0;x) =

=fk−1(g0;x) + xk · fk−1(g0 − gk;x) + · · ·+ xrk−1

k · fk−1(g0 − gk · (rk − 1);x)

1− xrkk

=

=1

1− xrkk

·rk−1∑

i=0

xik · fk−1(g0 − i · gk;x). (4)

Consequently,

fk(g0;x) =

r1−1∑i1=0

· · ·rk−1∑ik=0

ǫi1,...,ikxi11 . . . xik

k

(1 − xr11 )(1 − xr2

2 ) . . . (1− xrkk )

, (5)

where the nominator is a polynomial with coefficients ǫi1,...,ik ∈ {0, 1} anddegree at most (r1 − 1) . . . (rk − 1). Additionally, the formal power seriesfk(g0;x) converges absolutely to the given rational function if |xri

i | < 1, foreach i ∈ {1, . . . , k}.

2.2 Simple ∆-modular polyhedral cone and its generating function

Let A ∈ Zn×n, b ∈ Z

n, ∆ = | det(A)| > 0, P = P(A, b), and let us considerthe formal power series

f(P;x) =∑

z∈P ∩Zn

xz .

Let A = P−1SQ−1 and σ = Snn = ∆/∆gcd(A, n − 1), where S ∈ Zn×n is

the SNF of A and P,Q ∈ Zn×n are unimodular matrices. After the unimodularmap x = Qx′ and introducing slack variables y, the system Ax ≤ b becomes

Sx+ Py = Pb

x ∈ Zn

y ∈ Zn≥0 .

Since P is unimodular, the last system is equivalent to the system

{Py = Pb (mod S)

y ∈ Zn≥0 .

(6)

14 D. V. Gribanov, D. S. Malyshev

Note that points of P ∩Zn and the system (6) are connected by the bijectivemap x = A−1(b− y).

The system (6) can be interpreted as a group system (3), where G =ZnmodS with an addition modulo S, k = n, g0 = Pb mod S and gi =

P∗i mod S, for i ∈ {1, . . . , n}. Clearly, | G | = | det(S)| = ∆ and rmax ≤ σ.Following to the previous Subsection, for k ∈ {1, . . . , n} and g0 ∈ G, let

Mk(g0) be the solutions set of the system

k∑i=1

yigi = g0

y ∈ Zk≥0,

and

fk(g0;x) =∑

y∈Mk(g0)

x−

k∑

i=1

hiyi

,

where hi is the i-th column of the matrix A∗ = ∆ ·A−1.Note that

f(P ;x) =∑

z∈P ∩Zn

xz =∑

y∈Mn(Pb mod S)

xA−1(b−y) =

= xA−1b ·∑

y∈Mn(Pb mod S)

x− 1∆A∗y = xA−1b · fn(Pb mod S;x

1∆ ). (7)

Due to (4) and (5), for k = 1, we have

f1(g0;x) =x−sh1

1− x−r1h1, where s = min{y1 ∈ Z≥0 : y1g1 = g0}. (8)

For k ≥ 2, we have

fk(g0;x) =1

1− x−rkhk·rk−1∑

i=0

x−ihk · fk−1(g0 − i · gk;x) and (9)

fk(g0;x) =

r1−1∑i1=0

· · ·rk−1∑ik=0

ǫi1,...,ik x−(i1h1+···+ikhk)

(1 − x−r1h1)(1− x−r2h2) . . . (1− x−rkhk), (10)

where the nominator is a Laurent polynomial with coefficients ǫi1,...,ik ∈ {0, 1}.Clearly, the power series fk(g0;x) converges absolutely to the given function if|x−rihi | < 1, for each i ∈ {1, . . . , k}.

Due to the formulae (10) and (7), we have

f(P ;x) =

r1−1∑i1=0

· · ·rn−1∑in=0

ǫi1,...,in x1∆A∗(b−(i1,...,in)

⊤)

(1− x−

r1∆

h1

)(1− x−

r2∆

h2

). . .

(1− x− rn

∆hn

) . (11)

Title Suppressed Due to Excessive Length 15

Note that ri∆hi is an integer vector, for any i ∈ {1, . . . , n}, and 1

∆A∗(b −(i1, . . . , in)

⊤) is an integer vector, for any (i1, . . . , in), such that ǫi1,...,in 6= 0.Indeed, by definition of ri, we have riP∗i ≡ 0 (mod S), so ri

∆hi = (riA−1)∗i =

(QS−1Pri)∗i, which is an integer vector. Vectors (i1, . . . , in)⊤ correspond to

solutions y of the system (6), and 1∆A∗(b − (i1, . . . , in)

⊤) = A−1(b − y) is aninteger vector.

Additionally, note that the vectors − ri∆hi represent extreme rays of the

recession cone of P.Let c ∈ Zn be chosen, such that (c⊤A∗)i 6= 0, for any i. Let us consider

the exponential sum

fk(g0; τ) =∑

y∈Mk(g0)

e−τ ·〈c,∑k

i=1hiyi〉

that is induced by fk(g0;x), substituting xi = eτ ·ci.The formulae (8), (9), and (10) become

f1(g0; τ) =e−〈c,sh1〉·τ

1− e−〈c,r1h1〉·τ, (12)

fk(g0;x) =1

1− e−〈c,rkhk〉·τ·rk−1∑

i=0

e−〈c,ihk〉·τ · fk−1(g0 − i · gk; τ), (13)

fk(g0; τ) =

r1−1∑i1=0

· · ·rk−1∑ik=0

ǫi1,...,ike−〈c,i1h1+···+ikhk〉·τ

(1− e−〈c,r1h1〉·τ

)(1− e−〈c,r2h2〉·τ

). . .

(1− e−〈c,rkhk〉·τ

) . (14)

Let χ = maxi∈{1,...,n}

{|〈c, hi〉|

}. Since 〈c, hi〉 ∈ Z 6=0, for each i, the number of

therms e−〈c,·〉·τ is bounded by 1 + 2 · k · rmax · χ ≤ 1 + 2 · k · σ · χ. So, aftercombining similar therms, the nominator’s length becomes O(k · σ · χ).

In other words, there exist coefficients ǫi ∈ Z≥0, such that

fk(g0; τ) =

k·σ·χ∑i=−k·σ·χ

ǫi · e−i·τ

(1− e−〈c,r1·h1〉τ

)(1− e−〈c,r2h2〉·τ

). . .

(1− e−〈c,rkhk〉·τ

) . (15)

Let us discuss the group-operations complexity issues to find the represen-tation (15) of fk(g0; τ), for any k ∈ {1, . . . , n} and g0 ∈ G.

Clearly, to find the desired representation of f1(g0; τ), for all g0 ∈ G, weneed r1 ·∆ group operations.

Fix g0 ∈ G and k ∈ {1, . . . , n}. To find fk(g0; τ), for k ≥ 2, we can use the

formula (13). Each nominator of the therm e−〈c,ihk〉·τ ·fk−1(g0−igk; τ) contains

at most 1 + 2 · (k − 1) · σ · χ non-zero therms of the type ǫ · e−〈c,·〉·τ . Hence,the summation can be done with O(k ·σ2 ·χ) group operations. Consequently,the total group-operations complexity can be expressed by the formula

O(∆ · n2 · σ2 · χ).

16 D. V. Gribanov, D. S. Malyshev

Finally, since the diagonal matrix S can have at most log2(∆) thermsthat are not equal to 1, the arithmetic complexity of one group operation isO(log(∆)). Hence, the total arithmetic complexity is

O(∆ · log(∆) · n2 · σ2 · χ

).

Finally, let us show how to find the exponential form

f(P ; τ) =∑

z∈P ∩Zn

e〈c,z〉·τ

of the power series f(P;x) induced by the map xi = eci·τ .

Due to the formula (7), we have

f(P ; τ) = e〈c,A−1b〉·τ · fn(Pb mod S;

τ

∆).

Due to the last formula and the formulae (11) and (15), we have

f(P; τ) =

n·σ·χ∑i=−n·σ·χ

ǫi · e1∆(〈c,A∗b〉−i)·τ

(1− e−〈c,

r1∆

·h1〉·τ)(1− e−〈c,

r2∆

·h2〉·τ). . .

(1− e−〈c, rn

∆·hn〉·τ

) .

Again, due to (11), we have 〈c, ri∆hi〉 ∈ Z 6=0, for any i ∈ {1, . . . , n}, and

1∆(〈c, A∗b〉 − i) ∈ Z, for any i, such that ǫi > 0.

We have proven the following:

Theorem 6 Let A ∈ Zn×n, b ∈ Zn, ∆ = | det(A)| > 0, and P = P(A, b). Let,additionally, σ = Snn, where S is the SNF of A, and χ = max

i∈{1,...,n}

{|〈c, hi〉|

},

where hi is the i-th column of A∗ = ∆ · A−1.

Then, the formal exponential series f(P ; τ) can be represented as

f(P ; τ) =

n·σ·χ∑i=−n·σ·χ

ǫi · eαi·τ

(1− eβ1·τ

)(1− eβ2·τ

). . .

(1− eβn·τ

) ,

where ǫi ∈ Z≥0, βi ∈ Z6=0, and αi ∈ Z.

This representation can be found with an algorithm having the arithmeticcomplexity bound O

(∆ · log(∆) · n2 · σ2 · χ

).

Moreover, the coefficients {ǫi} depend only on Pb mod S, so they take atmost ∆ possible values. All these values are computed during the algorithm.

Title Suppressed Due to Excessive Length 17

2.3 Handling the general case

Following to Remark 2, we will only work with systems in the canonical form.Let A ∈ Z

(n+m)×n, b ∈ Qn+m, rank(A) = n, and ∆ = ∆(A). Let us consider

the polytope P = P(A, b).Let us choose γ = max{‖A‖max, ‖b‖∞}, β = min

i∈{1,...,n+m}{⌈bi⌉−bi : bi /∈ Z},

and ε = min{β/2, (1 + 2n · n⌈n/2⌉ · γ)−1}. Then, by Theorem 5, the polytopeP ′ = P(A, b+t) is simple, where the vector t is chosen, such that ti = εi−1, fori ∈ {1, . . . , n+m}. By the construction, P ∩Z

n = P ′ ∩Zn. From this moment,

we assume that P = P(A, b) is a simple polytope.Due to Remark 5, the Brion’s Theorem gives:

[P ] =∑

v∈vert(P)

[tcone(P , v)

]=

v∈vert(P)

[P(AJ (v), bJ (v))

]modulo polyhedra with lines .

Due to the seminal work [1], all vertices of the simple polyhedra P can beenumerated with O

((m+ n) · n · | vert(P)|

)arithmetic operations.

Denote f(P;x) = F([P ]) ∈ R(V), for any rational polyhedra P, where Fis the evaluation considered in Theorem 1.

Note that f(P(B, u);x) = f(P(B, ⌊u⌋);x), for any B ∈ Qn×n and u ∈ Q

n.So, due to Theorem 1, we can write

f(P;x) =∑

v∈vert(P)

f(P(AJ (v), ⌊bJ (v)⌋

);x

).

Due to results of the previous Subsection, each therm f(P(AJ (v), ⌊bJ (v)⌋

);x

)

has the form (11).To find the value of | P ∩Z

n | = limx→1

f(P ;x), we follow to Chapters 13 and

14 of [4].Let us choose c ∈ Z

n, such that any element of the row-vector c⊤(AJ (v))−1

is non-zero, for each v ∈ vert(P). Substituting xi = eci·τ , let us consider theexponential function

f(P ; τ) =∑

v∈vert(P)

f(P(AJ (v), ⌊bJ (v)⌋

); τ).

Due to [4, Chapter 14], the value | P ∩Zn | is a constant therm in the Tailor

series of the function f(P ; τ), so we just need to compute it.

Let us fix some therm f(P(B, u); τ

)of the previous formula. Due to The-

orem 6, it can be represented as

f(P(B, u); τ

)=

n·σ·χ∑i=−n·σ·χ

ǫi · eαi·τ

(1− eβ1·τ

)(1− eβ2·τ

). . .

(1− eβn·τ

) ,

18 D. V. Gribanov, D. S. Malyshev

where ǫi ∈ Z≥0, βi ∈ Z 6=0, and αi ∈ Z.

Again, due to [4, Chapter 14], we can see that the constant therm in Tailor

series for f(P(B, u); τ

)is exactly

n·σ·χ∑

i=−n·σ·χ

ǫiβ1 . . . βn

j=0

αji

j!· tdn−j(β1, . . . , βn), (16)

where tdj(β1, . . . , βn) are homogeneous polynomials of degree j, called the j-thTodd polynomial on β1, . . . , βn. Due to [12, Theorem 7.2.8, p. 137], the valueof tdj(β1, . . . , βn) can be computed with an algorithm that is polynomial onj, n, and the bit-encoding length of β1, . . . , βn.

Since σ ≤ ∆, due to Theorem 6, the total arithmetic complexity to findthe value of (16) can be bounded by O

(∆3 · log(∆) · n2 · χ

).

The constant therm in Tailor series for the complete function f(P ; τ) canbe found just by summation. It gives the arithmetic complexity bound

O(ν(n,m,∆) · n2 ·∆3 · log(∆) · χ

).

Finally, we choose c⊤ as the sum of rows of some non-degenerate n × nsub-matrix of A. Note that elements of the matrix A · A∗

J (v) are included to

the set of all n × n sub-determinants of A, where A∗J (v) = ∆ · A−1

J (v), for

all v ∈ vert(P). Hence, χ ≤ n∆, and the total arithmetic complexity boundbecomes

O(ν(n,m,∆) · n3 ·∆4 · log(∆)

). It finishes the proof of Theorem 2.

2.4 Proof of Corollary 1

The presented complexity bounds follow by the different ways to estimate thevalue ν(m,n,∆) that are given in Lemma 1.

Finally, let us show how to handle the case, when P is an unboundedpolyhedron. We need to distinguish between two possibilities: | P ∩Z

n | = 0and | P ∩Zn | = ∞. Let us choose any vertex v of P and consider a set ofindices J , such that | J | = n, AJ v = bJ and rank(AJ ) = n. For the firstand second bounds, we add a new inequality c⊤x ≤ c0 to the system Ax ≤ b,where c⊤ =

∑ni=1(AJ )i∗ and c0 = c⊤v + ‖c‖1 · n∆ + 1. Let A′x ≤ b′ be the

new system. Due to [9], | P ∩Zn | = 0 iff | P(A′, b′)∩Z

n | = 0. Since P(A′, b′) isa polytope and ∆(A′) ≤ n∆, we just need to add an additional multiplicativefactor of O( d

m + 1) · n4 to the first bound and O(n4) to the second bound.

To deal with third bound, we just need to add additional inequalitiesAJ x ≥ bJ − ‖AJ ‖max · n2∆ · 1 to the system Ax ≤ b. The polyhedron be-comes bounded and the sub-determinants stay unchanged, and we follow tothe original scenario.

Title Suppressed Due to Excessive Length 19

3 Proof of the Theorem 3

3.1 The chamber decomposition

Due to [8, Section 3], there exists a collection Q of p-dimensional polyhedraQ, such that

1. Qp =

⋃Q∈Q

Q;

2. dim(Q1 ∩Q1) < p, for any Q1,Q2 ∈ Q, Q1 6= Q2;3. for any Q ∈ Q and any y ∈ Q, the polytopes {Py} have a fixed collection

of vertices, given by affine transformations of y.

All the polytopes from Q are also called chambers. Here, we will call themas full-dimensional chambers. Following to [35, Lemma 3], let us consider thehyperplanes in the parameter space Qp formed by the affine hulls of the (p−1)-dimensional faces (facets) of full-dimensional chambers. Let H be the set of allsuch hyperplanes. Due to [39] (see also [36, Lemma 3.5]), the hyperplanes fromH divide the parameter space into at most O(|H |p) cells. These hyperplanescorrespond to the projections of the generic (p−1)-dimensional faces of {

(y

x

)∈

Qp ×Q

n : B y+Ax ≤ b} into the parameters space. Since a part of the cellsforms a subdivision of the chambers, the total number of full-dimensionalchambers can be bounded by O(ηp), where |H | ≤ η.

The paper [8] of P. Clauss and V. Loechner gives an algorithm that com-putes the collection Q, which, for each Q ∈ Q, also computes a finite setT Q of affine functions T ∈ T Q, T : Q

p → Qn, such that all the parametric

vertices of Py are given by {T (y) : T ∈ T Q}.Due to the proof of [35, Lemma 3], the complexity of the Clauss and Loech-

ner’s algorithm is bounded by the number of chambers, which is O(ηp), timesthe number of parametric vertices, which is bounded by ν. So the Clauss andLoechner algorithm’s complexity is ηp · ν · (nmp)O(1).

Due to [8], for any fixedQ ∈ Q and y ∈ int(Q), the vertices T (y) : T ∈ T Q

are unique. But, for y ∈ Q1 ∩Q2, where Q1 6= Q2, some of the vertices cancoincide. Due to [35,36], this problem can be resolved by working with cham-bers of any dimension, induced by various intersections of the full-dimensionalchambers from Q. Let us denote this new collection of chambers by D .

Due to [35,36], we have

1. Qp =

⋃D∈D

rel.int(D);

2. rel.int(D1) ∩ rel.int(D2) = ∅, for any D1,D2 ∈ D , D1 6= D2;3. for any D ∈ D and any y ∈ rel.int(D), the polytope Py have a fixed set

of the unique vertices {T (y) : T ∈ T D}, where T D is a finite set of affinefunctions T : Qp → Qn.

We call the polyhedra from the new collection D as the low-dimensional cham-bers or just chambers. Let us give an algorithm to find the collection D withthe corresponding lists of the unique parametric vertices.

20 D. V. Gribanov, D. S. Malyshev

Briefly, we enumerate all the possible affine sub-spaces induced by all thepossible intersections of the hyperplanes from H . For any such an affine sub-space L ⊆ Q

p and any full-dimensional chamber Q ∈ Q, we consider theintersection L∩Q. By the definition, if L∩Q 6= ∅, then the intersection L∩Qwill form some low-dimensional chamber D ∈ D .

There are three main difficulties:

1. Two different full-dimensional chambers Q1 and Q2 can have the sameintersection with L: Q1 ∩L = Q2 ∩L;

2. If L′ ⊂ L is a sub-space of L, then it is possible that Q∩L = Q∩L′, forsome full-dimensional chamber Q ∈ Q. In other words, the dimension ofL∩Q is strictly less than dim(L);

3. For any Q ∈ Q, the set of the affine functions T Q is already given in theprevious stage by P. Clauss and V. Loechner’s algorithm. As it was alreadynoted, if y ∈ Q1 ∩Q2, then some of the vertices given by different func-tions from T Q can coincide. In other words, T 1(y) = T 2(y), for differentT 1, T 2 ∈ T Q and y ∈ Q1 ∩Q2. How we able to find such duplicates?

Let us first deal with the 1-th and 3-th difficulties. Let us fix L and afull-dimensional chamber Q ∈ Q and consider the lower-dimensional cham-ber D = L∩Q with the collection of parametric vertices T Q. Assume thatdim(L) = dim(L∩Q), we will break it later. Resolving the system of equali-ties corresponding to L, we can find a basis of L. In other words, there existsa matrix B ∈ Z

p×dL , where dL = dim(L), such that L = span(B). Supposethat T (y) ∈ T Q is given as T (y) = T y+t, where T ∈ Q

n×p is a rationaltransformation matrix and t ∈ Q

n is a rational translation vector. Let us showhow to find duplicates in the parametric vertices list for y ∈ L∩Q. If T 1 andT 2 form a duplicate, then

T1 y+t1 = T2 y+t2, for any y ∈ D,

that is equivalent to

(T1 − T2)y = t2 − t1, for any y ∈ aff.hull(D).

Due to the assumption dim(L) = dim(L∩Q) = dim(D),

(T1 − T2)Bx = t2 − t1, for any x ∈ RdL .

Since the solutions set of the last system is dL-dimensional, we have rank((T2−

T1)B)= 0. Consequently, T1B = T2B and t1 = t2, so the matrices {TB} and

vectors {t} must serve as a unique representation of affine functions T ∈ T Q

for fixed sub-space L. We just compute the basis B of L, compute the pairs{(TB, t)}, sort the resulted list, and delete all duplicates. This work can bedone in

(nmp)O(1) · |T Q | · log |T Q | = (nmp)O(1) · ν · log(ν)

arithmetic operations. Since |Q | = O(ηp), with enumerating of all the full-dimensional chambers Q inQ, it gives the complexity bound:

(nmp)O(1) · ηp · ν · log(ν).

Title Suppressed Due to Excessive Length 21

Similarly, we can resolve the 1-th difficulty, for chambers Q∩L withdim(Q∩L) = dim(L). Any such a chamber is uniquely represented by the listof unique pairs

{(TB, t) : T (y) = T y+t, T ∈ T Q}.

So, we can consider this list as a unique identifier of Q∩L ∈ D and allthe duplicates can be eliminated just by sorting. Since the length of eachlist is bounded by ν(n,m,∆) and |Q | = O(ηp), the total complexity of thisprocedure is again

(nmp)O(1) · ηp · ν · log(ν).

Let us discuss simultaneously, how to resolve the 2-th difficulty and howto break the assumption dim(L) = dim(L∩Q), for Q ∈ Q. To do that, weneed first to sketch the full algorithm that constructs the collection D oflower-dimensional chambers. First of all, we use P. Clauss and V. Loechner’salgorithm to construct the full-dimensional chambers Q together with thecorresponding parametric vertices. Next, we enumerate all affine sub-spacesinduced by intersections of hyperplanes from H . The enumeration follows tothe following partial order: if L′ and L are sub-spaces, such that L′ ⊂ L,then L′ will be processed first. So, we start from 0-dimensional sub-spacescorresponding to intersections of p linearly independent hyperplanes from H

and move forward from (k− 1)-dimensional chambers to k-dimensional cham-bers. Clearly, for a 0-dimensional sub-space L and a full-dimensional chamberQ ∈ Q, the assumption dim(L) = dim(L∩Q) holds. Since the assumptiondim(L) = dim(L∩Q) holds, using the method discussed earlier, we can foundall the 0-dimensional chambers from the collection D with the sets of theirunique parametric vertices.

Let k ≥ 1 and suppose inductively that we want process k-dimensional sub-space L, when the sub-space L′ ⊂ L, with dim(L′) = k−1, is already processed.When we say ”processed”, we mean that all unique low-dimensional chambersL′ ∩Q have already built and k − 1 = dim(L′) = dim(L′ ∩Q). We againenumerate all the full-dimensional chambers Q ∈ Q. If dim(Q∩L) = k − 1,then we dismiss the chamber Q∩L, because it just coincides with the chamberQ∩L′. In the opposite case, when dim(Q∩L) = k = dim(L), we can usethe approach presented earlier to construct the unique set of the parametricvertices for Q∩L. So, we need to learn how to distinguish between the casesdim(Q∩L) = k and dim(Q∩L) = k − 1.

Let B ∈ Zp×k and B′ ∈ Zp×(k−1) be bases of L and L′, chosen, such thatB =

(B′ b

), for b ∈ Z

p. The equality dim(Q∩L) = k holds, iff there existsaffine functions T 1(y) = T1 y+t1 and T 2(y) = T2 y+t2, from the set of affinefunctions T Q, such that

∀y ∈ Q∩L′ : T 1(y) = T 2(y) and

∃y ∈ Q∩L : T 1(y) 6= T 2(y),

22 D. V. Gribanov, D. S. Malyshev

which is equivalent to

∀y ∈ aff.hull(Q∩L′) : T 1(y) = T 2(y) and

∃y ∈ aff.hull(Q∩L) : T 1(y) 6= T 2(y).

The last is equivalent to

∀x ∈ Rk−1 :(T1 − T2

)B′x = t2 − t1 and

∃x ∈ Rk :

(T1 − T2

)(B′ b

)x 6= t2 − t1.

By the same reasoning, rank((T1−T2

)B′) = 0,

(T1−T2

)B′ = 0 and t2−t1 = 0.

Hence, the second property can be satisfied only if T1b 6= T2b.

So, we have the following criterion:

dim(Q∩L) = k ⇐⇒ ∃T 1, T 2 ∈ T Q : T 1(b) 6= T 2(b). (17)

Let us summarize the whole algorithm:

1. Construction of full-dimensional chambers. Using the P. Clauss andV. Loechner’s algorithm, we construct the collection Q of full-dimensionalchambers together with the sets of affine functions T Q, for each Q ∈ Q.It takes (nm∆)O(1) · ηp · ν arithmetic operations.

2. Construction of lower-dimensional chambers. To construct the col-lection D , we consider intersections of sub-spaces L, induced by all the pos-sible intersection of hyperplanes H with full-dimensional chambers fromQ.Assume that all unique (k − 1)-dimensional chambers of the type Q∩L′,where L′ is the (k − 1)-dimensional intersection of hyperplanes from H

and Q ∈ Q, have already constructed with their unique sets of parametricvertices. For all k-dimensional sub-spaces L and all Q ∈ Q, we performthe following operations:

3. Dimension check. Let D = Q∩L. Using the criteria (17), we check thatdim(D) = k = dim(L). If it does not holds, then we skip the chamber D;

4. Erase duplicated parametric vertices. Using the algorithm presentedearlier, we erase all the duplicated parametric vertices of D and append Dto the collection D .

5. Erase duplicated chambers. After all Q ∈ Q for fixed L are processed,we remove the duplicated chambers D = Q∩L from D .

For any fixed L, the complexity is bounded by (nmp)O(1) · ηp · ν · log(ν).All the sub-spaces {L} can be enumerated with O(ηp) arithmetic operations.The total arithmetic complexity to construct the full chambers decompositioncan be bounded by:

(nmp)O(1) · η2p · ν · log(ν).

Title Suppressed Due to Excessive Length 23

3.2 Dealing with a fixed chamber D ∈ D

Let us fix a low-dimensional chamber D chosen from the collection D , con-structed in the previous stage. As it was noted before, for any y ∈ D, polytopes{Py} have a fixed set of unique vertices {T (y) : T ∈ T } for T = T D. With-out loss of generality we ca assume that dim(Py) = n.

Again, due to the Brion’s Theorem, we have

[Py] =∑

T ∈T

[tcone

(Py, T (y)

)]=

=∑

T ∈T

[T (y) + fcone

(Py, T (y)

)]modulo polyhedra with lines .

Let us fix a vertex T (y) and consider the cone C = fcone(Py, T (y)

).

Clearly, C = P(AJ (T (y)),0

), and, consequently, C◦ = cone

(A⊤

J (T (y))

). We

apply the decomposition (triangulation) of C◦ into simple cones Si. Let qTbe the total number of simple cones in this decomposition. Clearly, for anyi ∈ {1, . . . , qT }, we can write that Si = cone(B⊤

i ), where B⊤i is a non-singular

n× n integer sub-matrix of A⊤J (T (y)). In other words, we have

[C◦] =⋃

i∈{1,...,qv}

[cone(B⊤

i )]

modulo lower-dimensional rational cones .

Next, we use the duality trick, see [5, Remark 4.3]. Due to [4, Theorem 5.3](see also [4, Theorem 2.7]), there is a unique linear transformationD : P(V) →P(V), for which D([P ]) = [P ◦].

Consequently, due to Remark 5, we have

[C] =⋃

i∈{1,...,qT }

[cone(B⊤

i )◦]=

i∈{1,...,qT }

[P(Bi,0)

]modulo polyhedra with lines,

and, due to Theorem 4, we have

[T (y) + C

]=

i∈{1,...,qT }

[T (y) + P(Bi,0)

]=

i∈{1,...,qT }

[P(Bi, Bi T (y)

)].

The triangulation of all cones cone(A⊤J (T (y))) induces the triangulation of

the cone cone(A⊤). Hence,∑

T ∈TqT ≤ µ.

Consequently,

[Py] =∑

i∈I

[P(Bi, Bi T i(y)

)],

where | I | ≤ µ, {Bi} are some n×n non-singular sub-matrices of A and T i(y)are some parametric vertices of Py.

Denote f(P;x) = F([P ]), for any rational polyheda P , where F is theevaluation considered in Theorem 1.

24 D. V. Gribanov, D. S. Malyshev

Note that

f(P(Bi, Bi T i(y)

);x

)= f

(P(Bi, ui(y)

);x

),

where ui(y) = ⌊Bi T i(y)⌋. Hence, due to Theorem 1, we can write

f(Py;x

)=

i∈I

f(P(Bi, ui(y)

);x

).

Let us again fix i and B = Bi, u(y) = ui(y). Due to the proof of Theorem2, each therm f

(P(B, u(y));x

)has the form

f(P(B, u(y));x

)=

∑r1−1i1=0 · · ·

∑rn−1in=0 ǫi1,...,in x

1δB∗(u(y)−(i1,...,in)

⊤)

(1− x−

r1δh1

)(1− x−

r2δh2

). . .

(1− x− rn

δhn

) .

Here δ = | det(B)|, B∗ = δ · B−1, (h1, . . . , hn) are the columns of B∗ and(r1, . . . , rn) are orders of (h1, . . . , hn) modulo S, where S is the SNF of B.

Let us consider now the exponential function f(P(B, u(y)); τ

)induced

from f(P(B, u(y));x

)by substitution xi = eciτ , where c ∈ Zn is chosen, such

that c⊤hi 6= 0, for any i.It follows that

f(Py; τ) =

i∈I

f(P(Bi, ui(y)

); τ), (18)

and, due to Theorem 6, for fixed i,

f(P(B, u(y)); τ) =

n·σ·χ∑i=−n·σ·χ

ǫi(y) · eαi(y)·τ

(1− eβ1·τ

)(1− eβ2·τ

). . .

(1− eβn·τ

) ,

where ǫi(y) ∈ Z≥0, αi(y) =1δ

(〈c, B∗u(y)〉 − i

)and βi = −〈c, ri

δ hi〉.Here, due to Theorem 6, the coefficients ǫi(y) are functions depending on

Pu(y) mod S. They can be computed in O(δ · log(δ) · n2 · σ2 · χ) arithmeticoperations for all δ possible values of Pu(y) mod S. As we noted before inthe proof of Theorem 2, cP(y) is equal to the constant therm in the Teilor’s

expansion of f(Py; τ). It can be represented as the sum of constant therms of

the Teilor’s expansions of f(P(Bi, ui(y)); τ).

Us in the formula (16), we have that constant therm in the Teilor’s expan-

sion of f(P(B, u(y)); τ) is

n·σ·χ∑

−n·σ·χ

ǫi(Pu(y) mod S)

β1 · · · · · βn

n−1∑

j=0

αji (y)

j!· tdn−j(β1, . . . , βn). (19)

Here, the internal sum is an (n − 1)-degree step-polynomial and ǫi(·) are pe-riodical coefficients with the period given by the formula ǫi(y) = ǫi(y+S · 1).

Taking c as in the proof of Theorem 2, we have χ ≤ n ·∆. So, the lengthand degree of the last formula are bounded by n3 · δ2 and n− 1, respectively.

Title Suppressed Due to Excessive Length 25

Moreover, such a representation can be found, usingO(δ4 ·log(δ)·n3) arithmeticoperations.

Consequently, the total length and degree of the full periodical step-polynomialrepresenting cP(y) for y ∈ D are bounded by O(µ · n3 · δ2) and n− 1, respec-tively. The total arithmetic complexity is O(µ · n3 · δ4 · log(δ)).

3.3 How to store the data and what is the final preprocessing time?

As it was considered in Subsection 3.1, the collection of full-dimensional cham-bers Q with their parametric vertices can be computed with (nmp)O(1) · ηp ·ν · log(ν) arithmetic operations. The collection D of lower dimensional cham-bers with their collections of unique parametric vertices can be computed with(nmp)O(1) · η2p · ν · log(ν) arithmetic operations.

Each chamber of Q or D is represented as a cell that induced by subset ofhyperplanes from H . Consequently, we have an injection from D ∪Q to theset {−1, 0, 1}|H |. So, we can use a hash-table to store the chambers of D ∪Q,mapping them to keys from {−1, 0, 1}|H |. This hash table can be constructedwith (nmp)O(1) · η2p · ν · log(ν) arithmetic operations.

For fixed chamber D from Q ∪D and y ∈ D, the counting function cP(y)is represented as the periodical step-polynomial given by the formulae (18)and (19). Its length is O(n3 ·∆2), its degree is n− 1, and it can be computedby O(µ · n3 ·∆4 · log(∆)) arithmetic operations.

To store such a representation, for each i, in the formula (18) we need tostore the formula (19) as the matrix Bi, the sequence of coefficients β1, . . . , βn

and the values of at most O(n2 ·∆2) periodical coefficients {ǫi(·)}. The valuesof {ǫi(·)} can be stored in a hash-table of the size | det(S)| ≤ ∆, where thekeys are vectors from Z

n modS.Consequently, the total preprocessing arithmetic complexity is

(nmp)O(1) · η2p · ν · µ · log(ν) ·∆4 · log(∆).

3.4 What is a query time?

Let us estimate complexity of a query to compute cP(y) given y ∈ Qp. First,we need to find a chamber D ∈ Q ∪D , such that y ∈ rel.int(D). To do that, wesubstitute y to the inequalities corresponding to the hyperplanes H , and mapy to {−1, 0, 1}|H |. Using the corresponding hash table, we find the chamberD. All of that take O(p · |H |) arithmetic operations.

After that, for each parametric vertex T (y), given by T ∈ T D, we performthe following operations:

1. Compute u(y) = ⌊B T (y)⌋ with O(n2 · p) operations;2. Access the coefficients ǫi(Pu(y) mod S) using the corresponding hash-

table. It takes O(n2 + log(∆)) operations;

26 D. V. Gribanov, D. S. Malyshev

3. For each i ∈ {−n · σ ·χ, . . . , n · σ ·χ}, compute αi(y) =1δ

(〈c, B∗u(y)〉 − i

).

It takes O(n2 · ∆2) operations. And compute the powers αji (y), for j ∈

{0, . . . , n− 1}, totally it takes O(n3 ·∆2) operations;4. Compute the formula (19) with O(n2 ·∆2) operations.

After that we just need to combine the results of different at most µ thermsin (18). Hence, the total query time is

O(µ · n3 ·∆2).

References

1. Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumerationof arrangements and polyhedra. Discrete & Computational Geometry 8(3), 295–313(1992). doi:10.1007/BF02293050. URL https://doi.org/10.1007/BF02293050

2. Barvinok, A.: A polynomial time algorithm for counting integral points in polyhedrawhen the dimension is fixed. In: Proceedings of 1993 IEEE 34th Annual Foundationsof Computer Science, pp. 566–572 (1993). doi:10.1109/SFCS.1993.366830

3. Barvinok, A.: Computing the ehrhart quasi-polynomial of a rational simplex. Mathe-matics of Computation 75(255), 1449–1466 (2006). doi:10.1090/S0025-5718-06-01836-9.URL https://doi.org/10.1090/S0025-5718-06-01836-9

4. Barvinok, A.: Integer Points in Polyhedra. European Mathematical Society (2008)5. Barvinok, A., Pommersheim, J.: An algorithmic theory of lattice points in polyhedra.

New Perspect. Algebraic Combin. 38 (1999)6. Barvinok, A., Woods, K.: Short rational generating functions for lattice point prob-

lems. Journal of the American Mathematical Society 16(4), 957–979 (2003). URLhttp://www.jstor.org/stable/30041461

7. Chirkov A., Y., Gribanov D., V., Malyshev D., S., Pardalos P., M., Veselov S., I., Zolo-tykh N., Y.: On the complexity of quasiconvex integer minimization problem. Journalof Global Optimization 73(4), 761–788 (2019). doi:10.1007/s10898-018-0729-8. URLhttps://doi.org/10.1007/s10898-018-0729-8

8. Clauss, P., Loechner, V.: Parametric analysis of polyhedral iteration spaces. In: Pro-ceedings of International Conference on Application Specific Systems, Architectures andProcessors: ASAP ’96, pp. 415–424 (1996). doi:10.1109/ASAP.1996.542833

9. Cook, W., Gerards, A.M.H., Schrijver, A., Tardos, E.: Sensitivity theorems in in-teger linear programming. Mathematical Programming 34(3), 251–261 (1986).doi:10.1007/BF01582230. URL https://doi.org/10.1007/BF01582230

10. Dadush, D.: Integer programming, lattice algorithms, and deterministic volume esti-mation (2012). ProQuest LLC, Ann Arbor, MI. Thesis (Ph.D.), Georgia Institute ofTechnology

11. Dadush, D., Peikert, C., Vempala, S.: Enumerative lattice algorithms in any norm via m-ellipsoid coverings. In: 2011 IEEE 52nd Annual Symposium on Foundations of ComputerScience, pp. 580–589 (2011). doi:10.1109/FOCS.2011.31

12. De Loera Jesus, A., Hemmecke, R., Koppe, M.: Algebraic And geometric ideas in thetheory of discrete optimization. MOS-SIAM Series on Optimization (2012)

13. De Loera, J., Rambau, J., Santos, F.: Triangulations: structures for algorithms andapplications. Springer Science & Business Media (2010)

14. Dyer, M., Kannan, R.: On barvinok’s algorithm for counting lattice points infixed dimension. Mathematics of Operations Research 22(3), 545–549 (1997).doi:10.1287/moor.22.3.545

15. Ehrhardt, E.: Sur un probleme de geometrie diophantienne lineaire. ii.Systemes diophantiens lineaires, J. Reine Angew. Math. 227, 25–49 (1967).doi:doi:10.1515/crll.1967.227.25. URL https://doi.org/10.1515/crll.1967.227.25

16. Eisenbrand, F., Hunkenschroder, C., Klein, K.M., Koutecky, M., Levin, A.,Onn, S.: An algorithmic theory of integer programming (2019). URLhttps://arxiv.org/abs/1904.01361

Title Suppressed Due to Excessive Length 27

17. Gribanov, D.V., Malyshev, D.S.: Integer conic function minimization based on the com-parison oracle. In: M. Khachay, Y. Kochetov, P. Pardalos (eds.) Mathematical Optimiza-tion Theory and Operations Research, pp. 218–231. Springer International Publishing,Cham (2019)

18. Gribanov D., V., Shumilov I., A., Malyshev D., S., Pardalos P., M.: On δ-modularinteger linear problems in the canonical form and equivalent problems (2021). URLhttps://arxiv.org/abs/2002.01307v5

19. Gribanov Dmitry, V., Zolotykh N., Y.: On lattice point counting in δ-modular poly-hedra. Optimization Letters pp. 1–28 (2021). doi:10.1007/s11590-021-01744-x. URLhttps://doi.org/10.1007/s11590-021-01744-x

20. Hirai, H., Oshiro, R., Tanaka, K.: Counting integral points in polytopes via numericalanalysis of contour integration. Mathematics of Operations Research 45(2), 455–464(2020). doi:10.1287/moor.2019.0997. URL https://doi.org/10.1287/moor.2019.0997

21. Koppe, M., Verdoolaege, S.: Computing parametric rational generating functionswith a primal barvinok algorithm. Computing Parametric Rational GeneratingFunctions with a Primal Barvinok Algorithm 15 (2008). doi:10.37236/740. URLhttps://doi.org/10.37236/740

22. Lasserre Jean, B., Zeron Eduardo, S.: An Alternative Algorithm for Counting Lat-tice Points in a Convex Polytope. Mathematics of Operations Research 30(3) (2005).doi:10.1287/moor.1050.0145. URL https://doi.org/10.1287/moor.1050.0145

23. Lawrence, J.: Rational-function-valued valuations on polyhedra. Discrete and compu-tational geometry (New Brunswick, NJ, 1989/1990) 6, 199–208 (1991)

24. Lee, J., Paat, J., Stallknecht, I., Xu, L.: Polynomial upper bounds on the number ofdiffering columns of an integer program. arXiv preprint arXiv:2105.08160v2 [math.OC](2021). URL https://arxiv.org/abs/2105.08160

25. Loechner, V., Wilde, D.K.: Parameterized polyhedra and their vertices. InternationalJournal of Parallel Programming 25(6), 525–549 (1997)

26. McMullen, P.: The maximum numbers of faces of a convex polytope. Math-ematika 17(2), 179–184 (1970). doi:10.1112/S0025579300002850. URLhttps://doi.org/10.1112/S0025579300002850

27. McMullen, P.: Lattice invariant valuations on rational polytopes. Archivder Mathematik 31(1), 509–516 (1978). doi:10.1007/BF01226481. URLhttps://doi.org/10.1007/BF01226481

28. McMullen, P.: Valuations and dissections. In: Handbook of convex geometry,pp. 933–988. Elsevier (1993). doi:10.1016/B978-0-444-89597-4.50010-X. URLhttps://doi.org/10.1016/B978-0-444-89597-4.50010-X

29. McMullen, P., Schneider, R.: Valuations on convex bodies. In: Convexity and itsapplications, pp. 170–247. Springer (1983). doi:10.1007/978-3-0348-5858-8 9. URLhttps://doi.org/10.1007/978-3-0348-5858-8_9

30. Pukhlikov, A.V., Khovanskii, A.G.: The riemann–roch theorem for integrals and sums ofquasipolynomials on virtual polytopes (russian). Algebra i analiz 4(4), 188–216 (1992)

31. Stanley, R.: The upper bound conjecture and cohen-macaulay rings. Studies inApplied Mathematics 54(2), 135–142 (1975). doi:10.1002/sapm1975542135. URLhttps://doi.org/10.1002/sapm1975542135

32. Stanley, R.: Combinatorics and commutative algebra, vol. 41. Springer Science & Busi-ness Media (2007)

33. Stanley, R.P.: Enumerative combinatorics volume 1 second edition. Cambridge studiesin advanced mathematics (2011)

34. Tomas, G., Martin, K., Dusan, K.: Integer programming in parameterized complexity:Five miniatures. Discrete Optimization (2020). doi:10.1016/j.disopt.2020.100596. URLhttps://doi.org/10.1016/j.disopt.2020.100596

35. Verdoolaege, S., Seghir, R., Beyls, K., Loechner, V., Bruynooghe, M.: Count-ing integer points in parametric polytopes using barvinok’s rational func-tions. Algorithmica 48(1), 37–66 (2007). doi:10.1007/s00453-006-1231-0. URLhttps://doi.org/10.1007/s00453-006-1231-0

36. Verdoolaege, S., Woods, K.: Counting with rational generat-ing functions. Journal of Symbolic Computation 43(2), 75–91 (2008). doi:https://doi.org/10.1016/j.jsc.2007.07.007. URLhttps://www.sciencedirect.com/science/article/pii/S0747717107001101

28 D. V. Gribanov, D. S. Malyshev

37. Veselov, S., Gribanov, D., Zolotykh, N., Chirkov, A.: A polynomial algorithm forminimizing discrete convic functions in fixed dimension. Discrete Applied Math-ematics 283, 11–19 (2020). doi:https://doi.org/10.1016/j.dam.2019.10.006. URLhttps://www.sciencedirect.com/science/article/pii/S0166218X19304561

38. Veselov, S.I.: A proof of a generalization of the borosh–treybig conjecture on diophantineequations. Diskretnyi Analiz i Issledovanie Operatsii 8(1), 17–22 (2001). In Russian

39. Winder R., O.: Partitions of n-space by hyperplanes. SIAM Journal onApplied Mathematics 14(4), 811–818 (1966). doi:10.1137/0114068. URLhttps://doi.org/10.1137/0114068

40. Ziegler, G.M.: Lectures on polytopes, vol. 152. Springer Science & Business Media(2012)

top related