for lamplighter chains
ProvedMarkovMixing.lamplighter_relaxationLet be any sequence of connected graphs with . Over each two chains are compared. The base walk is the lazy simple random walk on (hold with probability , else move to a uniform neighbour), with maximal hitting time , the worst expected time to reach one vertex from another (Mission VI). The lamplighter chain has states (lamp configuration in , lamplighter position); one step randomizes the lamp at the current position, moves the lamplighter one step of the base walk, and randomizes the lamp at the new position. Among the eigenvalues of a chain (real with , ), is the largest absolute value of an eigenvalue , and the relaxation time is (Mission VII).
The theorem (Theorem 19.1 of Levin–Peres–Wilmer) asserts: there are constants such that for all sufficiently large ,
The lamplighter's slowest mode is governed by the base walk's worst hitting time: to decorrelate, the lamplighter must revisit far-away lamps. The lower bound tests the variational characterization of the gap (Mission VII) with an eigenfunction built from an unvisited-vertex indicator; the upper bound is a coupling-contraction estimate. Together with the companion theorem (), the lamplighter ties the hitting, cover, relaxation, and mixing parameters of the whole series into one family.
import Definitions.Def_mm_cutoff
namespace MarkovMixing
/-- **Theorem 19.1** (LPW): the relaxation time of the lamplighter chain is
comparable to the maximal hitting time of the underlying lazy walk: there
are constants `c₁, c₂ > 0` such that for all sufficiently large `n`,
`c₁ t_hit(G_n) ≤ t_rel(G_n⁎) ≤ c₂ t_hit(G_n)`. -/
theorem lamplighter_relaxation {Vf : ℕ → Type*} [∀ n, Fintype (Vf n)]
[∀ n, DecidableEq (Vf n)] [∀ n, Nonempty (Vf n)]
(G : ∀ n, SimpleGraph (Vf n)) [∀ n, DecidableRel (G n).Adj]
(hconn : ∀ n, (G n).Connected)
(hcard : Filter.Tendsto (fun n => Fintype.card (Vf n))
Filter.atTop Filter.atTop) :
∃ c₁ c₂ : ℝ, 0 < c₁ ∧ 0 < c₂ ∧ ∃ N : ℕ, ∀ n : ℕ, N ≤ n →
c₁ * hitTimeMax (lazy (graphWalk (G n))) ≤
relaxationTime (lamplighter (G n)) ∧
relaxationTime (lamplighter (G n)) ≤
c₂ * hitTimeMax (lazy (graphWalk (G n))) := by
sorry
end MarkovMixing