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

sample_dot_productR 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.

Related documentation in the C library

igraph_dot_product_game().

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.

Random graph models (games) erdos.renyi.game(), sample_(), sample_bipartite(), sample_chung_lu(), sample_correlated_gnp(), sample_correlated_gnp_pair(), sample_degseq(), sample_fitness(), sample_fitness_pl(), sample_forestfire(), sample_gnm(), sample_gnp(), sample_grg(), sample_growing(), sample_hierarchical_sbm(), sample_islands(), sample_k_regular(), sample_last_cit(), sample_pa(), sample_pa_age(), sample_pref(), sample_sbm(), sample_smallworld(), sample_traits_callaway(), sample_tree()

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

igraph documentation built on Oct. 20, 2024, 1:06 a.m.