# generateRandomRegularGraphs -- generates random regular graphs on a given number of vertices

## Synopsis

• Usage:
G = generateRandomRegularGraphs(n, num, reg)
G = generateRandomRegularGraphs(R, num, reg)
• Inputs:
• R, , the ring in which the graphs will be created
• n, an integer, the number of vertices of the graphs, must be positive (see caveat)
• num, an integer, the number of random graphs to generate
• reg, an integer, the regularity of the generated graphs
• Optional inputs:
• RandomSeed => an integer, default value null, the specified random seed is passed to nauty
• Outputs:
• G, a list, the randomly generated regular graphs

## Description

This method generates a specified number of random graphs on a given number of vertices with a given regularity. Note that some graphs may be isomorphic.

If a PolynomialRing $R$ is supplied instead, then the number of vertices is the number of generators. Moreover, the nauty-based strings are automatically converted to instances of the class Graph in $R$.

 i1 : R = QQ[a..e]; i2 : generateRandomRegularGraphs(R, 3, 2) o2 = {Graph{edges => {{a, b}, {b, d}, {c, d}, {a, e}, {c, e}}}, ring => R vertices => {a, b, c, d, e} ------------------------------------------------------------------------ Graph{edges => {{a, c}, {a, d}, {b, d}, {b, e}, {c, e}}}, ring => R vertices => {a, b, c, d, e} ------------------------------------------------------------------------ Graph{edges => {{a, c}, {b, c}, {b, d}, {a, e}, {d, e}}}} ring => R vertices => {a, b, c, d, e} o2 : List

## Caveat

The number of vertices $n$ must be positive as nauty cannot handle graphs with zero vertices.

## Ways to use generateRandomRegularGraphs :

• "generateRandomRegularGraphs(PolynomialRing,ZZ,ZZ)"
• "generateRandomRegularGraphs(ZZ,ZZ,ZZ)"

## For the programmer

The object generateRandomRegularGraphs is .