• No results found

Chapter 2 Theoretical Methods

2.4 Barvinok’s algorithm

2.4.2 Definitions

In this section, we will present some definitions that will prove useful when explaining the works of the counting algorithm. These will be mostly basic polyhedral definitions and theoretical results regarding polytope enumeration. Polytope enumeration is an essential result for counting accessible microstates and calculating the entropy of our systems.

A rational polyhedron P ⊂ Qd is defined as the set of d-dimensional

vectorsx delimited by linear equalities

P ={x∈Qd|Axb} (2.31)

where A is a matrix such that A∈ Zm×d and c is a vector such that c Zm.

In our systems, these polyhedra will be defined by the constraints that emerge from filaments and cross-linkers.

The affine hull of a set S ⊂ Qd is the set defined by {λ

1x1 +. . .+

λkxk|{x1, . . . , xk} ⊂ S, λi ∈ Q,

P

iλi = 1}. That is, the affine hull of a set

is a set containing that “interpolates” between all points of the original set. Related to that, the dimension of a rational polyhedronP ⊂Qd is defined as

that of its affine hull.

Furthermore, we will define a rational polytope as a bounded rational polyhedron; in the case of our system, any defined polyhedron representing the possible microstates can be contained inside a hypercube and is, therefore,

bounded. Thus, we will use polytope and polyhedron largely interchangeably when talking about applications of Barvinok’s algorithm to our system.

Finally, we will define a face F of a rational polyhedron P as the in- tersection of P with {x ∈ Qd|A0x c0}, where A0x c0 is a subsystem of Ax ≥ c. If the dimension of P is n, we call the (n −1)-dimensional faces as facets, and the 0-dimensional faces as vertices. Importantly, vertices are always extremal points of P, meaning that they cannot be written as convex combinations of other points in P.

We have dealt in rational numbers up to now; we can extend many of those definitions to real numbers and make some additional definitions. We will define the convex hull of a set S ⊂Rd as the real-valued converse of the

previously defined affine hull. That is,

convS ={λ1x1+. . .+λkxk|{x1, . . . , xk} ⊂S, λi ≥0,

X

i

λi = 1} (2.32)

Another useful notion related to the convex hull is that of a conic hull of a set

S⊂Rd:

coS ={X

i

λiyi :λi ≥0, yi ∈S ∀i} (2.33)

Finally, we will define a rational cone K ⊂ Rd as the conic hull of a finite

number of integer vectors, such as

K = co{u1, . . . , uk}:ui ∈Zd, i= 1, . . . , k (2.34)

In this case, we callu1, . . . , uk the generators of the coneK. Also, we call this

cone simple if the generators of that cone are linearly independent vectors. Importantly,Zdis a lattice inRd, i.e., a discrete additive subgroup in Euclidean space.

Now, being K ⊂ Rd a simple rational cone, we take c

Rd to be a

vector such that the inner producthc,·i decreases along the extreme rays of K (an extreme ray of an n-dimensional cone is simply the intersection of n−1 active constraints). Then, the series

X

x∈K∩Zd

converges. Furthermore, that series defines a meromorphic function inc∈Cd.

We will define this function as σ(K, c). In fact, for all c, we can write this function as σ(K, c) = pk(exp{c1}, . . . ,exp{cd}). k Y l=1 1 1−exp{hc, uli} (2.36)

here,pkis a Laurent polynomial indvariables. From that formulation, we can

see that the singular points of this meromorphic function are the ones where the denominator of each factor of the product are zero, that is,

Hj ={c∈Rd:hc, uji= 0}, j = 1, . . . , k (2.37)

which is a union of hyperplanes. Equations (2.35) and (2.36) are presented here without proof; these can be consulted in the references.

Now, being P ⊂ Rd a convex polytope, we will define the supporting

cone of P at the vertex v as

Kv ={u∈Rd:v+δ.u ∈P} (2.38)

for all δ > 0 sufficiently small. This is not an intuitive definition: a simpler definition is thatKv is generated by the vectors defined by the edges ofP that

intersect the vertex v. The decomposition of polyhedra into supporting cones will later be essential for an efficient counting algorithm.

We define a polytope as integral if the set of all of its vertices (hereby referred to as VertP) lie on the lattice Zd.

In a work of 1988, Brion proposes the following: if P is an integral polytope, then X x∈P∩Zd exp{< c, x >}= X v∈VertP exp{hc, vi}.σ(Kv, c) (2.39)

This equality, however, does not hold at the singular points of the function

σ(Kv, c). [Brion, 1988] Importantly, this allows us to reduce the counting of

integer points inside a polyhedron to calculating a function over the set of all vertices of that same polyhedron.