Skip to main content
`Ctrl`+`K`

# chordal_cycle_graph

chordal_cycle_graph(p, create_using=None)

  Returns 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 NetworkX graph constructor, optional (default=nx.Graph)

      Graph type to create. If graph instance, then cleared before populated.

  Returns:
    G graph

      The constructed undirected multigraph.

  Raises:
    NetworkXError

      If `create_using` indicates 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.