neuralqx.graph.circular_ladder module

class CircularLadderGraph(N, *, plot=False, non_planar=False, random_embedding=False, random_embedding_mean=0.0, random_embedding_std=5.0, random_embedding_seed=123)

Bases: Graph

Circular ladder graph \(C_N \,\square\, K_2\).

This graph consists of two concentric \(N\)-cycles (“rails”) together with \(N\) rungs joining corresponding vertices on the two rails. Equivalently, its vertex set can be written as

\[V = \{0,1,\dots,N-1\} \times \{0,1\},\]

with edges \((i,a)\sim(i\pm1 \!\!\!\pmod N, a)\) (cycle edges) and \((i,0)\sim(i,1)\) (rungs).

Basic counts (for \(N\ge 3\)):

\[|V| = 2N,\qquad |E| = 3N.\]

The underlying NetworkX graph is relabelled to consecutive integer vertex labels before being passed to Graph. If non_planar=True, vertices are instead relabelled to fixed-length 3-tuples and can optionally be given a random spatial embedding.

Parameters:
  • N (int) – Ladder length (number of rungs / cycle length).

  • plot (bool) – If True, produce a visualisation via the base graph machinery.

  • non_planar (bool) – If True, relabel vertices to 3-tuples to trigger the non-planar pipeline.

  • random_embedding (bool) – If True, assign a random 3D embedding to vertices (non-planar only).

  • random_embedding_mean (float) – Mean of the Gaussian used for the random embedding.

  • random_embedding_std (float) – Standard deviation of the Gaussian used for the random embedding.

  • random_embedding_seed (int) – Seed controlling the random embedding.

property ladder_length