Documentation

Complexitylib.Classes.PCP.Internal.Clique

The complete graph with self-loops #

The simplest nontrivial RegGraph: n vertices, degree n, with the i-th neighbour of every vertex being i. Its rotation map is the swap, so every vertex is joined to every vertex including itself.

It is a perfect expander: one step of its walk lands on the uniform distribution, so the walk operator annihilates mean-zero functions and SpectralBound 0 holds. This validates the definitions in RegularGraph on a case where the answer is known, and supplies the loops that WalkPath needs.

Main definitions #

Main results #

The complete graph on n vertices with a self-loop at every vertex, presented by the swap rotation map: the i-th neighbour of v is i.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Complexity.RegGraph.V_cliqueLoops (n : ) (hn : 0 < n) :
    (cliqueLoops n hn).V = Fin n
    @[simp]
    theorem Complexity.RegGraph.D_cliqueLoops (n : ) (hn : 0 < n) :
    (cliqueLoops n hn).D = Fin n
    @[simp]
    theorem Complexity.RegGraph.deg_cliqueLoops (n : ) (hn : 0 < n) :
    (cliqueLoops n hn).deg = n
    @[simp]
    theorem Complexity.RegGraph.order_cliqueLoops (n : ) (hn : 0 < n) :
    @[simp]
    theorem Complexity.RegGraph.nbr_cliqueLoops {n : } (hn : 0 < n) (v : (cliqueLoops n hn).V) (i : (cliqueLoops n hn).D) :
    (cliqueLoops n hn).nbr v i = i

    Every vertex of the complete graph with loops has a self-loop, namely its own index.

    Equations
    Instances For
      theorem Complexity.RegGraph.step_cliqueLoops {n : } (hn : 0 < n) (f : (cliqueLoops n hn).V) (v : (cliqueLoops n hn).V) :
      (cliqueLoops n hn).step f v = (∑ w : (cliqueLoops n hn).V, f w) / (cliqueLoops n hn).deg

      One step of the walk lands on the uniform distribution: the average of f over all vertices, whatever the current vertex.

      The complete graph with loops is a perfect expander.