Documentation

Complexity.Foundations.Combinatorics.Expander.Spectrum

Spectral theory of the walk operator on regular graphs #

The walk operator G.walk of a regular multigraph G is self-adjoint for the uniform inner product 𝔼 v, f v * g v, and therefore defines a symmetric linear endomorphism G.walkEuclidean on EuclideanSpace ℝ V (isSymmetric_walkEuclidean). It preserves the subspace orthogonalSubmodule V of functions orthogonal to the constantsβ€”equivalently, of expectation zero (mem_orthogonalSubmodule_iff)β€”and restricts to a symmetric endomorphism G.orthogonalWalk on that subspace (isSymmetric_orthogonalWalk).

By the finite-dimensional spectral theorem (LinearMap.IsSymmetric.eigenvectorBasis), the spectral expansion Ξ»(G) (spectralExpansion) and the second eigenvalue Ξ»β‚‚(G) (secondEigenvalue), which are defined in Expander.Basic and Expander.Cheeger without spectral theory, agree with the eigenvalue quantities they name:

Main definitions #

Main results #

References #

noncomputable def Cslib.RotationMap.walkEuclidean {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) :

The walk operator of G transported to EuclideanSpace ℝ V.

Instances For
    @[simp]
    theorem Cslib.RotationMap.walkEuclidean_toLp {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) (f : V β†’ ℝ) :

    Applying G.walkEuclidean to WithLp.toLp 2 f applies G.walk to f.

    @[simp]
    theorem Cslib.RotationMap.ofLp_walkEuclidean {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) (x : EuclideanSpace ℝ V) :

    Applying G.walkEuclidean and projecting from EuclideanSpace ℝ V applies G.walk.

    The walk operator on EuclideanSpace ℝ V is symmetric.

    The subspace of EuclideanSpace ℝ V orthogonal to the constant functions.

    Instances For

      A vector in EuclideanSpace ℝ V is orthogonal to the constants iff its coordinates have expectation zero.

      noncomputable def Cslib.RotationMap.orthogonalWalk {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) [Fintype V] :

      The restriction of G.walkEuclidean to the subspace orthogonalSubmodule V of functions of expectation zero.

      Instances For
        @[simp]
        theorem Cslib.RotationMap.coe_orthogonalWalk {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) [Fintype V] (u : β†₯(orthogonalSubmodule V)) :
        ↑(G.orthogonalWalk u) = G.walkEuclidean ↑u

        Coercing G.orthogonalWalk u to EuclideanSpace ℝ V applies G.walkEuclidean to u.

        The restricted walk operator G.orthogonalWalk is symmetric.

        The spectral expansion Ξ»(G) is the operator norm of the restricted walk operator G.orthogonalWalk on orthogonalSubmodule V.

        Every eigenvalue of G.orthogonalWalk has absolute value at most Ξ»(G).

        Every eigenvalue of G.orthogonalWalk is at most Ξ»β‚‚(G).

        theorem Cslib.RotationMap.spectralExpansion_eq_ciSup_abs_eigenvalues {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) [Fintype V] {n : β„•} (hn : Module.finrank ℝ β†₯(orthogonalSubmodule V) = n) :
        G.spectralExpansion = ⨆ (i : Fin n), |β‹―.eigenvalues hn i|

        The spectral expansion Ξ»(G) is the supremum of the absolute values of the eigenvalues of G.orthogonalWalk.

        When orthogonalSubmodule V has positive dimension n, the second eigenvalue Ξ»β‚‚(G) is the largest eigenvalue of G.orthogonalWalk.

        theorem Cslib.RotationMap.secondEigenvalue_eq_ciSup_eigenvalues {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) [Fintype V] {n : β„•} (hn : Module.finrank ℝ β†₯(orthogonalSubmodule V) = n) [Nontrivial V] :
        G.secondEigenvalue = ⨆ (i : Fin n), β‹―.eigenvalues hn i

        On at least two vertices, the second eigenvalue Ξ»β‚‚(G) is the supremum of the eigenvalues of G.orthogonalWalk.

        Every eigenvalue of G.walkEuclidean on EuclideanSpace ℝ V has absolute value at most 1.

        theorem Cslib.RotationMap.walkEuclidean_eigenvalues_zero {V : Type u_1} {D : Type u_2} [Fintype D] (G : RotationMap V D) [Fintype V] {m : β„•} (hm : Module.finrank ℝ (EuclideanSpace ℝ V) = m) [Nonempty D] (hm0 : 0 < m) :
        β‹―.eigenvalues hm ⟨0, hm0⟩ = 1

        On a nonempty vertex set and positive degree, the largest eigenvalue of G.walkEuclidean is 1.

        On at least two vertices and positive degree, the second largest eigenvalue of G.walkEuclidean counted with multiplicity is G.secondEigenvalue.