Graz University of Technology Institute for Software Technology Bachelor Thesis Software Development Course Number: 705.408
On Order Types, Projective Classes, and Realizations
Bachelor programme Technical Mathematics
Manfred Scheucher
student ID: 0930956 program code: 033 201
Supervisor: Assoc.Prof. Dipl.-Ing. Dr.techn. Oswin Aichholzer Dipl.-Ing. Dr.techn. Thomas Hackl Institute for Software Technology Graz University of Technology
6. October 2014 Contents
1 Abstract 2
2 Introduction 3
3 Theoretical Part 4 3.1 Pointsets ...... 4 3.2 Λ-Matrices ...... 5 3.3 Order Types ...... 6 3.4 Projective Classes ...... 7 3.5 λ-Matrices ...... 9 3.6 Realizations ...... 11 3.6.1 Sub Order Types ...... 11 3.6.2 The Rotation Functions ...... 12 3.7 Approaches for Realization ...... 14 3.7.1 QCP-Realization ...... 14 3.7.2 Grassmann-Pl¨ucker Heuristic ...... 16 3.7.3 Back-Rotation-Realization ...... 18 3.8 Research Topics ...... 22 3.8.1 k-Gons and k-Holes ...... 22 3.8.2 Rectilinear Crossings ...... 22 3.8.3 Universal Pointset ...... 23
4 pyotlib 24 4.1 Programming Language and Modules ...... 24 4.2 Supported Filetypes ...... 24 4.3 Provided Functionality ...... 24 4.3.1 Core Classes ...... 24 4.3.2 Order Types and Projective Classes ...... 25 4.3.3 Realization ...... 25 4.3.4 Further Classes ...... 27 4.3.5 Provided Scripts ...... 27 4.4 Some Benchmarks ...... 29 4.5 Realization of small Order Types ...... 29 4.6 Realization of large Order Types ...... 30
5 Overview of Results 32 5.1 Results on Empty Convex 5-Holes: ...... 32 5.2 Results on Rectilinear Crossing Numbers and on Realizability of Large Order Types: ...... 32 5.3 Results on Realizations of Minimal Size: ...... 34 5.4 Results on Universal Order Types: ...... 35
1 1 Abstract
In this thesis we describe some basic methods to efficiently work with order types and projective classes and some realization techniques. In addition, we give a short documentation of the framework pyotlib which provides implementations of the mentioned methods. Furthermore we give an overview of the results obtained by using the provided methods.
2 2 Introduction
After finishing some calculations for Manfred Scheucher’s Bachelor’s thesis in Computer Science [36] there were exactly 168 abstract order types with 13 points that contained exactly 3 convex 5-holes. Most of them were easy to realize and some of them could be proven to be non-realizable. But there were also some order types that could not be realized for months. In general, the realization problem is known to be NP-hard. Using the implementation developed for this thesis, which can also make use of the power of Wolfram Mathematica [13], 156 order types could be realized and the 12 remaining abstract order types could be proven to be not realizable with just about 30 minutes computation time.
As there exist lots of small scripts from the preceding Bachelor’s thesis and because there are lots of calculations that can be done with order types and projective classes, we decided to establish a whole framework called pyotlib to provide the core functionality. Thus, we analyzed and implemented all impor- tant algorithms from scratch to provide an efficient implementation.
After the BSc thesis [36] there were also some abstract order types with a larger number of points and a low number of convex 5-holes known. By realizing them, the upper bound on the minimal number of convex 5-holes h5(n) could be slightly improved for some n. For example, by realizing an order type with 19 points and 27 convex 5-holes it is proven that h5(19) ≤ 27.
3 3 Theoretical Part
There are infinite possibilites to pick three distinct (labeled) points in the Eu- clidean plane, as the number of points in the Euclidean plane is infinite. How- ever, there are only three cases that can occur:
1. the third point lies on the directed line through point one and point two, i.e., these three points are “collinear”; 2. the third point lies on the left side of the directed line through point one and point two, i.e, these three points are “left oriented”;
3. the third point lies on the right side of the directed line through point one and point two, i.e, these three points are “right oriented”. Analogously, for any set of points with more than three points each point triple has a certain orientation. Hence, it is a good approach to group sets of points by their orientations. This concept was first introduced by Goodman and Pol- lack [28] who denoted these groups as order types. Consecutively, given an order type one might ask for a realization, i.e, a set of points with the desired orienta- tions. One approach to enumerate all order types was proposed by Aichholzer, Aurenhammer and Krasser [15, 31]. Prior work has also been done by Bokowski, Laffaille and Richter-Gebert [21, 20], and by Finschi and Fukuda [26, 27].
In this section we give an introduction to the theory of order types as it is necessary to know the definitions and ideas to understand the methods that we use later for realization.
3.1 Pointsets
Definition 1. For n ∈ N we define the symmetric group
Sn := {π : {1, . . . , n} → {1, . . . , n} | π bijective} as the set of all permutations of length n. Given π ∈ Sn we denote πi := π(i).
Definition 2. We denote the tuple P = (p1, . . . , pn) with pairwise different 2 pi = (xi, yi) ∈ R as (real) pointset. 2 If pi ∈ Q holds for all i we denote P as rational pointset. 2 If pi ∈ Z holds for all i we denote P as integer pointset. 2 If pi ∈ N0 holds for all i we denote P as natural pointset. We define the set of real, rational, integer, and natural pointsets as
2 Pn := {(p1, . . . , pn) | pi ∈ R pairwise different}, Q 2 2 n Pn := {(p1, . . . , pn) | pi ∈ Q pairwise different} = Pn ∩ (Q ) , I 2 2 n Pn := {(p1, . . . , pn) | pi ∈ Z pairwise different} = Pn ∩ (Z ) , and N 2 2 n Pn := {(p1, . . . , pn) | pi ∈ N0 pairwise different} = Pn ∩ (N0) , respectively. Remark that in natural pointsets point coordinates can also be zero. We N could also denote Pn as “non-negative integer pointset”.
4 I Definition 3. Let P = (p1, . . . , pn) ∈ Pn be an integer pointset. We define the diameter of the pointset P as diam(P ) := max max |xi|, max |yi| . i∈{1,...,n} i∈{1,...,n}
I For P ∈ Pn\Pn we can set diam(P ) := ∞.
Definition 4. Let P = (p1, . . . , pn) ∈ Pn be a pointset. Three points pi, pj, pk for i, j, k pairwise different are said to be collinear if and only if
pk = λpi + (1 − λ)pj holds for some λ ∈ R. The points p1, . . . , pn are said to be in general position and the pointset P is said to be general if and only if there are no collinear points.
3.2 Λ-Matrices As line arrangements and pseudoline arrangements are used only for the definition of Λ-matrices we refer to [31, 15] for the defintion and construction methods.
n×n×n Definition 5. Let Λ = (Λijk)i,j,k∈{1,...,n} ∈ {−1, 0, 1} be a tensor of orientations such that Λ can be constructed via pseudoline arrangements. We will denote Λ as Λ-matrix (“big lambda matrix”) of size n and define the set of Λ-matrices of size n as
∗ n×n×n Λn := {Λ ∈ {−1, 0, 1} | Λ is a Λ-matrix}.
Note that by defintion for i, j, k ∈ {1, . . . , n} the following three conditions must hold:
1.Λ ijk = Λjki, i.e, relabeling three points (counter) clockwise does not change the orientation of this point triple;
2.Λ ijk = −Λjik, i.e., switching two points of inverts the orientation;
3.Λ ijk 6= 0 holds for i, j, k pairwise different, i.e., no collinear points. Remark that these conditions are necessary but not sufficient! [31] Note 1. Note that we could also use a less restrictive definition for Λ-matrices such that collinear index triples are allowed where an index triple (i, j, k), i, j, k pairwise different, is said to be collinear if and only if Λijk = 0. Otherwise it is said to be general. If there is a collinear index triple Λ is said to be collinear. Otherwise Λ is said to be general. But for our purposes we only consider so called “general” Λ-matrices. [26, 27]
Definition 6. Let P ∈ Pn be a general pointset. We denote
Λ(P ) := (Λijk)i,j,k∈{1,...,n}
5 as the induced Λ-matrix by the pointset P with the induced orientation triples 1 1 1 Λijk := sgn det xi xj xk yi yj yk where det is the determinant function and sgn is the sign function. Proposition 1. Any general pointset is the dual of a line arrangement which is per definition also a pseudo line arrangement [31]. Hence any induced Λ-matrix is a Λ-matrix by definition. ∗ Definition 7. Let Λ ∈ Λn. For any i, j ∈ {1, . . . , n} we define the left set Lij(Λ) and the right set Rij(Λ) as
Lij(Λ) := {k | Λijk > 0} and
Rij(Λ) := {k | Λijk < 0}, respectively.
Remark that this definition of Lij(Λ) was proposed by Goodman and Pol- lack [28] as defintion of (induced) Λ-matrices.
3.3 Order Types Motivation: There is a large number of Λ-matrices even for small n which store the same information so one might want to group them. Definition 8. Let n be fixed. We define the lexicographical ordering on Rn as
a b :⇔ a = b ∨ ∃k ∈ {1, . . . , n}:(ak < bk ∧ ∀i ∈ {1, . . . , k − 1}: ai = bi) for any a, b ∈ Rn. Proposition 2. defines a total order on Rn.
Definition 9. Let n be fixed and let π ∈ Sn be a permutation. We define ∗ ∗ Ππ :Λn → Λn
(Λi,j,k)i,j,k∈{1,...,n} 7→ (Λπi,πj ,πk )i,j,k∈{1,...,n}. ∗ For Λ ∈ Λn we denote Ππ(Λ) as the permutation of Λ induced by π.
∗ OT Since this Ππ is a bijection on Λ we can define an equivalence-relation ∼ on Λ∗: Definition 10. We define
OT Λ ∼ M :⇔ ∃π ∈ Sn :Ππ(Λ) = M ∨ Ππ(Λ) = −M, where −M denotes the mirrored Λ-matrix, i.e., the Λ-matrix where every single orientation is inverted. We denote the equivalence class
[Λ]OT =: [Λ] =: OT(Λ) ∼ as the order type of Λ and Λ is said to be a representative of the order type [Λ]. We define the set of order types as the set of all equivalence classes as
∗ ∗ . OT := Λ OT . n n ∼
6 ∗ Definition 11. For an order type O ∈ OTn we denote the unique lexicograph- ically minimal representative (or “lexicographical minimum”) as Λmin(O) or Λmin if O is given by the context, i.e.,
Λmin(O) := lexmin O.
∗ For Λ ∈ Λn we also define
Λmin(Λ) := Λmin([Λ]).
Note that, since is a total order, the lexicographically minimal represen- tative Λmin is well defined.
3.4 Projective Classes Since there are lots of order types that contain similar information one might want to group them.
∗ Definition 12. For Λ ∈ Λn we define the set of extremal points as
∂Λ := {i ∈ {1, . . . , n} | ∃j ∈ {1, . . . , n}\{i}: ∀k ∈ {1, . . . , n}:Λijk 6= 1}.
We can also write ∂Λ = {ei}i∈{1,...,k} ⊆ {1, . . . , n} for some k ∈ {1, . . . , n} with Λei,ei+1,f 6= 1 for i ∈ {1, . . . , k−1} and Λek,e1,f 6= 1 for every f ∈ {1, . . . , n}.
∗ Proposition 3. Let Λ ∈ Λn. There exists a unique j for every i ∈ ∂Λ since there are no collinear indices in the extremal set by our definition of Λ-matrices.
Definition 13. Let n be fixed. For i0 ∈ {1, . . . , n} we define the flipping functions
f :Λ∗ → Λ∗ i0 n;i0 n;i0 Λ 7→ Λe where Λ∗ is the set of Λ-matrices where i is extremal, i.e., n;i0 0 Λ∗ := {Λ ∈ Λ∗ | i ∈ ∂Λ} n;i0 n 0 and ( −Λijk if i0 ∈ {i, j, k} Λeijk := Λijk otherwise.
Note that the flipping function fi0 inverts all orientation triples containing index i0 but does not change any other orientations. An extremal index i0 stays extremal if fi0 is applied.
Proposition 4. The flipping function fi0 fulfills the following properties:
• fi0 ◦ fi0 = id where id is the identity function; • f = f −1; i0 i0
• fi0 is bijective.
7 PC ∗ Definition 14. Let n be fixed. We define an equivalence relation ∼ on Λn with Λ PC∼ M if and only if there exist
• k ∈ N, (1) (k) ∗ • Λ ,..., Λ ∈ Λn, and
• i1, . . . , ik−1 ∈ {1, . . . , n} such that
• Λ(1) ∈ [Λ], • Λ(k) ∈ [M], and
(j) (j) (j+1) • ij ∈ ∂(Λ ) and fij (Λ ) = Λ holds for all j ∈ {1, . . . , k − 1}.
We denote the equivalence class [Λ]PC =: hΛi =: PC(Λ) as the projective class ∼ of Λ. We further define the set of projective classes as the set of all equiv- alence classes, i.e., ∗ ∗ . PC := Λ PC . n n ∼ Remark that Λ and M are in the same projective class if and only if there is a flipping sequence of extremal indices from Λe ∈ [Λ] to Mf ∈ [M]. Proposition 5. We can write the projective class as the union of all order types spanned by elements in hΛi, i.e., [ hΛi = [M]. M∈hΛi
Further, there exists k ∈ N and Λ(1),..., Λ(k) ∈ hΛi such that ] hΛi = [Λ(i)], i∈{1,...,k} where U denotes the disjoint union operation.
PC ∗ Definition 15. We can also define an equivalence relation ∼ on OTn as
PC PC O1 ∼ O2 :⇔ ∃Λ ∈ O1,M ∈ O2 :Λ ∼ M
∗ for any O1,O2 ∈ OT . We denote the equivalence class [O]PC =: hOi as pro- n ∼ jective class of an order type. Furthermore, we can split the set of order types into equivalence classes which we will also denote as projective classes ∗∗ of the order types and denote the set as PCn , i.e.,
∗∗ ∗ . ∗ . . PC := OT PC = Λ OT PC . n n ∼ n ∼ ∼
Remark that k in the previous proposition is equal to |h[Λ]i|.
8 ∗∗ Corollary 1. According to Preposition 5 for every P ∈ PCn there is exactly ∗ one Q ∈ PCn (and vice versa) such that ] O = Q. O∈P
Thus, we can write . P = Q OT . ∼ According to this Corollary any projective class (a set of Λ-matrices) can be partitioned into a disjoint set of order types.
∗ Definition 16. For a projective class P ∈ PCn we denote the lexicograph- ically minimal representative (or simply “lexicographical minimum”) as PC PC Λmin(P ) or simply as Λmin if P is given by the context, i.e.,
PC Λmin(P ) := lexmin P.
∗ For Λ ∈ Λn we also define
PC PC Λmin(Λ) := Λmin(hΛi).
Note that, since is a total order, the lexicographically minimal represen- PC tative Λmin is well defined.
3.5 λ-Matrices Because there are n3 entries in a Λ-matrix one might want to find a structure to store the information more efficiently.
n×n Definition 17. We define λ(Λ) := (λij)i,j∈{1,...,n} ∈ {0, . . . , n} with λij := |Lij(Λ)| as the (induced) λ-matrix (“small lambda matrix”) where Lij(Λ) de- notes the left set of Λ (see Definition 7). We further define the set of (induced) λ-matrices of size n as
∗ n×n ∗ λn := {λ ∈ {0, . . . , n} | ∃Λ ∈ Λn : λ(Λ) = λ}.
∗ Proposition 6. Let λ ∈ λn. Then λij + λji = n − 2 holds for any i 6= j. Note 2. Note that for a definition which allows collinear index triples another set for collinear indices Cij(Λ) would be necessary. Using such a definition the equation from the previous proposition would hold if and only if
Cij(Λ) := {k | Λijk = 0} = ∅.
We will show that a Λ-matrix and its induced λ-matrix store the same in- formation such that we can use “Λ-matrix” and “λ-matrix” as synonyms and just talk about “lambda matrices”. We show that the mapping Λ 7→ λ(Λ) is injective and thus bijective by definition.
∗ ∗ Lemma 1. The mapping λ:Λn → λn;Λ 7→ λ(Λ) is injective.
9 Proof. To proof this lemma we give an algorithm to find Λ: Let i0 ∈ ∂Λ. Since there are no collinear indices there exists a unique permutation π ∈ Sn such that π1 = i0 and Li0,πj = j − 2 for j ≥ 2. According to ordering around the index i0 we can see that Λπ1,πj ,πk = 1 must hold for 1 < j < k. One can remove the index i0 and continue iteratively until no more points are left. Note 3. Note that using a definition which allows collinear index triples it can ∗ ∗ also be shown that given λ ∈ λn there exists a unique Λ ∈ Λn with λ(Λ) = λ. To proof this collinear version via an algorithm we might need to consider more than one extremal point. Corollary 2. We denote the inverse function as λ−1 =: Λ and have a mapping ∗ ∗ Λ:Λn → λn that gives the induced Λ-matrix by λ. We now identify Λ(λ) = Λ =b λ = λ(Λ). Since a λ-matrix has n2 entries of size O(log n), O(n2 log n) bits are needed for encoding. Hence, we already got an improvement for storing Λ-matrices.
∗ Definition 18. For λ ∈ λn with λ = λ(Λ) we can define the order type [λ] and the projective classes hλi as
λ([Λ]) := {λ(M) | M ∈ [Λ]} and λ(hΛi) := {λ(M) | M ∈ hΛi}, respectively.
Proposition 7. Λ([λ]) = {Λ(µ) | µ ∈ [λ]} and Λ(hλi) = {Λ(µ) | µ ∈ hλi} hold by definition.
According to this proposition we can identify [λ] =b [Λ] and hλi =b hΛi. Instead of calculating the lexicographical minimum of [Λ] we can also use the lexicographical minimum of [λ] as representative which is also unique according to the previous proposition. The same holds for the representative of hλi.
∗ Definition 19. For λ ∈ λn we define the lexicographical minimum as
λmin(λ) := lexmin[λ] and PC λmin(λ) := lexminhλi.
∗ Proposition 8. Let λ ∈ λn and λ = λ(Λ). Then
i ∈ ∂Λ ⇔ ∃j : λij = 0.
∗ Proposition 9. Let λ ∈ λn. For the lexicographical minimum
λmin = (λij)i,j∈{1,...,n} ∈ [λ] it is necessary (but not sufficient) that λ1j = j − 2 holds for j ≥ 2. According to the previous proposition, there at most 2n λ-matrices in [λ] that fulfill this property since |∂Λ(λ)| ≤ n (+mirrored).
10 Corollary 3. λmin can be calculated by comparing the O(n) candidates. Since there are n2 integer entries in a λ-matrix of size O(n) (O(log n) bits) the cal- 3 culation of λmin can be done in O(n log n) time.
∗ Theorem 1. Let λ ∈ λn. The complete projective class P := hλi and thus also PC 2 the lexicographical minimum λmin can be calulated in O(|P | log |P |n log n) time using O(|P |n2 log n) space (output sensitive). Proof. Let G = (V,E) be a undirected graph with V = P and {u, v} ∈ V if and only if u PC∼ v. There are at most |n| neighbors for each v ∈ V because at most n flip- operations are possible. Thus, the calculation can be done by enumerating the whole graph recursively. There are |V | nodes and every node is entered at most n times. All duplicate checks can be done with O(|V |log|V |) comparisons using O(|V |) space. Each operation on a node (e.g., storing, comparison) can be performed in O(n2 log n) time if λ-matrices are used. Instead of storing one Λ-matrix per order type we can also just store one Λ-matrix per projective class since all order types in a projective class can be enumerated according to this theorem.
3.6 Realizations ∗ Definition 20. Let Λ ∈ Λn. We define the set of realizations of Λ as
R(Λ) := {P ∈ Pn | Λ(P ) = Λ}.
We further define the set of rational, integer, and natural realizations as
Q Q R (Λ) := R(Λ) ∩ Pn , I I R (Λ) := R(Λ) ∩ Pn, and N N R (Λ) := R(Λ) ∩ Pn , respectively.
Furthermore, Λ is said to be realizable if R(Λ) 6= ∅, otherwise it is said to be non-realizable or pure abstract.
∗ Lemma 2. For O ∈ OTn either all Λ ∈ O are realizable or all Λ ∈ O are pure abstract. An order type Λ is said to be realizable or pure abstract, respectively.
Proof. Let {p1, . . . , pn} ∈ R(Λ) be a realization of Λ and M = Ππ(Λ) ∈ [Λ].
Then {pπ1 , . . . , pπn } is a realization of M.
3.6.1 Sub Order Types
∗ Definition 21. Let Λ = (Λijk)i,j,k∈{1,...,n} ∈ Λn and let A = {a1, . . . , am} ⊆ {1, . . . , n}. By construction of Λ-matrices (via pseudoline arrangements), it holds that 0 ∗ Λ := (Λai,aj ,ak )i,j,k∈{1,...,m} ∈ Λm. We denote
11 • Λ0 as the sub Λ-matrix induced by the index set A of Λ; • [Λ0] as a sub order type of [Λ]; •h Λ0i as a sub projective class of hΛi.
∗ ∗ ∗ Note 4. These definitions give ordering relations on Λn, on OTn, and on PCn. ∗ 0 ∗ Lemma 3. Let P = (p1, . . . , pn) be a realization of Λ ∈ Λn and let Λ ∈ Λm be the sub Λ-matrix induced by the set A = {a1, . . . , am} ⊆ {1, . . . , n}. Then 0 0 P := (pa1 , . . . , pam ) is a realization of Λ . ∗ Corollary 4. Let Λ ∈ Λn. If there exists a non-realizable sub Λ-matrix of Λ then Λ is also non-realizable. According to this corollary we can search for a (small) non-realizable sub order type to proof the non-realizability of a (large) order type.
3.6.2 The Rotation Functions
∗ Let Λ ∈ Λn be realizable and let i0 ∈ ∂Λ. Since Λ is realizable there exists P ∈ R(Λ). Since there are no collinear points, we can find a line that separates the extremal point pi0 from the others. Formally: There exists a function g(x, y) = ax + by + c such that g(pi0 ) > 0 and g(pi) < 0 for i 6= i0. As any general pointset P ∈ R(Λ) is invariant to affine linear transformations that conserve the orientation of each point triple, i.e.,
T (x, y) 7→ (x, y) · M + (x0, y0) where det M > 0 (e.g., rotation, translation, shearing, and certain scalings), we 0 can find a bijective affine linear transformation sP,i0 such that P = sP,i0 (P ) holds, where • p0 = (1, 0), i0 0 •∀ i 6= i0 : x(pi) ≤ −1, and 0 0 •∃ !j, k : pj = (−1, 1), pk = (−1, −1). By construction, a = 1, b = 0, c = 0 (i.e., the y-axis) gives a separation line in P 0. We can define a rotation function r that maps the y-axis to the line at infinity in a way such that p0 is moved over the line at infinity and others are i0 not. Formally that is
2 2 r : {(x, y) ∈ R | x 6= 0} → {(x, y) ∈ R | x 6= 0} 1 y (x, y) 7→ (− , − ). x x Note that this function corresponds to the -90 degree rotation around the y-axis in the three dimensional space, i.e., the mapping (x, y, z) 7→ (z, y, −x), that maps a point (x, y, 1) to (1, y, −x). Projecting the resulting point into the 1 y z = 1 plane gives (− x , − x ).
Definition 22. Using the functions sP,i0 and r as above we can define the rotation function rP,i0 as
rP,i0 := r ◦ sP,i0 .
12 ∗ Corollary 5. Let Λ ∈ Λn, P ∈ R(Λ) and i0 ∈ ∂Λ. Then
0 P := rP,i0 (P )
0 0 0 is a realization of Λ = fi0 (Λ) ∈ hΛi, i.e., P ∈ R(Λ ). ∗ Theorem 2. For P ∈ PCn either all Λ ∈ P are realizable or all Λ ∈ P are abstract. A projective class P is said to be realizable or pure abstract, respectively.
Proof. Let k ∈ N0 and let i0, . . . , ik−1 ∈ {1, . . . , n} be the flipping sequence such (0) (k) ∗ (0) (k) that Λ ,..., Λ ∈ Λn with Λ ∈ [Λ], Λ ∈ [M]. (see Definition 14) Assume that Λ is realizable. According to Lemma 2 there also exists a (0) realization P0 of Λ . For j = 1, . . . , k (iteratively) Pj := rPj−1,ij−1 (Pj−1) gives (j) (k) a realization of Λ . Thus, Pk is a realization of Λ ∈ [M]. According to Lemma 2 there exists a realization of M.
∗ Corollary 6. The problem of realizing Λ ∈ Λn can be solved by realizing an- other M ∈ hΛi and transforming back the solution to the original problem using rotation functions. We denote this realization method as back-rotation-realization.
∗ Theorem 3. Let Λ ∈ Λn. There are realizations with real coordinates if and only if there are natural realizations. Formally,
R(Λ) = ∅ ⇔ RQ(Λ) = ∅ ⇔ RI (Λ) = ∅ ⇔ RN (Λ) = ∅.
Proof. By the defintion of real, rational, integer, and natural pointsets we have
PN ⊆ PI ⊆ PQ ⊆ P.
So only one direction needs to be shown for each of the three equivalences.
• The third equivalence holds because of the translation invariance and be- cause there exists a minimum (pointsets are finite by definition): I I Let P = ((x1, y1),..., (xn, yn)) ∈ Pn be an integer pointset. We define X := mini∈{1,...,n} xi and Y := mini∈{1,...,n} yi. Then
N P := ((x1 − X, y1 − Y ),..., (xn − X, yn − Y ))
is a natural pointset that induces the same Λ-matrix. • The second equivalence holds because of the invariance of multiplication with positiv numbers:
ai ci Let xi = and yi = with ai, ci ∈ and bi, di ∈ be the coordinates of bi di Z N Q Q the points in the pointset P = ((x1, y1),..., (xn, yn)) ∈ Pn . We define Q Q B := i∈{1,...,n} bi and D := i∈{1,...,n} di. Then
I P := ((B · x1,D · y1),..., (B · xn,D · yn))
is an integer pointset that induces the same Λ-matrix.
13 • A proof for the first equivalence:
Let P ∈ R(Λ). Let pi0 be the first point that has non-rational coordinates, 2 2 i.e., pi ∈ Q for i < i0 and pi0 6∈ Q . Since Λi0,j,k 6= 0 for any j, k (i0, j, k
pairwise different), the Euclidean distance from pi0 to any line is greater
than some > 0 for any j, k-tuple. Hence, the point pi0 can be moved arbitrarily in an -neighborhood without changing any orientation triple. As the rational numbers are dense in the real numbers there exists a point p0 ∈ 2 with ||p − p0 || < . Hence, i0 Q i0 i0 2 P 0 = (p , . . . , p , p0 , p , . . . , p ) 1 i0−1 i0 i0+1 n
is a realization of Λ where the first i0 points all have rational coordinates. Applying this inductively yields a rational realization.
Corollary 7. Deciding whether there exists a real realization is as hard as deciding whether there exists a natural (or integer) realization.
Theorem 4. The decision problem whether there exists a realization of a given ∗ Λ ∈ Λn is known to be NP-hard. [32, 31] Theorem 5 (Goodman and Pollack). There exists Λ ∈ Λ∗ such that for every n n natural realization diam P = Ω(22 ) holds. [29, 31]
Instead of storing a λ-matrix using O(n2 log n) space we can also store the realization of λ. For small n this method has been shown to be more efficient. For n ≤ 11 an enumeration of all order types and projective classes was given by Aichholzer et. al. [15, 31]. A data base up to n = 10 was also generated by Bokowski, Laffaille, and Richter-Gebert but has never been published [21, 20]. Using a definition that allows collinear index triples an enumeration of all order types was given by Lukas Finschi and Komei Fukuda for n ≤ 9 [26, 27].
3.7 Approaches for Realization 3.7.1 QCP-Realization
∗ Theorem 6. Let Λ ∈ Λn. There is a QCP (Quadratic Constrained Program) n with 3 quadratic constraints in 2n variables that decides whether realization is possible or not. For every orientation triple i, j, k ∈ {1, . . . , n} with Λijk = 1 there is a quadratic constraint
xiyj − xjyi + xjyk − xkyj + xkyi − xiyk > 0 that is equivalent to Λijk = 1 by definition. By construction, any solution x1, . . . , xn, y1, . . . , yn of this problem yields a realization
P := ((x1, y1),..., (xn, yn)) ∈ R(Λ) and vice versa.
14 Remark that we can also write
xiyj − xjyi + xjyk − xkyj + xkyi − xiyk ≥ 1 since “≥ 1” is not more restrictive than “> 0”, is as we only consider finite pointsets. For every real pointset P = ((x1, y1),..., (xn, yn)) there exists
min{xiyj − xjyi + xjyk − xkyj + xkyi − xiyk | Λijk(P ) = 1} =: > 0 and we have the desired property “≥ 1” in the scaled pointset 1 1 1 1 Pe := (( x1, y1),..., ( xn, yn)).
According to the previous theorem we can either let xi, yi ∈ R, xi, yi ∈ Z, or xi, yi ∈ N0 in the QCP - the feasibility will not change. Proposition 10. Finding a solution of an arbitrary QCP is known to be NP- hard in general even if some certain instances (e.g., if the problem is convex) can be solved efficiently. Proof. Quadratic Programming is known to be NP-hard [34] and a QP (Quadratic Program) is a QCP without quadratic constraints.
Note 5. As x(1 − x) = 0 is a quadratic constraint that forces a variable x to be boolean, a QCP can be used to find (or disproof) a solution to a given SAT-instance. Proposition 11. A feasible point of the problem (P)
minimize 0
subject to g(x1, . . . , xn) ≤ 0, 1 ≤ j ≤ m xi ∈ R , 1 ≤ i ≤ n can be found by solving the problem (P’)
m X minimize φi(gi(x1, . . . , xn)) i=1 subject to xi ∈ R , 1 ≤ i ≤ n where φi : R → R maps any non-positive number to zero and any positive number to a positive number, e.g., ( xα if x > 0 x 7→ 0 else.
By construction, any optimal solution of (P’) with an objective value 0 is also a solution of (P) and vice versa. Hence, if the minimal objective value of (P’) is greater than 0 then (P) is infeasible. According to this preposition a feasible point of a QCP can be found by minimizing a function.
15 3.7.2 Grassmann-Pl¨ucker Heuristic Theorem 7 (Grassmann-Pl¨ucker Heuristic. “GP-Heuristic”). An LP (Linear n n Program) with 10 5 constraints in 3 variables can be constructed to a given Λ ∈ Λ∗. If this LP has an optimal solution then Λ is not realizable (and thus also the order type [Λ] and the projective class hΛi are not realizable as well). Otherwise no statement about realizability can be made. [31, 21]
∗ Proof. Let Λ ∈ Λn. Assume that Λ is realizable. Let P be a realization of Λ. For i, j, k ∈ {1, . . . , n} let
1 1 1 Xijk := det xi xj xk . yi yj yk
Remark that there are no collinear points and thus Xi,j,k 6= 0 holds for pairwise different i, j, k. For a, b, c, d, e ∈ {1, . . . , n} pairwise different, the Grassmann-Pl¨ucker equa- tion must hold, i.e.,
Xabc · Xade + Xabd · Xaec + Xabe · Xacd = 0
We can observe two properties of the GP-equation: 1.( a0, b0, c0, d0, e0) := (a, c, b, d, e) (i.e., switching b and c) yields the same equation:
0 = Xabc · Xade + Xabd · Xaec + Xabe · Xacd
= Xabc · Xade + Xacd · Xabe + Xaec · Xabd
= (−Xacb) · Xade + Xacd · (−Xaeb) + (−Xace) · Xabd
= −(Xab0c0 · Xade + Xab0d · Xaec0 + Xab0e · Xac0d)
2.( a0, b0, c0, d0, e0) := (a, c, d, e, b) (i.e., rotating b, c, d, e) yields the same equa- tion:
0 = Xabc · Xade + Xabd · Xaec + Xabe · Xacd
= Xacd · Xabe + Xaec · Xabd + Xabc · Xade
= −Xacd · Xaeb − Xace · Xabd − Xacb · Xade
= −(Xab0c0 · Xad0e0 + Xab0d0 · Xae0c0 + Xab0e0 · Xac0d0 )
According to this two properties any permutation of b, c, d, e yields the same n−1 equation. Hence, for a fixed a there are only 4 equations. As Λijk = sgn Xijk holds by definition, exactly one or two of the following terms must have negative sign to fulfil the GP-equation:
Λabc · Λade, Λabd · Λaec, Λabe · Λacd.
W.l.o.g. one term has negative sign. Otherwise, switch c and e. 0 0 0 W.l.o.g. Λabd · Λaec is the negative term. Otherwise (c , d , e ) := (d, e, c) or (c0, d0, e0) := (e, c, d) fulwills this property.
16 We can rewrite our equation to
Xabc · Xade + Xabe · Xacd = Xabd · Xace where every product has positive sign. This yields two inequalities:
Xabc · Xade < Xabd · Xace
Xabe · Xacd < Xabd · Xace
Let Lijk := log |Xijk| for any i, j, k ∈ {1, . . . , n}. We can apply the logarithm on both equations
Labc + Lade < Labd + Lace
Labe + Lacd < Labd + Lace and rewrite them to
Labc + Lade − Labd − Lace < 0
Labe + Lacd − Labd − Lace < 0