next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
GradedLieAlgebras :: Holonomy Lie algebras and Symmetries

Holonomy Lie algebras and Symmetries -- Hyperplane arrangements and automorphisms

The function holonomyLie(A), see holonomyLie, constructs the holonomy Lie algebra of a hyperplane arrangement or a matroid given by the set A of 2-flats. The input may be any set of subsets of a finite set A, such that all subsets have at most one element in common and are of length at least three (the 2-flats of size two are determined by those). Indeed, for any such set of subsets there is a unique simple matroid of rank at most three with the given set as the set of 2-flats of size at least three, and holonomyLie(A) gives the holonomy Lie algebra of this matroid.

i1 : L = holonomyLie({{a1,a2,a3},{a1,a4,a5},{a2,a4,a6}})

o1 = L

o1 : LieAlgebra
i2 : L.relsLie

o2 = {(a2 a1) - (a3 a2), (a3 a1) + (a3 a2), (a4 a1) - (a5 a4), (a5 a1) + (a5
     ------------------------------------------------------------------------
     a4), (a4 a2) - (a6 a4), (a6 a2) + (a6 a4), (a4 a3), (a5 a2), (a5 a3),
     ------------------------------------------------------------------------
     (a6 a1), (a6 a3), (a6 a5)}

o2 : List

The sum of the generators is a central element. Hence, by dividing out by this element and using minPresLie one obtains a presentation of a Lie algebra with one generator less, which is isomorphic to the holonomy Lie algebra in degrees >=2.

i3 : L0 = L/{a1+a2+a3+a4+a5+a6}

o3 = L0

o3 : LieAlgebra
i4 : L0 = minPresLie 3

o4 = L0

o4 : LieAlgebra
i5 : peekLie L0

