generateRandomGraphs -- generates random graphs on a given number of vertices

Synopsis

• Usage:
G = generateRandomGraphs(n, num)
G = generateRandomGraphs(n, num, pq)
G = generateRandomGraphs(n, num, pz)
G = generateRandomGraphs(R, num)
G = generateRandomGraphs(R, num, pq)
G = generateRandomGraphs(R, num, pz)
• 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
• pq, , the edge probability (between 0 and 1)
• pq, , the edge probability (between 0 and 1)
• pz, an integer, the reciprocal of the edge probability (positive)
• Optional inputs:
• RandomSeed => an integer, default value null, the specified random seed is passed to nauty
• Outputs:
• G, a list, the randomly generated graphs

Description

This method generates a specified number of random graphs with a given number of vertices. 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$.

If the input $pq$ is included, then the edges are chosen to be included with probability $pq$. If the input $pz$ is included and is positive, then the edges are chosen to be included with probability $1/pz$.

 i1 : generateRandomGraphs(5, 5, RandomSeed => 314159) o1 = {DEK, DbO, D[O, DiO, DMg} o1 : List i2 : generateRandomGraphs(5, 5) o2 = {D}{, Ddg, DRo, DvW, DWs} o2 : List i3 : generateRandomGraphs(5, 5, RandomSeed => 314159) o3 = {DEK, DbO, D[O, DiO, DMg} o3 : List

Caveat

The number of vertices $n$ must be positive as nauty cannot handle graphs with zero vertices. Further, if the probability $pq$ is included, then it is rounded to a precision of one-hundred millionth.

Ways to use generateRandomGraphs :

• "generateRandomGraphs(PolynomialRing,ZZ)"
• "generateRandomGraphs(PolynomialRing,ZZ,QQ)"
• "generateRandomGraphs(PolynomialRing,ZZ,RR)"
• "generateRandomGraphs(PolynomialRing,ZZ,ZZ)"
• "generateRandomGraphs(ZZ,ZZ)"
• "generateRandomGraphs(ZZ,ZZ,QQ)"
• "generateRandomGraphs(ZZ,ZZ,RR)"
• "generateRandomGraphs(ZZ,ZZ,ZZ)"

For the programmer

The object generateRandomGraphs is .