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


lattice_reference(G, niter=1, D=None, connectivity=True, seed=None)[source]

Latticize the given graph by swapping edges.

  • G (graph) – An undirected graph with 4 or more nodes.
  • niter (integer (optional, default=1)) – An edge is rewired approximatively niter times.
  • D (numpy.array (optional, default=None)) – Distance to the diagonal matrix.
  • connectivity (boolean (optional, default=True)) – Ensure connectivity for the latticized graph when set to True.
  • seed (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.

G – The latticized graph.

Return type:



The implementation is adapted from the algorithm by Sporns et al. [1]. which is inspired from the original work by Maslov and Sneppen(2002) [2].


[1]Sporns, Olaf, and Jonathan D. Zwi. “The small world of the cerebral cortex.” Neuroinformatics 2.2 (2004): 145-162.
[2]Maslov, Sergei, and Kim Sneppen. “Specificity and stability in topology of protein networks.” Science 296.5569 (2002): 910-913.