# Sample a pair of correlated \(G(n,p)\) random graphs

Source:`R/games.R`

`sample_correlated_gnp_pair.Rd`

Sample a new graph by perturbing the adjacency matrix of a given graph and shuffling its vertices.

## Arguments

- n
Numeric scalar, the number of vertices for the sampled graphs.

- corr
A scalar in the unit interval, the target Pearson correlation between the adjacency matrices of the original the generated graph (the adjacency matrix being used as a vector).

- p
A numeric scalar, the probability of an edge between two vertices, it must in the open (0,1) interval.

- directed
Logical scalar, whether to generate directed graphs.

- permutation
A numeric vector, a permutation vector that is applied on the vertices of the first graph, to get the second graph. If

`NULL`

, the vertices are not permuted.

## Value

A list of two igraph objects, named `graph1`

and
`graph2`

, which are two graphs whose adjacency matrix entries are
correlated with `corr`

.

## References

Lyzinski, V., Fishkind, D. E., Priebe, C. E. (2013). Seeded graph matching for correlated Erdos-Renyi graphs. https://arxiv.org/abs/1304.7844

## See also

Random graph models (games)
`erdos.renyi.game()`

,
`sample_bipartite()`

,
`sample_correlated_gnp()`

,
`sample_degseq()`

,
`sample_dot_product()`

,
`sample_fitness_pl()`

,
`sample_fitness()`

,
`sample_forestfire()`

,
`sample_gnm()`

,
`sample_gnp()`

,
`sample_grg()`

,
`sample_growing()`

,
`sample_hierarchical_sbm()`

,
`sample_islands()`

,
`sample_k_regular()`

,
`sample_last_cit()`

,
`sample_pa_age()`

,
`sample_pa()`

,
`sample_pref()`

,
`sample_sbm()`

,
`sample_smallworld()`

,
`sample_traits_callaway()`

,
`sample_tree()`

,
`sample_()`

## Examples

```
gg <- sample_correlated_gnp_pair(
n = 10, corr = .8, p = .5,
directed = FALSE
)
gg
#> $graph1
#> IGRAPH 629b3cc U--- 10 23 --
#> + edges from 629b3cc:
#> [1] 1-- 3 1-- 4 2-- 4 3-- 4 4-- 5 5-- 6 3-- 7 4-- 7 5-- 7 6-- 7 1-- 8 3-- 8
#> [13] 4-- 8 5-- 8 6-- 8 7-- 8 1-- 9 2-- 9 6-- 9 8-- 9 5--10 6--10 9--10
#>
#> $graph2
#> IGRAPH 954bda6 U--- 10 20 --
#> + edges from 954bda6:
#> [1] 1-- 3 1-- 4 4-- 5 2-- 7 3-- 7 4-- 7 6-- 7 1-- 8 3-- 8 4-- 8 5-- 8 6-- 8
#> [13] 7-- 8 1-- 9 2-- 9 6-- 9 8-- 9 5--10 6--10 9--10
#>
cor(as.vector(gg[[1]][]), as.vector(gg[[2]][]))
#> [1] 0.8027395
```