graph_rich_club_curve — GRAPH core op

• Data kinds: matrix → table

• Call: import fullseye as fs; fs.ledger.graph_rich_club_curve(adj, mode='total', n_null=20, swaps_per_edge=5, seed=0) (to call the implementation directly, import graphinv; graphinv.graph_rich_club_curve(adj, mode='total', n_null=20, swaps_per_edge=5, seed=0); from the registry, opsgraph.get("graph_rich_club_curve"))

Usage

Rich-club coefficient φ(k) for every k, against the degree-preserving null.

φ(k) is the directed density of the subgraph spanned by the nodes whose degree exceeds

k: edges among them / (r (r − 1)), r = their number (Colizza et al. 2006; the same formula as conngraph.graph_rich_club, here for all k at once). mode is the degree used to rank nodes: "total" (in + out), "in" or "out" (Yadav & Singh 2026 rank by in- and out-degree separately). A rising φ(k) alone means little — high-degree nodes are dense in any graph — so φ is divided by its mean over n_null rewirings that keep every node's in- and out-degree exactly (Maslov & Sneppen 2002; every sample is checked, fail-closed). ratio > 1 is the rich-club regime; Towlson et al. 2013 call it significant where ratio > 1 + sd.

Returns a dict: k (all integers 0 .. max degree − 1), count (nodes with degree

> k), phi, null_mean, null_sd, ratio (nan where the null mean is 0),

z, regime (bool: ratio > 1 + null sd of the ratio), n_null, mode.

Identities: phi[k] == conngraph.graph_rich_club(adj, k) for every k with mode="total"; a complete graph has phi == 1 and ratio == 1 everywhere (no swap can change it); a rewired sample of the graph itself has ratio ≈ 1.

Raises ValueError: as graph_degree_preserving_null (non-square, negative, ... ; n_null < 2; swaps_per_edge < 1; fewer than 2 edges); mode not in / out / total.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_worm_core_persists — py -3.11 examples/poc_worm_core_persists.py

Ops the type connects to (they accept table as input)

graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length

Same category (core)

graph_kcore


*Provenance: graphinv.py — GRAPH operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.