Macaulay2 » Documentation
Packages » HyperplaneArrangements :: arrangement(String,Ring)
next | previous | forward | backward | up | index | toc

arrangement(String,Ring) -- access a database of classic hyperplane arrangements

Synopsis

Description

A hyperplane is an affine-linear subspace of codimension one. An arrangement is a finite set of hyperplanes. This method allows convenient access to the hyperplane arrangements with the following names

i1 : sort keys arrangementLibrary

o1 = {(9_3)_2, bracelet, braid, Desargues, Hessian, MacLane, nonFano,
     ------------------------------------------------------------------------
     notTame, Pappus, prism, X2, X3, Ziegler1, Ziegler2}

o1 : List

We illustrate various ways to specify the ambient ring for some classic hyperplane arrangements.

i2 : A0 = arrangement "(9_3)_2"

o2 = {x , x , x , x  + x , x  + x , x  + 3x , x  + 2x  + x , x  + 2x  + 3x , 4x  + 6x  + 6x }
       1   2   3   1    2   2    3   1     3   1     2    3   1     2     3    1     2     3

o2 : Hyperplane Arrangement 
i3 : ring A0

o3 = QQ[x ..x ]
         1   3

o3 : PolynomialRing
i4 : A1 = arrangement("bracelet", ZZ)

o4 = {x , x , x , x  + x , x  + x , x  + x , x  + x  + x , x  + x  + x , x  + x  + x }
       1   2   3   1    4   2    4   3    4   1    2    4   1    3    4   2    3    4

o4 : Hyperplane Arrangement 
i5 : ring A1

o5 = ZZ[x ..x ]
         1   4

o5 : PolynomialRing
i6 : A2 = arrangement("braid", ZZ/101)

o6 = {x , x , x , x  - x , x  - x , x  - x }
       1   2   3   1    2   1    3   2    3

o6 : Hyperplane Arrangement 
i7 : ring A2

      ZZ
o7 = ---[x ..x ]
     101  1   3

o7 : PolynomialRing
i8 : A3 = arrangement("Desargues", ZZ[vars(0..2)])

o8 = {a, b, c, a + b + c, 2a - 3c, 2a + b - 3c, - 3a - 2b + 2c, a + 2b + c, 3a + 2b + c, 2a + b}

o8 : Hyperplane Arrangement 
i9 : ring A3

o9 = ZZ[a..c]

o9 : PolynomialRing
i10 : A4 = arrangement("nonFano", QQ[a..c])

o10 = {a, b, c, b - c, a - c, a - b, a + b - c}

o10 : Hyperplane Arrangement 
i11 : ring A4

o11 = QQ[a..c]

o11 : PolynomialRing
i12 : A5 = arrangement("notTame", ZZ/32003[w,x,y,z])

o12 = {w, x, y, z, w + x, w + y, w + z, x + y, x + z, y + z, w + x + y, w + x + z, w + y + z, x + y + z, w + x + y + z}

o12 : Hyperplane Arrangement 
i13 : ring A5

        ZZ
o13 = -----[w..z]
      32003

o13 : PolynomialRing

Two of the entries in the database are defined over the finite field with $31627$ elements where $6419$ is a cube root of unity.

i14 : A6 = arrangement "MacLane"

o14 = {x , x , x , x  - x , x  - x , x  - 6420x , x  - 6420x  - x , x  - 6420x  + 6419x }
        1   2   3   1    2   1    3   2        3   1        2    3   1        2        3

o14 : Hyperplane Arrangement 
i15 : ring A6

        ZZ
o15 = -----[x ..x ]
      31627  1   3

o15 : PolynomialRing
i16 : A7 = arrangement("Hessian", ZZ/31627[a,b,c])

o16 = {a, b, c, a + b + c, a + b + 6419c, a + b - 6420c, a + 6419b + c, a + 6419b + 6419c, a + 6419b - 6420c, a - 6420b + c, a - 6420b + 6419c, a - 6420b - 6420c}

o16 : Hyperplane Arrangement 
i17 : ring A7

        ZZ
o17 = -----[a..c]
      31627

o17 : PolynomialRing

Every entry in this database determines a central hyperplane arrangement.

i18 : assert all(keys arrangementLibrary, s -> isCentral arrangement s)

The following two examples have the property that the six triple points lie on a conic in the one arrangement, but not in the other. The difference is not reflected in the matroid. However, Hal Schenck's and Ştefan O. Tohǎneanu's paper "The Orlik-Terao algebra and 2-formality" Mathematical Research Letters 16 (2009) 171-182 arXiv:0901.0253 observes a difference between their respective Orlik-Terao algebras.

i19 : Z1 = arrangement "Ziegler1"

o19 = {x , x , x , x  + x  + x , 2x  + x  + x , 2x  + 3x  + x , 2x  + 3x  + 4x , 3x  + 5x , 3x  + 4x  + 5x }
        1   2   3   1    2    3    1    2    3    1     2    3    1     2     3    1     3    1     2     3

o19 : Hyperplane Arrangement 
i20 : Z2 = arrangement "Ziegler2"

o20 = {x , x , x , x  + x  + x , 2x  + x  + x , 2x  + 3x  + x , 2x  + 3x  + 4x , x  + 3x , x  + 2x  + 3x }
        1   2   3   1    2    3    1    2    3    1     2    3    1     2     3   1     3   1     2     3

o20 : Hyperplane Arrangement 
i21 : assert(matroid Z1 == matroid Z2) -- same underlying matroid
i22 : I1 = orlikTerao Z1;

o22 : Ideal of QQ[y ..y ]
                   1   9
i23 : I2 = orlikTerao Z2;

o23 : Ideal of QQ[y ..y ]
                   1   9
i24 : assert(hilbertPolynomial I1 == hilbertPolynomial I2) -- same Hilbert polynomial
i25 : hilbertPolynomial ideal super basis(2,I1)

o25 = 240*P  - 192*P  + 64*P
           0        1       2

o25 : ProjectiveHilbertPolynomial
i26 : hilbertPolynomial ideal super basis(2,I2) -- but not (graded) isomorphic

o26 = - 5*P  + 24*P  - 38*P  + 20*P
           0       1       2       3

o26 : ProjectiveHilbertPolynomial

See also

Ways to use this method: