Macaulay 2, version 0.9.2
--Copyright 1993-2001, D. R. Grayson and M. E. Stillman
--Singular-Factory 1.3c, copyright 1993-2001, G.-M. Greuel, et al.
--Singular-Libfac 0.3.3, copyright 1996-2001, M. Messollen

i1 : load "MG.m2"
--loaded MG.m2

i2 : G = BruhatGraph({3,4,1,2})

o2 = MomentGraph{...}

o2 : MomentGraph Output is of type MomentGraph.

i3 : show(G) To display a MomentGraph, use "show"

Coefficient Ring: QQ [x , x , x , x ] The base ring (stored as G.HTpt)
0 1 2 3
Vertices:
{3, 4, 1, 2}
{1, 4, 3, 2}
{2, 4, 1, 3}
{3, 1, 4, 2}
{3, 2, 1, 4}
{1, 3, 4, 2}
{1, 4, 2, 3}
{2, 1, 4, 3}
{2, 3, 1, 4}
{3, 1, 2, 4}
{1, 2, 4, 3}
{1, 3, 2, 4}
{2, 1, 3, 4}
{1, 2, 3, 4}

Edges
{3, 4, 1, 2} -- {1, 4, 3, 2}: x - x
0 2

{3, 4, 1, 2} -- {2, 4, 1, 3}: x - x
0 3

{3, 4, 1, 2} -- {3, 1, 4, 2}: x - x
1 2

{3, 4, 1, 2} -- {3, 2, 1, 4}: x - x
1 3

{1, 4, 3, 2} -- {1, 3, 4, 2}: x - x
1 2

{1, 4, 3, 2} -- {1, 2, 3, 4}: x - x
1 3

... some edges deleted ...


{3, 1, 2, 4} -- {2, 1, 3, 4}: x - x
0 2

{1, 2, 4, 3} -- {1, 2, 3, 4}: x - x
2 3

{1, 3, 2, 4} -- {1, 2, 3, 4}: x - x
1 2

{2, 1, 3, 4} -- {1, 2, 3, 4}: x - x
0 1


i4 : S = ICSheaf(G)

o4 = MomentGraphSheaf{...}

o4 : MomentGraphSheaf

i5 : show(S) show also works for objects of type MomentGraphSheaf
16
Global Sections: QQ [x , x , x , x ]
0 1 2 3
2 3 4
Poincare' polynomial: 1 + 4$T + 6$T + 4$T + $T
Stalks:
{3, 4, 1, 2}: rank 1, degrees {0}
{1, 4, 3, 2}: rank 1, degrees {0}
{2, 4, 1, 3}: rank 1, degrees {0}
{3, 1, 4, 2}: rank 1, degrees {0}
{3, 2, 1, 4}: rank 1, degrees {0}
{1, 3, 4, 2}: rank 1, degrees {0}
{1, 4, 2, 3}: rank 1, degrees {0}
{2, 1, 4, 3}: rank 1, degrees {0}
{2, 3, 1, 4}: rank 1, degrees {0}
{3, 1, 2, 4}: rank 1, degrees {0}
{1, 2, 4, 3}: rank 1, degrees {0}
{1, 3, 2, 4}: rank 2, degrees {1, 0}
{2, 1, 3, 4}: rank 1, degrees {0}
{1, 2, 3, 4}: rank 2, degrees {1, 0}

i6 : S = constSheaf(G)

o6 = MomentGraphSheaf{...}

o6 : MomentGraphSheaf

i7 : show(S)
14
Global Sections: QQ [x , x , x , x ] Global sections(constant sheaf) = equivariant cohomology
0 1 2 3
2 3 4
Poincare' polynomial: 1 + 3$T + 5$T + 4$T + $T Note that Poincaré duality does not hold!
Stalks:
{3, 4, 1, 2}: rank 1, degrees {0}
{1, 4, 3, 2}: rank 1, degrees {0}
{2, 4, 1, 3}: rank 1, degrees {0}
{3, 1, 4, 2}: rank 1, degrees {0}
{3, 2, 1, 4}: rank 1, degrees {0}
{1, 3, 4, 2}: rank 1, degrees {0}
{1, 4, 2, 3}: rank 1, degrees {0}
{2, 1, 4, 3}: rank 1, degrees {0}
{2, 3, 1, 4}: rank 1, degrees {0}
{3, 1, 2, 4}: rank 1, degrees {0}
{1, 2, 4, 3}: rank 1, degrees {0}
{1, 3, 2, 4}: rank 1, degrees {0}
{2, 1, 3, 4}: rank 1, degrees {0}
{1, 2, 3, 4}: rank 1, degrees {0}

