# Graph::createRandomGraph

Generates a random graph.

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```Graph::createRandomGraph(`VertexNr`, `EdgeNr`, <`Directed | Undirected`>)
```

## Description

`Graph::createRandomGraph` generates a random graph.

`Graph::createRandomGraph(VertexNr, EdgeNr)` generates a random graph with VertexNr vertices and EdgeNr edges.

 Note:   If the number EdgeNr is too great (i.e. ), a complete graph will be created.

`Graph::createRandomGraph(VertexNr, EdgeNr, Undirected)` generates a random graph with VertexNr vertices and 2 EdgeNr edges is created. This is due to the fact that no odd number of undirected edges could be created otherwise.

## Examples

### Example 1

The following graph was created `randomly`, meaning that your results will most probably differ:

```G := Graph::createRandomGraph(5,6): Graph::printGraphInformation(G)```
```Vertices: [1, 2, 3, 4, 5] Edges: [[1, 4], [2, 1], [2, 4], [2, 5], [3, 1], [3, 4]] Vertex weights: no vertex weights. Edge descriptions: no edge descriptions. Edge weights: no edge weights. Edge costs: no edge costs. Adjacency list (out): 1 = [4], 2 = [1, 4, 5], 3 = [1, 4], 4 = [], 5 = [] Adjacency list (in): 1 = [2, 3], 2 = [], 3 = [], 4 = [1, 2, 3], 5 = [2] Graph is directed. ```

### Example 2

The same number of vertices, but this time the edges are undirected (and therefore the number of Edges is (2 EdgeNr)). As you can clearly see, the edges differ from the edges created above:

```G := Graph::createRandomGraph(5, 6, Undirected): Graph::printGraphInformation(G)```
```Vertices: [1, 2, 3, 4, 5] Edges: [[1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 2], [4, 1], [4, 2], [4\ , 5], [5, 1], [5, 2], [5, 4]] Vertex weights: no vertex weights. Edge descriptions: no edge descriptions. Edge weights: no edge weights. Edge costs: no edge costs. Adjacency list (out): 1 = [4, 5], 2 = [3, 4, 5], 3 = [2], 4 = [1, 2, 5], 5\ = [1, 2, 4] Adjacency list (in): 1 = [4, 5], 2 = [3, 4, 5], 3 = [2], 4 = [1, 2, 5], 5 \ = [1, 2, 4] Graph is undirected. ```

### Example 3

If the number of edges to be created extends the possible limit ( ), a complete graph will be returned:

```G := Graph::createRandomGraph(3, 6, Undirected): Graph::printGraphInformation(G)```
```Warning: Cannot produce the required number of edges. Creating a complete graph instead. [Graph::createRandomGraph] ```
```Vertices: [1, 2, 3] Edges: [[1, 2], [1, 3], [2, 1], [2, 3], [3, 1], [3, 2]] Vertex weights: no vertex weights. Edge descriptions: no edge descriptions. Edge weights: no edge weights. Edge costs: no edge costs. Adjacency list (out): 1 = [2, 3], 2 = [1, 3], 3 = [1, 2] Adjacency list (in): 1 = [2, 3], 2 = [1, 3], 3 = [1, 2] Graph is undirected. ```

## Parameters

 `VertexNr` Positive integer `EdgeNr` Positive integer

## Options

 `Directed` If `Directed` is stated, a directed Graph is created `Default` `Undirected` If `Undirected` is stated, an undirected Graph is created.

`Graph`