Warning

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

chordal_cycle_graph

chordal_cycle_graph(p, create_using=None)[source]

Return the chordal cycle graph on \(p\) nodes.

The returned graph is a cycle graph on \(p\) nodes with chords joining each vertex \(x\) to its inverse modulo \(p\). This graph is a (mildly explicit) 3-regular expander [1].

p must be a prime number.

Parameters:
  • p (a prime number) – The number of vertices in the graph. This also indicates where the chordal edges in the cycle will be created.
  • create_using (graph-like) – A graph-like object that receives the constructed edges. If None, then a MultiGraph instance is used.
Returns:

G – The constructed undirected multigraph.

Return type:

graph

Raises:

NetworkXError – If the graph provided in create_using is directed or not a multigraph.

References

[1]Theorem 4.4.2 in A. Lubotzky. “Discrete groups, expanding graphs and invariant measures”, volume 125 of Progress in Mathematics. Birkhäuser Verlag, Basel, 1994.