Documentation

QEC1.Remarks.Rem_4_NotationCheegerConstant

Notation: Cheeger Constant #

Statement #

For a finite simple graph G = (V, E), the Cheeger constant (also called isoperimetric number or edge expansion) is defined as h(G) = min_{S ⊆ V, 0 < |S| ≤ |V|/2} |∂S| / |S|, where ∂S = {e = {u,v} ∈ E : u ∈ S, v ∉ S} is the edge boundary of S. A graph with h(G) ≥ c for some constant c > 0 is called an expander graph.

Main Results #

Corollaries #

Edge Boundary #

noncomputable def QEC1.SimpleGraph.edgeBoundary {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] (S : Finset V) :

The edge boundary of a vertex subset S in a simple graph G is the set of edges with exactly one endpoint in S. Formally, it is the subfinset of G.edgeFinset consisting of edges e such that |e.toFinset ∩ S| = 1.

Equations
Instances For

    Cheeger Valid Subsets #

    noncomputable def QEC1.cheegerValidSubsets' (V : Type u_2) [Fintype V] [DecidableEq V] :

    The set of Cheeger-valid subsets: nonempty subsets S ⊆ V with 2|S| ≤ |V|.

    Equations
    Instances For

      Cheeger Constant #

      noncomputable def QEC1.cheegerConstant {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] :

      The Cheeger constant h(G) of a finite simple graph G, defined as h(G) = inf_{S valid} |∂S| / |S|, where the infimum is over all nonempty subsets S with 2|S| ≤ |V|. Returns 0 if no valid subsets exist (i.e., when |V| ≤ 1).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Expander Graph #

        A graph G is a c-expander if 0 < c and c ≤ h(G).

        Equations
        Instances For

          Auxiliary Lemmas #

          Cheeger Constant Properties #

          Edge Boundary Lower Bound #

          theorem QEC1.SimpleGraph.edgeBoundary_card_ge_of_cheeger {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] (c : ) (hc : c cheegerConstant G) (S : Finset V) (hne : S.Nonempty) (hsize : 2 * S.card Fintype.card V) :
          c * S.card (edgeBoundary G S).card

          Expander Characterization #

          theorem QEC1.SimpleGraph.isExpander_iff {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] (c : ) (hcard : 2 Fintype.card V) :
          IsExpander G c 0 < c ∀ (S : Finset V), S.Nonempty2 * S.card Fintype.card Vc * S.card (edgeBoundary G S).card