Reindexing the vertices of a rotation map #
An explicit equivalence transports a graph to a new vertex representation, preserving its edge labels and spectral expansion. In particular, a computable numbering turns a graph on structured vertices into an indexed graph without choosing an enumeration.
Main definitions #
Cslib.RotationMap.reindex: transport the vertex representation along an equivalence.Cslib.RotationMap.reindexRot: the functional transport program.
Main results #
Cslib.RotationMap.rot_reindex: the rotation map of a reindexed graph.Cslib.RotationMap.walk_reindex: the walk operator transforms by composition.Cslib.RotationMap.spectralExpansion_reindex: spectral expansion is unchanged.
References #
def Cslib.RotationMap.reindex {V : Type u_1} {W : Type u_2} {D : Type u_3} (G : RotationMap V D) (e : V ≃ W) :
RotationMap W D
Rename the vertices of a graph, retaining every outgoing and return edge label.
Instances For
@[simp]
theorem Cslib.RotationMap.rot_reindex {V : Type u_1} {W : Type u_2} {D : Type u_3} (G : RotationMap V D) (e : V ≃ W) (p : W × D) :
The rotation map of a reindexed graph decodes the vertex, rotates in G, and re-encodes the
resulting vertex.
@[simp]
theorem Cslib.RotationMap.spectralExpansion_reindex {V : Type u_1} {W : Type u_2} {D : Type u_3} [Fintype V] [Fintype W] [Fintype D] (G : RotationMap V D) (e : V ≃ W) :
Explicit vertex renaming preserves spectral expansion, including empty vertex types.