R: Generate random graphs according to the random dot product...

sample_dot_product {igraph} | R Documentation

## Generate random graphs according to the random dot product graph model

### Description

In this model, each vertex is represented by a latent position vector. Probability of an edge between two vertices are given by the dot product of their latent position vectors.

### Usage

    sample_dot_product(vecs, directed = FALSE)

    dot_product(...)

### Arguments

`vecs` | A numeric matrix in which each latent position vector is a column.
`directed` | A logical scalar, TRUE if the generated graph should be directed.
`...` | Passed to `sample_dot_product`.

### Details

The dot product of the latent position vectors should be in the [0,1] interval, otherwise a warning is given. For negative dot products, no edges are added; dot products that are larger than one always add an edge.

### Value

An igraph graph object which is the generated random dot product graph.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

### References

Christine Leigh Myers Nickel: Random dot product graphs, a model for social networks. Dissertation, Johns Hopkins University, Maryland, USA, 2006.

### See Also

`sample_dirichlet`, `sample_sphere_surface` and `sample_sphere_volume` for sampling position vectors.

### Examples

    ## A randomly generated  graph
    lpvs <- matrix(rnorm(200), 20, 10)
    lpvs <- apply(lpvs, 2, function(x) { return (abs(x)/sqrt(sum(x^2))) })
    g <- sample_dot_product(lpvs)
    g

    ## Sample latent vectors from the surface of the unit sphere
    lpvs2 <- sample_sphere_surface(dim=5, n=20)
    g2 <- sample_dot_product(lpvs2)
    g2

[Package igraph version 1.2.10 Index]