 GraphTheory[RandomGraphs] - Maple Programming Help

# Online Help

###### All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Discrete Mathematics : Graph Theory : GraphTheory Package : RandomGraphs : GraphTheory/RandomGraphs/RandomDigraph

GraphTheory[RandomGraphs]

 RandomDigraph
 generate random digraph

 Calling Sequence RandomDigraph(V, p, options) RandomDigraph(V, m, options) RandomDigraph(n, p, options) RandomDigraph(n, m, options)

Parameters

 V - list of vertices n - positive integer p - numerical value in the closed range [0.0,1.0] m - non-negative integer options - (optional) equation(s) of the form option=value where option is one of seed or weights

Options

 • seed : integer or none
 Seed for the random number generator. When an integer is specified, this is equivalent to calling randomize(seed).
 • weights : range or function
 If the option weights=m..n is specified, where $m\le n$ are integers, the graph returned is a weighted graph with edge weights chosen from [m,n] uniformly at random.  The weight matrix W in the graph has datatype=integer, and if the edge from vertex i to j is not in the graph then W[i,j] = 0.
 If the option weights=x..y where $x\le y$ are floating-point numbers is specified, the graph returned is a weighted graph with numerical edge weights chosen from [x,y] uniformly at random.  The weight matrix W in the graph has datatype=float, that is, double precision floats (16 decimal digits), and if the edge from vertex i to j is not in the graph then W[i,j] = 0.0.
 If the option weights=f where f is a function (a Maple procedure) that returns a number (integer, rational, or decimal number), then f is used to generate the edge weights.  The weight matrix W in the graph has datatype=anything, and if the edge from vertex i to j is not in the graph then W[i,j] = 0.

Description

 • RandomDigraph(n,m) creates a directed unweighted graph on n vertices and m edges, where the m edges are chosen uniformly at random.
 • RandomDigraph(n,p) creates a directed unweighted graph on n vertices where each possible edge is present with probability p.
 • If the first input is a positive integer n, then the vertices are labeled 1,2,...,n.  Alternatively you may specify the vertex labels in a list.
 • The random number generator used can be seeded with the seed option or by using the randomize function.

Examples

 > $\mathrm{with}\left(\mathrm{GraphTheory}\right):$
 > $\mathrm{with}\left(\mathrm{RandomGraphs}\right):$
 > $G≔\mathrm{RandomDigraph}\left(10,0.5\right)$
 ${G}{≔}{\mathrm{Graph 1: a directed unweighted graph with 10 vertices and 50 arc\left(s\right)}}$ (1)
 > $\mathrm{IsDirected}\left(G\right)$
 ${\mathrm{true}}$ (2)
 > $H≔\mathrm{RandomDigraph}\left(10,20\right)$
 ${H}{≔}{\mathrm{Graph 2: a directed unweighted graph with 10 vertices and 20 arc\left(s\right)}}$ (3)
 > $J≔\mathrm{RandomDigraph}\left(4,6,\mathrm{weights}=1..4\right)$
 ${J}{≔}{\mathrm{Graph 3: a directed weighted graph with 4 vertices and 6 arc\left(s\right)}}$ (4)
 > $\mathrm{WeightMatrix}\left(J\right)$
 $\left[\begin{array}{cccc}{0}& {0}& {1}& {0}\\ {4}& {0}& {0}& {2}\\ {2}& {0}& {0}& {0}\\ {4}& {0}& {2}& {0}\end{array}\right]$ (5)

 See Also