i8 : P = getPoly("cube.poly") Load a polymake file for 3-cube. See the file

o8 = MomentGraph{...}

o8 : MomentGraph

i9 : show(P)
Coefficient Ring: QQ [x , x , x , x ]
0 1 2 3
vertices:
0
1
2
3
4
5
6
7

Edges
0 -- 2: -x
2

0 -- 4: -x
1

2 -- 6: -x
1

4 -- 6: -x
2

0 -- 1: -x
3

... some edges deleted ...


5 -- 7: -x
2

6 -- 7: -x
3


i10 : S = constSheaf(P);

i11 : show(S)
8
Global Sections: QQ [x , x , x , x ]
0 1 2 3
2 3
Poincare' polynomial: 1 + 3$T + 3$T + $T The cube is the graph of (P1)3, which is smooth
Stalks:
0: rank 1, degrees {0}
1: rank 1, degrees {0}
2: rank 1, degrees {0}
3: rank 1, degrees {0}
4: rank 1, degrees {0}
5: rank 1, degrees {0}
6: rank 1, degrees {0}
7: rank 1, degrees {0}

i12 : R = reflectionArrangement({{1,-1,0,0}, {0,1,-1,0}, {0,0,1,-1}}) type A3 reflection arrangement

o12 = {{-1, 0, 0, 1}, {1, 0, 0, -1}, {0, 1, -1, 0}, {-1, 1, 0, 0}, {0, 0, -1, 1}, {0, -1, 1, 0}, {1, -1, 0, 0}, {0, 0, 1, -1}, {-1, 0, 1, 0}, {0, -1, 0, 1}, {0, 1, 0, -1}, {1, 0, -1, 0}}

o12 : List

i13 : G = reflectionGraph(R, {1,1,0,0}) G is the octahedron -- the graph of G(2,4)
(A.K.A. a smooth quadric hypersurface in P5)
o13 = MomentGraph{...}

o13 : MomentGraph

i14 : show(G)
Coefficient Ring: QQ [x , x , x , x ]
0 1 2 3
Vertices:
{1, 1, 0, 0}
{1, 0, 1, 0}
{1, 0, 0, 1}
{0, 1, 1, 0}
{0, 1, 0, 1}
{0, 0, 1, 1}

Edges
{1, 0, 0, 1} -- {0, 1, 0, 1}: x - x
0 1

{1, 0, 1, 0} -- {0, 0, 1, 1}: x - x
0 3

{1, 0, 1, 0} -- {0, 1, 1, 0}: x - x
0 1

{0, 1, 0, 1} -- {0, 0, 1, 1}: x - x
1 2

{1, 0, 1, 0} -- {1, 0, 0, 1}: x - x
2 3

{1, 1, 0, 0} -- {0, 1, 0, 1}: x - x
0 3

{1, 1, 0, 0} -- {0, 1, 1, 0}: x - x
0 2

{0, 1, 1, 0} -- {0, 0, 1, 1}: x - x
1 3

{1, 1, 0, 0} -- {1, 0, 0, 1}: x - x
1 3

{0, 1, 1, 0} -- {0, 1, 0, 1}: x - x
2 3

{1, 1, 0, 0} -- {1, 0, 1, 0}: x - x
1 2

{1, 0, 0, 1} -- {0, 0, 1, 1}: x - x
0 2


i15 : S = ICSheaf(G, topVertex => {1,0,1,0}) starting with this vertex gives "Egyptian pyramid"

o15 = MomentGraphSheaf{...}

o15 : MomentGraphSheaf

i16 : show(S)
6
Global Sections: QQ [x , x , x , x ]
0 1 2 3
2 3
Poincare' polynomial: 1 + 2$T + 2$T + $T
Stalks:
{1, 1, 0, 0}: rank 0, degrees {}
{1, 0, 1, 0}: rank 1, degrees {0}
{1, 0, 0, 1}: rank 1, degrees {0}
{0, 1, 1, 0}: rank 1, degrees {0}
{0, 1, 0, 1}: rank 1, degrees {0}
{0, 0, 1, 1}: rank 2, degrees {1, 0}

i17: