What is a moment graph?

Summary of MG commands

An example run

Download the code (text file) right-click to save it on your computer

Acknowledgements: the beginnings of this project were inspired by code written by Bill Rulla at the University of Georgia.

This material is based upon work
supported by the National Science Foundation under Grant No. DMS-0201823.
Any opinions,

findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the

views of the National Science Foundation (NSF).

findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the

views of the National Science Foundation (NSF).

If M is nice ("equivariantly formal"), many properties of M can be calculated from the graph G. In particular, the T-equivariant cohomology and the ordinary cohomology are computable from G.

- BruhatGraph(Perm): Produces
the moment graph of the Schubert variety represented by the permutation
Perm, which should be represented as a list of the integers 1 to n
without repeats.

- getPoly(filename): loads
data from a polymake file representing a polytope, and constructs the
graph of the 1-skeleton.

- reflectionGraph(R, v): Constructs
the reflection graph from a reflection arrangement R and a vector v.
Vertices are all the points obtainable from v by reflecting
through hyperplanes perpendicular to vectors of R. Two vertices
are joined by an edge if and only if they are mirror images across such
a hyperplane. This can be used to produce the moment graphs for
complete homogeneous spaces (flag varieties).

A reflection arrangement is a list of vectors, with the property that for any two vectors, reflecting the first in the hyperplane perpendicular to the second gives another member of the arrangement. Note that the code does not check that this property holds; if it doesn't, the results may be strange. It's not necessary to type all the vectors in an arrangement: the command reflectionArrangement(L) completes a list of vectors to a reflection arrangement. (Note that most sets of vectors are not contained in a finite arrangement; this function will stop after finding 100 vectors. This limit can be overridden).

Note that we represent vectors in Q^{n}by lists of rational numbers like {1,0, -1/2}.

- constSheaf(G):
returns the constant sheaf on G. The global sections of this
sheaf
gives the equivariant cohomology of the graph, as a module over the
base
ring. Eventually it may carry the complete ring structure.

- ICSheaf(G): the
intersection cohomology sheaf of G. In order to get meaningful
results, G must be the graph of a variety X satisfying the hypotheses
of
[BM]. In particular, X must have a stratification by
T-invariant cells, each of which contains a single T-fixed point.
Also, it is assumed that the vertices are ordered so the unions
of
the cells corresponding to the first k vertices is open in X for any k.
Graphs produced with BruhatGraph
and reflectionGraph
qualify, but graphs of polytopes may not (unless they are simple), and
even then there is no guarantee polymake will put the vertices in the
right order.

ICSheaf(G, topVertex => v): produces the IC sheaf starting at vertex v, assigning 0 to all stalks which are not below v in the edge partial order. The vertex v can be specified either by name or by its index number in the list of vertices (starting from 0!).

- show(S): displays a
summary of the data in S, including the module of global sections, its
Poincare' polynomial, and the rank and degrees for the stalk module at
each vertex. Can also be used to display information about a
moment graph.

- globalSections(S):
the global sections module. Can also be accessed directly from
the
hash table by: S.gs

- stalk(S, v):
give the stalk of S at the vertex v, which can be specified
either
by name or by its index number in the list of vertices (starting from
0!).

- restrictionMap(S, v):
gives the restriction map from the global sections to the stalk at v.

- restrictionMap(S):
gives the total restriction map to the direct sum of the stalks at all
of the vertices. restrictionMap(S)_{i}gives
the ith basis vector of the global sections.

- Hom(S1, S2):
calculates the module of homomorphisms from a sheaf S1 to S2.
They
must be sheaves on the same graph.