circle_bundles.get_cocycle_dict

circle_bundles.get_cocycle_dict(G, *, value_rule='different_cluster', require_consistent=True)[source]

Construct a Z2-valued Čech 1-cocycle dictionary from a fiberwise cluster graph G.

Nodes: (fiber_index, cluster_label). Edges connect clusters across different fibers.

Default rule:

value on edge (j,k) is 1 iff the cluster labels differ (mu != nu), else 0.

Returns:

cocycle_dict

Return type:

dict[(j,k), int] with j<k, values in {0,1}

Parameters:
  • G (Graph)

  • value_rule (str)

  • require_consistent (bool)

Notes

Multiple graph edges can map to the same fiber-pair (j,k). If they induce different values, that’s either an error (default) or we take OR.