Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
An example file for computations with stable graphs in the package admcycles.
Using admcycles
it is possible to compute lists of stable graphs using the function list_strata(g,n,e)
. It returns a list of isomorphism classes of stable graphs in genus g
with n
legs and e
edges.
Execute the commands below by selecting them with the mouse and pressing Shift+Enter
.
A stable graph is represented by three lists:
a list of the genera of the vertices
for each vertex the list of half-edges incident to the vertex
a list of pairs of half-edges which are connected by an edge; half-edges named 1,...,n are the legs of the graph
So the stable graph [0, 1] [[1, 2, 3], [4]] [(3, 4)]
has two vertices (of genus 0
and 1
, respectively). The genus 0
vertex has half-edges 1,2,3
and the genus 1
vertex has a half-edge 4
. The half-edges 3,4
form an edge.
In the standard language of stable graphs you would say that the graph above is given by
V = {v_1, v_2}, g(v_1) = 0, g(v_2) = 1
H = {1,2,3,4}, v(1) = v_1, v(2) = v_1, v(3) = v_1, v(4) = v_2
L = {1,2}, : L {1,2}, (1) = 1, (2) = 2
: H H, (1)=1, (2)=2, (3)=4, (4)=3
We can also input a stable graph by giving three lists as above, for instance to compute the number of its automorphisms.
If we want to list all strata of a given genus and number of markings, we can use the following function.
One thing we can check is that the number of stable graphs grows extremely fast as g,n
increase.