o5 = gensLie => {a2, a3, a4, a5, a6}
     genWeights => {{1, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}
     genSigns => {0, 0, 0, 0, 0}
     relsLie => {(a6 a5), (a6 a3), (a6 a2) + (a6 a4), (a5 a3), (a5 a2), (a4 a3), (a4 a2) - (a6 a4)}
     genDiffs => {0, 0, 0, 0, 0}
     field => QQ
     diffl => false
     compdeg => 1

It is possible to get this Lie algebra directly by choosing one of the variables, picking all 2-flats containing that variable, deleting the variable and putting A equal to the set of deleted 2-flats and B equal to the remaining 2-flats and finally applying holonomyLie(A,B).

i6 : L1 = holonomyLie({{a2,a3},{a4,a5}},{{a2,a4,a6}})

o6 = L1

o6 : LieAlgebra
i7 : peekLie L1

o7 = gensLie => {a2, a3, a4, a5, a6}
     genWeights => {{1, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}
     genSigns => {0, 0, 0, 0, 0}
     relsLie => {(a4 a2) - (a6 a4), (a6 a2) + (a6 a4), (a4 a3), (a5 a2), (a5 a3), (a6 a3), (a6 a5)}
     genDiffs => {0, 0, 0, 0, 0}
     field => QQ
     diffl => false
     compdeg => 0

Choosing another generator to delete gives another presentation (which is still isomorhic to the holonomy Lie algebra in degrees >=2).

i8 : L6 = holonomyLie({{a2,a4}},{{a1,a2,a3},{a1,a4,a5}})

o8 = L6

o8 : LieAlgebra
i9 : peekLie L6

o9 = gensLie => {a2, a4, a1, a3, a5}
     genWeights => {{1, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}
     genSigns => {0, 0, 0, 0, 0}
     relsLie => { - (a1 a2) - (a3 a2), (a3 a2) + (a3 a1),  - (a1 a4) - (a5 a4), (a5 a4) + (a5 a1), (a3 a4), (a5 a2), (a5 a3)}
     genDiffs => {0, 0, 0, 0, 0}
     field => QQ
     diffl => false
     compdeg => 0
i10 : dimsLie 6

o10 = {5, 3, 6, 9, 18, 27}

o10 : List
i11 : useLie L1

o11 = L1

o11 : LieAlgebra
i12 : dimsLie 6

o12 = {5, 3, 6, 9, 18, 27}

o12 : List
i13 : useLie L

o13 = L

o13 : LieAlgebra
i14 : dimsLie 6

o14 = {6, 3, 6, 9, 18, 27}

o14 : List

The above corresponds to the deconing process of a central hyperplane arrangement, yielding an affine hyperplane arrangement. The first input set in holonomyLie should be all maximal sets of parallel hyperplanes of size at least two and the second input set should be all maximal sets of hyperplanes of size at least three, which intersect in an affine space of codimension 2.

A local Lie algebra of a holonomy Lie algebra, see localLie, is the Lie subalgebra generated by the generators in one of the sets defined in the input. If this set is of size k, then the local Lie algebra is free on k generators if the set belongs to the first input set and it is free on k-1 generators in degree >=2 if it belongs to the second input set (observe that the numbering of the sets begins with 0).

i15 : useLie L1

o15 = L1

o15 : LieAlgebra
i16 : peekLie localLie 1

o16 = gensLie => {a4, a5}
      genWeights => {{1, 0}, {1, 0}}
      genSigns => {0, 0}
      relsLie => {}
      genDiffs => {0, 0}
      field => QQ
      diffl => false
      compdeg => 0
i17 : peekLie localLie 2

o17 = gensLie => {a2, a4, a6}
      genWeights => {{1, 0}, {1, 0}, {1, 0}}
      genSigns => {0, 0, 0}
      relsLie => {(a4 a2) - (a6 a4), (a6 a2) + (a6 a4)}
      genDiffs => {0, 0, 0}
      field => QQ
      diffl => false
      compdeg => 0

The kernel of the map, in degrees >=2, from L to the direct sum of the local Lie algebras, see localLie, is obtained by decompidealLie. This ideal is generated by the basis elements in degree 3 of the form (a b c) where not all of a,b,c belong to the same local Lie algebra.

i18 : decompidealLie 3

o18 = {}

o18 : List

Hence L1, in degrees >=2, is the direct sum of its local Lie algebras, L1 is "decomposable". This is not true for the "quadrangel", i.e., the graphical arrangement of the complete graph on four vertices, which is also the braid arrangement in dimension 4.

i19 : Q = holonomyLie({{a1,a2,a3},{a1,a4,a5},{a2,a4,a6},{a3,a5,a6}})

o19 = Q

o19 : LieAlgebra
i20 : decompidealLie 3

o20 = {(a6 a5 a4), (a5 a6 a4)}

o20 : List
i21 : Q1 = holonomyLie({{a2,a3},{a4,a5}},{{a2,a4,a6},{a3,a5,a6}})

o21 = Q1

o21 : LieAlgebra
i22 : decompidealLie 3

o22 = {(a6 a5 a4), (a5 a6 a4)}

o22 : List

Here is a way to obtain decompidealLie (which is not used in the program). The direct sum of the local Lie algebras of Q1 may be obtained as follows

i23 : L0 = localLie 0

o23 = L0

o23 : LieAlgebra
i24 : L1 = localLie 1

o24 = L1

o24 : LieAlgebra
i25 : L2 = localLie 2

o25 = L2

o25 : LieAlgebra
i26 : L3 = localLie 3

o26 = L3

o26 : LieAlgebra
i27 : M = L0**L1**L2**L3

o27 = M

o27 : LieAlgebra
i28 : M.gensLie

o28 = {pr_0, pr_1, pr_2, pr_3, pr_4, pr_5, pr_6, pr_7, pr_8, pr_9}

o28 : List

and the map from Q1 to M is given as

i29 : f = mapLie(M,Q1,{pr_0+pr_4,pr_1+pr_7,pr_2+pr_5,pr_3+pr_8,pr_6+pr_9})

o29 = f

o29 : MapLie
i30 : peekLie f

o30 = MapLie{a2 => pr_0 + pr_4}
             a3 => pr_1 + pr_7
             a4 => pr_2 + pr_5
             a5 => pr_3 + pr_8
             a6 => pr_6 + pr_9
             sourceLie => Q1
             targetLie => M

and hence the ideal may be obtained as the kernel of f

i31 : kernelBasisLie(3,f)

o31 = {(a6 a5 a4), (a5 a6 a4)}

o31 : List

The symmetric group S4 operates on the vertices of K4 and this induces an action of S4 on the six edges, which in turn induces an action of S4 on Q as automorphisms. One such permutation of the edges is (123)(465) but not (123)(456). It is possible to check, using symmetryLie, if a permutation of the generators, written as a product of cycles, or as a rearrangement of the generators, defines an automorphism of the Lie algebra. If this is true, then the map is given as output, else an error message is written.

i32 : useLie Q

o32 = Q

o32 : LieAlgebra
i33 : symmetryLie({{a1,a2,a3},{a4,a5,a6}})
the map is not welldefined
i34 : f=symmetryLie({{a1,a2,a3},{a4,a6,a5}})

o34 = f

o34 : MapLie
i35 : peekLie f

o35 = MapLie{a1 => a2      }
             a2 => a3
             a3 => a1
             a4 => a6
             a5 => a4
             a6 => a5
             sourceLie => Q
             targetLie => Q
i36 : g=symmetryLie({a2,a3,a1,a6,a4,a5})

o36 = g

o36 : MapLie
i37 : peekLie g

o37 = MapLie{a1 => a2      }
             a2 => a3
             a3 => a1
             a4 => a6
             a5 => a4
             a6 => a5
             sourceLie => Q
             targetLie => Q

The ideal decompidealLie is invariant under all automorphisms of L. We may use characterLie and a character table for S4 to determine its irreducible representation constituents. There are four conjugacy classes (except id). Representatives for them as permutation of the six generators are (23)(45), (123)(465), (16)(2354) and (16)(25) corresponding to one 2-cycle, one 3-cycle, one 4-cycle and a product of two 2-cycles.

i38 : dec4 = decompidealLie 4

o38 = {(a6 a6 a5 a4), (a6 a5 a6 a4), (a6 a5 a5 a4), (a6 a4 a5 a4), (a5 a6 a6
      -----------------------------------------------------------------------
      a4), (a5 a6 a5 a4), (a5 a5 a6 a4), (a5 a4 a6 a4), (a4 a6 a5 a4)}

o38 : List
i39 : characterLie({{a2,a3},{a4,a5}},dec4)

o39 = -1

o39 : QQ
i40 : characterLie({{a1,a2,a3},{a4,a6,a5}},dec4)

o40 = 0

o40 : QQ
i41 : characterLie({{a1,a6},{a2,a3,a5,a4}},dec4)

o41 = -1

o41 : QQ
i42 : characterLie({{a1,a6},{a2,a5}},dec4)

o42 = 1

o42 : QQ

Making calculations with the character table for S4, we see that decompidealLie 4 is the sum of the irreducible representations except the trivial representation.

See also