The Database of Simplicial Hyperplane Arrangements of Rank 3ΒΆ

Database of simplicial hyperplane arrangements of rank 3 [CEL], [Gru].

This database contains three dictionaries: db_normals_CEL, db_invariants_CEL, and db_wiring_CEL. All three dictionaries have keys following the labeling in the article [CEL]. Namely a key is a 3-tuple (A,B,C) where A is the number of hyperplanes, B is the number of regions, and C is an further index for identification.

The dictionary db_normals_CEL has values which are tuples of 3-tuples. Each 3-tuple gives a normal to the hyperplane arrangement specified by the key.

The dictionary db_invariants_CEL has values which are 7-tuples of the invariants of the hyperplane arrangement specified by the key. The entries are as follows, see Table 5 in [CEL] for more details:

  • The first entry is the labeling of Gruenbaum

  • The second entry is the f-vector

  • The third entry is the t-vector

  • The fourth entry is the r-vector

  • The fifth entry is the automorphism group of the CW-complex

  • The sixth entry is the automorphism group of the matroid

  • The seventh entry is the list of roots of the characteristic polynomial, when integers

The dictionary db_wiring_CEL has values which are tuples describing the wiring diagram of the hyperplane arrangement specified by the key. The first entry is the permutation and the second is the list of inversions with labels given by the order of the normals in the db_normals_CEL dictionary. See Table 15 [CEL] for more details.

EXAMPLES:

Here is how to access an element in the database. To get the data of the normals, invariants, and wiring for the arrangement \(A(7,32)_1\), in the notation of [CEL] we do as follows:

sage: from cn_hyperarr import *
sage: normals = db_normals_CEL[(7,32,1)]; normals
((0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1))
sage: db_invariants_CEL[(7,32,1)]
((7, 1), (9, 24, 16), (3, 6), (0, 4, 3), (48, 48), (24, 12), (1, 3, 3))
sage: db_wiring_CEL[(7,32,1)]
((1, 6, 7, 2, 5, 3, 4), ((1, 3), (5, 6), (3, 5), (5, 7), (2, 3), (3, 5), (5, 6), (1, 3), (3, 5)))

To create the hyperplane arrangement, we do as follows:

sage: vc = VectorConfiguration([vector(x) for x in normals]);vc
Vector configuration of 7 vectors in dimension 3
sage: ha = vectorconf_to_hyperplane_arrangement(vc); ha
Arrangement of 7 hyperplanes of dimension 3 and rank 3