The cone of weighted graphs generated by triangles
This research was supported by the Jamie
Cassels Undergraduate Research Award
Haggai Liu, Department of Mathematics and Statistics
Triangle decompositions of graphs
A decomposition of a graph G = (V, E) into copies of a graph H is a par-tition of E where each edge set in the parpar-tition induces a subgraph isomorphic to H. An equivalent definition for a decomposition of G into copies of H is an edge-colouring[1] of G such that every colour class induces a graph isomorphic to H. Such a decomposition is called an H-decomposition of G. We say that G is H-decomposable if an H-decomposition of G exists. A triangle de-compostion of G is simply a K3-decompostion of G, where K3 is the complete graph on 3 vertices, and hence, is called a triangle. We say that G is triangle decomposable if a triangle decomposition of G exists. Below left is an example of triangle decompositions. Below right defines H-divisibility of G.
Figure 1: Triangle decomposition of K7.
Definition 1. If G, H are simple graphs that satisfy the conditions
• |E(H)| divides |E(G)|, and • gcd w∈V (H) deg w divides deg v ∀v ∈ V (G), then G is called H-divisible.
It happens that G being H-divisible is a necessary but not sufficient condition for G to be H-decomposable. For G to be triangle decomposable, we need |E(G)| to be a multiple of 3 and every vertex of G to have even degree. Below, we state what is known as the Nash-William’s conjecture for triangle decomposition.
Conjecture 1 (Nash-William). Let G be a graph on n vertices that is K3-divisible and satisfies
δ(v) ≥ 3
4n .
Then G is triangle decomposable.
It is not known whether or not this conjecture is true. However, if the lower bound for the min-imum degree of G of 34n is re-placed by 109 n, then the result has been proven to be true[1].
Polyhedral cones
A cone in Rn is a set C ⊆ Rn that satisfy the following for any vectors u, v ∈ C: • u + v ∈ C and
• ku ∈ C for all k ∈ R, k ≥ 0.
The latter tells us that 0 ∈ C. If X ⊆ Rn, then hXi = ( N X i=1 kixi : N ∈ Z+, xi ∈ X, ki ≥ 0 ∀ 1 ≤ i ≤ N )
is the cone generated by X. Here are a couple more definitions relating to a cone. • The dimension, dim(C), of a cone C, is the dimension of Span(X) as a subspace
of Rn where C = hXi.
• If F ⊆ C is a cone which has the property that whenever x ∈ F is written as a sum of 2 vectors in C, both vectors must be in F , then F is called a face of C. • If dim(F ) = n − 1, then F is a facet of C.
Given x, y ∈ Rn, we write x ≥ y if every component of x − y is nonnegative. Similar definitions follow for the other inequality symbols.
Polyhedral cones (cont’d)
Let A be an m × n matrix over R. We define the cone of A as CA = {Ax : x ∈ Rn : x ≥ 0},
a cone in Rm. We say that a vector y ∈ Rm supports CA if yTA ≥ 0. Note that {z ∈ Rm : y · z ≥ 0} contains hcol(A)i where col(A) is the set of column vectors in A. We give the following definition:
Definition 2. Let A ∈ Mm×n(R). We call y ∈ Rm a facet normal of CA if y supports the cone, and y⊥ ∩ CA is a facet.
x
1x
2C
A
Figure 2: A cone in R2,
as shown in the shaded area[1].
The figure shows an example of a cone in R2. The red vectors are the facet normals and the blue vectors are other supporting vectors.
Inclusion matrix of pairs versus triangles
When considering triangle decompositions of a graph, the cone of a particular class of matrices plays an important role. For n ∈ Z+, we denote the inclusion matrix as W (n) ∈ M(n
2)×( n
3)(R). The rows of W := W (n) are indexed by the
distinct 2-subsets and the columns are indexed by the distinct 3-subsets of the set [n] = {1, 2, . . . , n}. In general, the ordering used in the indexing of the subsets of rows and columns of W does not matter. For the case of this project, the rows are indexed in colexicographical order w.r.t. the 2-subsets of [n]. The columns are indexed in lexicographical order w.r.t. the 3-subsets of [n]. The (T, K)-th entry of W is 1 if T ⊆ K. This entry is 0 otherwise. For example, for n = 6, we have
W = α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14 α15 α16 α17 α18 α19 α20 {1, 2} 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 {1, 3} 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 {2, 3} 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 {1, 4} 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 {2, 4} 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 {3, 4} 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 {1, 5} 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 {2, 5} 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 {3, 5} 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 {4, 5} 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 {1, 6} 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 {2, 6} 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 {3, 6} 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 {4, 6} 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 {5, 6} 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 where α1 = {1, 2, 3}, α2 = {1, 2, 4}, α3 = {1, 2, 5}, . . . , α20 = {4, 5, 6}.
We define the characterstic vector vG ∈ R(n2) of a graph G on n vertices
as
(vG){i,j} = q{i, j} ∈ E(G)y
where J·K is the threshold boolean function true 7→ 1, f alse 7→ 0. If G is triangle decomposable, then vG is in CW.
Finding facet normals
We provide pseudo-code for finding a random facet normal of CA ,where A ∈ Mm×n(R). procedure random facet normal(A)
y ← random vector which supports A
B ← the matrix containing exactly the columns of A orthogonal to y while dim(Span(col(B))) 6= m − 1 do
z ← random vector which supports A such that zTB = 0 ← min{x := (yTA)i
(zTA)
i : 0 < x < ∞}
y ← y − z
B ← the matrix containing exactly the columns of A orthogonal to y end while
return y
end procedure
If we assume that A has only entries in Q, then any facet normal y of A can be assumed in Qm. In this case, we can scale y by a positive number c such that cy has only entries in Z and the G.C.D. of those entries is 1. We refer to cy as the standard form of y. From here on, we take y as a vector in standard form.
We are particularily interested in the case where A = W = W (n). If x ∈ R(n2) is a supporting
vector for CW, then x corresponds to a complete weighted graph Gx on n vertices indexed by elements in [n].
It turns out that the sum of the edge weights on any tri-angle of Gx is always nonnegative since x supports CW. Given Gx, it is easy to check the nonnegativity on all triangles. However, it is difficult to check whether or not Gx corresponds to a facet normal of CW. Typically, we investigate the equivalence classes of the facet normals of CW under the relation of graph isomorphism. A clas-sification of facet normals exist for n ≤ 8[1]. For n = 9, we have extended the number of known classes of facet normals from 130 to 138 so far[2]. This leads to over 11 million distinct facets for n = 9.
1
−1
Figure 3: An example graph corresponding to a facet normal of
W for n = 6.
Software and future work
Sage is an open source software designed for mathematical computations. It is built from the Python programming language. We mainly used Sage to find facet normals of the cone of a give matrix with integer entries. Currently, our big issue is finding new classes of facet normals and eliminating isomorphisms efficiently. Sage has an interface with GAP(Groups, Algorithms and Programming), a computational discrete algebra software. Our future work is to use GAP to exploit symmetry by using the invariance of our cone under the symmetric group Sn. This could possibly allow us to check triangle decompositions of graph in reduced time.
References
[1] Kseniya Garaschuk. Linear methods for rational triangle decompositions. PhD thesis, University of Victoria, 2014.
[2] Peter Dukes. http://www.math.uvic.ca/~dukes/facets-tri9.txt.
[3] Francois Dross. Fractional triangle decompositions in graphs with large minimum degree, 2015.