Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

geographical_threshold_graph¶

geographical_threshold_graph(n, theta, alpha=2, dim=2, pos=None, weight=None)[source]

Return a geographical threshold graph.

The geographical threshold graph model places n nodes uniformly at random in a rectangular domain. Each node $$u$$ is assigned a weight $$w_u$$. Two nodes $$u,v$$ are connected with an edge if

$w_u + w_v \ge \theta r^{\alpha}$

where $$r$$ is the Euclidean distance between $$u$$ and $$v$$, and $$\theta$$, $$\alpha$$ are parameters.

Parameters : n : int Number of nodes theta: float Threshold value alpha: float, optional Exponent of distance function dim : int, optional Dimension of graph pos : dict Node positions as a dictionary of tuples keyed by node. weight : dict Node weights as a dictionary of numbers keyed by node. Graph

Notes

If weights are not specified they are assigned to nodes by drawing randomly from an the exponential distribution with rate parameter $$\lambda=1$$. To specify a weights from a different distribution assign them to a dictionary and pass it as the weight= keyword

>>> import random
>>> n = 20
>>> w=dict((i,random.expovariate(5.0)) for i in range(n))
>>> G = nx.geographical_threshold_graph(20,50,weight=w)


If node positions are not specified they are randomly assigned from the uniform distribution.

References

 [R289] Masuda, N., Miwa, H., Konno, N.: Geographical threshold graphs with small-world and scale-free properties. Physical Review E 71, 036108 (2005)
 [R290] Milan Bradonjić, Aric Hagberg and Allon G. Percus, Giant component and connectivity in geographical threshold graphs, in Algorithms and Models for the Web-Graph (WAW 2007), Antony Bonato and Fan Chung (Eds), pp. 209–216, 2007

Examples

>>> G = nx.geographical_threshold_graph(20,50)