Construction from Groups, Codes, and Designs

Graphs Constructed from Groups

CayleyGraph(A : parameter): Grp -> Grph, GrphVertSet, GrphEdgeSet
Labelled: BoolElt                    Default: true
Directed: BoolElt                    Default: true

Given a finite group \(A\) defined on generating set \(X\), construct the Cayley graph \(C\) of \(A\) relative to the generating set \(X\). This graph is defined as follows: The vertices correspond to the elements of \(A\) and two vertices \(u\), \(v\) are adjacent if and only if there exists an element \(x\) in \(X\) such that \(u*x = v\).

The optional parameter Labelled (Labelled := true by default) can be set to false to prevent the graph being labelled. If this is not done, then the vertices of \(C\) will be labelled with the appropriate elements of \(A\) and the (directed) edge from \(u\) to \(v\) will be labelled with the appropriate element \(x\) as defined above.

The parameter Directed (Directed := true by default) may be used to return the Cayley graph of \(G\) as an undirected graph

SchreierGraph(A, B): Grp, Grp -> Grph, GrphVertSet, GrphEdgeSet
Labelled: BoolElt                    Default: true
Directed: BoolElt                    Default: true

Given a finite group \(A\) defined on the generating set \(X\) and a subgroup \(B\) of \(A\), construct the Schreier coset graph \(S\) for \(A\) over \(B\), relative to \(X\). The graph \(S\) is defined as follows: The vertices correspond to the cosets of \(B\) in \(A\), and two vertices \(u\), \(v\) are adjacent in \(S\) if and only if there exists an element \(x\) in \(X\) such that \(u*x = v\).

The graph is available in both a labelled and an unlabelled version and directed and undirected versions. These versions are controlled by the parameters Labelled and Directed, which are both true by default.

OrbitalGraph(P, u, T): GrpPerm, RngIntElt, { RngIntElt} -> GrphUnd

Let \(P\) be a transitive permutation group acting on the set \(\Omega = \{1,\ldots,n\}\). Let \(u\) be an element of \(\Omega\) and let \(T = \{t_1, \ldots, t_r\}\) be a subset of \(\Omega\). This function constructs the underlying graph \(G\) of the digraph corresponding to the union of \(P\)-orbits containing the pairs \((u, t_1), \ldots, (u, t_r)\). Thus, if \(T\) defines a self-paired orbit \(\Delta\) of the stabilizer in \(P\) of the point \(u\), this function constructs the orbital graph associated with \(\Delta\).

ClosureGraph(P, G): GrpPerm, GrphUnd -> GrphUnd

Let \(P\) be a permutation group acting on the set \(\Omega = \{1,\ldots,n\}\). Let \(G\) be a graph (digraph) with vertices \(v_1, \ldots, v_n\). This function adds the minimum number of edges to \(G\) so as to produce a graph (digraph) \(H\) which is left invariant by the group \(P\).

PaleyGraph(q): RngIntElt -> GrphUnd

The Paley graph of \({\bf F}_{q}\) where \(q\) must be a prime power equivalent to 1 mod 4. Vertices are in bijection with elements of \({\bf F}_{q}\) and distinct elements are adjacent when their difference is a square in the field.

PaleyTournament(q): RngIntElt -> GrphDir

The Paley tournament of \({\bf F}_{q}\) where \(q\) must be a prime power equivalent to 3 mod 4. Vertices are in bijection with elements of \({\bf F}_{q}\) and there is an edge from \(u\) to \(v\) when \(u \ne v\) and \(v - u\) is a square in the field.

Graphs Constructed from Designs

IncidenceGraph(D): Inc -> GrphUnd

Given an incidence structure \(D = (X, \cal{B})\), construct the incidence graph \(G\) of \(D\). The vertices of \(G\) is \(X \cup \cal{B}\). The adjacency rules are as follows: No two vertices of \(X\) are adjacent; no two vertices of \(\cal{B}\) are adjacent; a vertex \(x \in X\) is adjacent to a vertex \(B \in \cal{B}\) if and only if \(x \in B\).

PointGraph(D): Inc -> GrphUnd

Given an incidence structure \(D = (X, \cal{B})\), construct the point graph \(G\) of \(D\). The vertex-set of \(G\) is \(X\). Vertices \(x \in X\), \(y \in X\) are adjacent in \(G\) if there is a block \(B\in \cal{B}\) such that \(x \in B\) and \(y \in B\).

BlockGraph(D): Inc -> GrphUnd

The block graph of the incidence structure \(D\); i.e. the point graph of the dual of \(D\).

IncidenceGraph(P): Plane -> GrphUnd

Given a plane \(P\) with point-set \(V\) and line-set \(L\), construct the incidence graph \(G\) of \(P\). The vertex-set of \(G\) is \(V \cup L\). The adjacency rules are as follows: No two vertices of \(V\) are adjacent; no two vertices of \(L\) are adjacent; a vertex \(v \in V\) is adjacent to a vertex \(a \in L\) if and only if \(v\) lies on \(a\).

PointGraph(P): Plane -> GrphUnd;

Given a plane \(P\) with point-set \(V\) and line-set \(L\), construct the point graph \(G\) of \(P\). The vertex-set of \(G\) is \(V\). Vertices \(u, v \in V\) are adjacent in \(G\) iff there is a line in \(L\) that contains them both.

LineGraph(P): Plane -> GrphUnd

Given a plane \(P\) with point-set \(V\) and line-set \(L\), construct the line graph \(G\) of \(P\). The vertex-set of \(G\) is \(L\). Lines \(a, b \in L\) are adjacent in \(G\) iff there is a vertex in \(V\) that lies on them both.

HadamardGraph(H : parameters): Mtrx -> GrphUnd
Labels: BoolElt                    Default: false

The graph of the \(\pm 1\) matrix \(H\) as described in Brendan D. McKay’s note “Hadamard equivalence via graph isomorphism” (with self-loops omitted). The parameter Labels is set to false by default, but when set to true, the vertices associated with rows are labelled “row” and the others “col”. Those labelled “row” are those given loops in McKay’s paper.

Miscellaneous Graph Constructions

Converse(G): GrphDir -> GrphDir

Returns the converse \(H\) of the directed graph \(G\): if \([u, v]\) is an edge of \(G\) then \([v, u]\) is an edge of \(H\).

OddGraph(n): RngIntElt -> GrphUnd

The \(n\)th odd graph. Vertices are \((n-1)\)–subsets of a \((2n-1)\)-set with vertices adjacent if and only if the \((n-1)\)–subsets are disjoint.

TriangularGraph(n): RngIntElt -> GrphUnd

The \(n\)th triangular graph. Vertices are \(2\)-subsets of a \(n\)-set with vertices adjacent if and only if the \(2\)-subsets are unequal and not disjoint.

SquareLatticeGraph(n): RngIntElt -> GrphUnd

The \(n\)th square lattice graph. This is the cartesian product of the \(n\)th complete graph with itself.

ClebschGraph() -> GrphUnd
ShrikhandeGraph() -> GrphUnd
GewirtzGraph() -> GrphUnd
PetersenGraph() -> GrphUnd

Return the named graph.

ChangGraphs() -> [GrpUnd, GrpUnd, GrpUnd]

Return a sequence of the three Chang graphs.