Rotation maps and the spectral expansion of regular graphs #
A D-regular undirected multigraph on V, with parallel edges and self-loops allowed, is presented
by its rotation map Reingold, Vadhan and Wigderson, Section 2.1
Arora and Barak, Section 21.3
rot : V × D → V × D: rot (v, i) = (w, j) when the i-th edge at v leads to w and is the
j-th edge at w. Following an edge back returns to where it started, so rot is an involution;
conversely every involution of V × D is the rotation map of a D-regular multigraph. Vertices and
labels are types rather than numbers because graph products build graphs whose vertices and labels
are pairs or tuples of those of their factors.
The random walk on G moves from v along a uniformly random edge. Its action on real functions
is the walk operator G.walk, which averages a function over the neighbors of each vertex; it
fixes constants, preserves expectations, is self-adjoint for the uniform inner product
𝔼 v, f v * g v and does not increase 𝔼 v, f v ^ 2.
The spectral expansion λ(G) Arora and Barak, Section 21.1 is the operator norm of
the walk operator on the functions orthogonal to the constants: the smallest c ≥ 0 with
𝔼 v, G.walk f v ^ 2 ≤ c ^ 2 * 𝔼 v, f v ^ 2 for all f of expectation zero
(spectralExpansion_le_iff). It is the largest absolute value of an eigenvalue of the walk operator
on such functions, but no spectral theory is needed here: everything below is proved from this
characterization. λ(G) ≤ 1 always, and G is a good expander when λ(G) is small.
Main definitions #
Cslib.RotationMap: aD-regular multigraph onV, given by its rotation map.Cslib.RotationMap.neighbor: thei-th neighbor of a vertex.Cslib.RotationMap.ofInvolutive: the1-regular multigraph of an involution.Cslib.RotationMap.interedges: the edges from one set of vertices to another, as darts.Cslib.RotationMap.walk: the walk operator.Cslib.RotationMap.spectralExpansion: the spectral expansionλ(G).
Main results #
Cslib.RotationMap.expect_expect_neighbor_comm: every edge is seen once from each of its ends.Cslib.RotationMap.expect_walk,Cslib.RotationMap.expect_mul_walk_comm,Cslib.RotationMap.expect_walk_sq_le: the walk operator preserves expectations, is self-adjoint and does not increase the second moment.Cslib.RotationMap.spectralExpansion_le_iff: the characterization ofλ(G).Cslib.RotationMap.expect_walk_pow_sq_le_spectralExpansion_pow_mul: walks of lengthtmultiply the second moment of a function of expectation zero by at mostλ(G) ^ (2 t).Cslib.RotationMap.spectralExpansion_le_one:λ(G) ≤ 1.Cslib.RotationMap.spectralExpansion_eq_of_walk_eq: two regular multigraphs with the same walk operator have the same spectral expansion.
References #
A D-regular undirected multigraph on V, parallel edges and self-loops allowed, presented by
its rotation map Reingold, Vadhan and Wigderson, Section 2.1
Arora and Barak, Section 21.3:
rot (v, i) = (w, j) when the i-th edge at v leads to w and is the j-th edge at w.
The rotation map, sending the
i-th edge atvto the same edge seen from its other end.- rot_involutive : Function.Involutive self.rot
Seeing an edge from its other end twice returns to the original end.
Instances For
Seeing an edge from its other end twice returns to the original end.
The i-th neighbor of v: the other end of the i-th edge at v.
Instances For
The 1-regular multigraph of an involution f: the single edge at v leads to f v. A fixed
point of f carries a self-loop.
Instances For
The rotation map of the multigraph of an involution f applies f to the vertex.
The neighbor of v in the multigraph of an involution f is f v.
The edges from S to T, as the darts (v, i) with v ∈ S whose i-th edge leads into T.
An edge between two vertices of S ∩ T is counted once from each end, as in the edge counts
|E(S, T)| of Hoory, Linial and Wigderson, Section 2.1.
Instances For
A dart (v, i) goes from S to T when v ∈ S and its i-th neighbor is in T.
No edges leave the empty set.
No edges enter the empty set.
Reversing the darts matches the edges from S to T with those from T to S.
Every edge at a vertex of S leads into T or into its complement.
Every edge is seen once from each of its ends: averaging F v (G.neighbor v i) over the darts
(v, i) gives the same as averaging F (G.neighbor v i) v.
The rotation map permutes the darts, so it preserves averages over them.
Averaging a function of the neighbor over all darts averages it over the vertices.
G.walk f v is the average of f over the neighbors of v.
The walk operator fixes constants.
The walk operator preserves expectations.
Walks of every length preserve expectations.
The walk operator preserves expectation zero.
Walks of every length preserve expectation zero.
The walk operator is self-adjoint for the uniform inner product.
The walk operator does not increase the second moment.
The spectral expansion λ(G): the operator norm, for the Euclidean norm, of the walk
operator on the functions orthogonal to the constants Arora and Barak, Section 21.1.
As the walk operator is self-adjoint, this is the largest absolute value of its eigenvalues on those
functions, but nothing here depends on that: λ(G) is used through its characterization
spectralExpansion_le_iff.
Instances For
The spectral expansion is nonnegative.
On functions of expectation zero, the walk operator multiplies the second moment by at most
λ(G) ^ 2.
If the walk operator multiplies the second moment of every function of expectation zero by at
most c ^ 2, where c ≥ 0, then λ(G) ≤ c.
λ(G) ≤ c, for c ≥ 0, exactly when the walk operator multiplies the second moment of every
function of expectation zero by at most c ^ 2.
The spectral expansion is at most one.
Walks of length t multiply the second moment of a function of expectation zero by at most
λ(G) ^ (2 t).
On at most one vertex the spectral expansion is zero: the only function of expectation zero is zero.
Two regular multigraphs on the same vertices with the same walk operator have the same spectral expansion, whatever their edge labels.