Definition 8: Cycle Graph #
The cycle graph C_ℓ (for ℓ ≥ 3) is a cell complex (Def_7) with ℓ 1-cells (edges)
σ_1, ..., σ_ℓ and ℓ 0-cells (vertices) τ_1, ..., τ_ℓ such that
∂σ_i = {τ_i, τ_{i+1}} where indices are taken modulo ℓ.
Its chain complex is C_1 →[∂_1] C_0 where C_1 ≅ 𝔽₂^ℓ and C_0 ≅ 𝔽₂^ℓ,
and ∂_1 is the ℓ × ℓ circulant matrix with two 1-entries per column.
The kernel ker(∂_1) is the repetition code span{(1,...,1)} of dimension 1.
The homology satisfies dim H_1(C_ℓ) = 1 and dim H_0(C_ℓ) = 1.
Main Definitions #
CycleGraph.cycleGraph— the cycle graph cell complexC_ℓ(as aCellComplex, Def_7)CycleGraph.differential— the algebraic differential∂_1 : 𝔽₂^ℓ → 𝔽₂^ℓCycleGraph.differentialMap_eq_differential— cell complex differential agrees with∂_1CycleGraph.ker_differential_eq_span—ker(∂_1) = span{(1,...,1)}CycleGraph.finrank_ker_differential—dim ker(∂_1) = 1CycleGraph.finrank_range_differential—dim im(∂_1) = ℓ - 1CycleGraph.dim_H1_cycleGraph—dim H_1(C_ℓ) = 1CycleGraph.dim_H0_cycleGraph—dim H_0(C_ℓ) = 1CycleGraph.repetitionCode— the repetition code as aClassicalCode(Def_3)
The cycle graph differential as a linear map on Fin ℓ → 𝔽₂ #
The differential ∂_1 : 𝔽₂^ℓ → 𝔽₂^ℓ of the cycle graph, defined by
(∂_1 f)(i) = f(i) + f((i + ℓ - 1) % ℓ). On basis vectors e_j,
∂_1(e_j) = e_j + e_{(j+1) % ℓ}, so column j of the matrix has 1-entries
in rows j and (j+1) % ℓ (the boundary relation ∂σ_j = {τ_j, τ_{j+1}}).
The i-th entry of ∂_1(f) counts how many edges incident to vertex i
have nonzero coefficient in f, modulo 2.
Equations
Instances For
The differential maps the all-ones vector to zero.
Kernel of the differential equals span of the all-ones vector #
The kernel of the differential is exactly span{onesVec}.
The kernel of the differential has dimension 1 (assuming ℓ ≥ 1).
The cycle graph as a cell complex (Def_7) #
The type of n-cells for the cycle graph: Fin ℓ in dimensions 0 and 1,
PEmpty elsewhere. Uses match on the integer dimension.
Equations
- CycleGraph.cellType ℓ 0 = Fin ℓ
- CycleGraph.cellType ℓ 1 = Fin ℓ
- CycleGraph.cellType ℓ x✝ = PEmpty.{1}
Instances For
Equations
- CycleGraph.cellType_deceq ℓ 0 = inferInstanceAs (DecidableEq (Fin ℓ))
- CycleGraph.cellType_deceq ℓ 1 = inferInstanceAs (DecidableEq (Fin ℓ))
- CycleGraph.cellType_deceq ℓ (Int.ofNat n.succ.succ) = inferInstanceAs (DecidableEq PEmpty.{1})
- CycleGraph.cellType_deceq ℓ (Int.negSucc a) = inferInstanceAs (DecidableEq PEmpty.{1})
The boundary map for the cycle graph. For a 1-cell σ_i, ∂σ_i = {τ_i, τ_{(i+1) % ℓ}}.
For all other cells, the boundary is empty.
Equations
- CycleGraph.cellBdry ℓ i = {i, ⟨(↑i + 1) % ℓ, ⋯⟩}
- CycleGraph.cellBdry ℓ x_2 = ∅
- CycleGraph.cellBdry ℓ σ = σ.elim
- CycleGraph.cellBdry ℓ σ = σ.elim
Instances For
The cycle graph C_ℓ as a cell complex (Def_7). The 1-cells and 0-cells are
both indexed by Fin ℓ, with boundary ∂σ_i = {τ_i, τ_{(i+1) % ℓ}}.
All other cell sets are empty. The chain complex condition is vacuously true.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The 1-cells of the cycle graph are Fin ℓ (definitionally).
The 0-cells of the cycle graph are Fin ℓ (definitionally).
The cell complex differential ∂_1 from degree 1 to degree 0 agrees with
CycleGraph.differential: both map f ↦ (i ↦ f(i) + f((i + ℓ - 1) % ℓ)).
Requires ℓ ≥ 2 so that each edge has two distinct boundary vertices.
Rank of the image and homology dimensions #
The dimension of 𝔽₂^ℓ is ℓ.
The rank of the image of ∂_1 is ℓ - 1, by rank-nullity.
Homology dimensions #
dim H_1(C_ℓ) = 1: Since there are no 2-cells, im(∂_2) = 0 and
H_1 = ker(∂_1) / 0 ≅ ker(∂_1), which has dimension 1.
Here we express this purely in terms of the differential, since the
cycle graph has only degrees 0 and 1.
dim H_0(C_ℓ) = 1: We have ker(∂_0) = C_0 = 𝔽₂^ℓ (since ∂_0 = 0)
and im(∂_1) has dimension ℓ - 1, so H_0 = C_0 / im(∂_1) has
dimension ℓ - (ℓ - 1) = 1. We express H_0 as the quotient
(Fin ℓ → 𝔽₂) ⧸ im(∂_1).
Classical code interpretation #
The repetition code of length ℓ: the classical code with codeword space
ker(∂_1) = span{(1,...,1)} ⊆ 𝔽₂^ℓ.
Instances For
The repetition code equals ker(∂_1).
The repetition code has dimension 1.