rMatGraph Data Generator:

rMatGraph [-j] [-o] [-a <A>] [-b <B>] [-c <C>] [-s <s>] [-m <m>] <n>

This generator creates a graph using the RMAT model. Such graphs are designed to simulate social network graphs. The graphs have a power law degree distribution and small diameter. The graphs are defined recursively in terms of their adjacency matrix. In particularly an adjacency matrix of n x n is partitioned into 4 equal sized quadrants (assuming n is a power of 2) and each quadrant is given a probability so the four sum to 1. Each edge is then selected by recursively selecting a quadrant at random based on the quadrant probabilities until a singleton is reached.

The number of vertices is the variable n rounded up to the next power of two. The number of edges is given by m (10 * n by default). The [-a <A>], [-b <B>], and [-c <C>] arguments specify the upper left quadrant, upper right quadrant, and lower left quadrant respectively. The lower right quadrant is 1 - A - B - C. The default for A is .5, for B is .1 and for C is B. The [-s <s>] option allows one to specify a different seed so a different random graph is generated, but with the same distribution. For a fixed seed the generator will always generate the same graph independently of platform.

The [-j] option specifies that the graph should be output in the adjacency graph file format. By default it is output in the in the edge graph file format. By default the vertex ordering is randomized after the graph is generated so that it does not correspond to the ordering of RMAT adjacency matrix. The [-o] option specifies to keep the ordering.

In its current form when the graph is generated in the adjacency graph format edges are added to make the graph symmetric so each edge appears is both directions.