Connecting a chain complex and a cochain complex #
Given a chain complex K: ... ⟶ K.X 2 ⟶ K.X 1 ⟶ K.X 0,
a cochain complex L: L.X 0 ⟶ L.X 1 ⟶ L.X 2 ⟶ ...,
a morphism d₀ : K.X 0 ⟶ L.X 0 satisfying the identifies K.d 1 0 ≫ d₀ = 0
and d₀ ≫ L.d 0 1 = 0, we construct a cochain complex indexed by ℤ of the form
... ⟶ K.X 2 ⟶ K.X 1 ⟶ K.X 0 ⟶ L.X 0 ⟶ L.X 1 ⟶ L.X 2 ⟶ ...,
where K.X 0 lies in degree -1 and L.X 0 in degree 0.
Main definitions #
Say K : ChainComplex C ℕ and L : CochainComplex C ℕ, so ... ⟶ K₂ ⟶ K₁ ⟶ K₀
and L⁰ ⟶ L¹ ⟶ L² ⟶ ....
ConnectData K L: an auxiliary structure consisting ofd₀ : K₀ ⟶ L⁰"connecting" the complexes and proofs that the induced mapsK₁ ⟶ K₀ ⟶ L⁰andK₀ ⟶ L⁰ ⟶ L¹are both zero.
Now say h : ConnectData K L.
CochainComplex.ConnectData.cochainComplex h: the induced ℤ-indexed complex... ⟶ K₁ ⟶ K₀ ⟶ L⁰ ⟶ L¹ ⟶ ...CochainComplex.ConnectData.homologyIsoPos h (n : ℕ) (m : ℤ): ifm = n + 1, the isomorphismh.cochainComplex.homology m ≅ L.homology (n + 1)CochainComplex.ConnectData.homologyIsoNeg h (n : ℕ) (m : ℤ): ifm = -(n + 2), the isomorphismh.cochainComplex.homology m ≅ K.homology (n + 1)
TODO #
- Computation of
h.cochainComplex.homology kwhenk = 0ork = -1.
Given K : ChainComplex C ℕ and L : CochainComplex C ℕ, this data
allows to connect K and L in order to get a cochain complex indexed by ℤ,
see ConnectData.cochainComplex.
the differential which connect
KandL
Instances For
Auxiliary definition for ConnectData.cochainComplex.
Equations
- CochainComplex.ConnectData.X K L (Int.ofNat n) = L.X n
- CochainComplex.ConnectData.X K L (Int.negSucc n) = K.X n
Instances For
Auxiliary definition for ConnectData.cochainComplex.
Equations
- h.d (Int.ofNat n) (Int.ofNat m) = L.d n m
- h.d (Int.negSucc n) (Int.negSucc m) = K.d n m
- h.d (Int.negSucc 0) (Int.ofNat 0) = h.d₀
- h.d (Int.ofNat a) (Int.negSucc a_1) = 0
- h.d (Int.negSucc a) (Int.ofNat a_1) = 0
Instances For
Given h : ConnectData K L where K : ChainComplex C ℕ and L : CochainComplex C ℕ,
this is the cochain complex indexed by ℤ obtained by connecting K and L:
... ⟶ K.X 2 ⟶ K.X 1 ⟶ K.X 0 ⟶ L.X 0 ⟶ L.X 1 ⟶ L.X 2 ⟶ ....
Equations
- h.cochainComplex = { X := CochainComplex.ConnectData.X K L, d := h.d, shape := ⋯, d_comp_d' := ⋯ }
Instances For
If h : ConnectData K L, then h.cochainComplex identifies to L in degrees ≥ 0.
Equations
Instances For
If h : ConnectData K L, then h.cochainComplex identifies to K in degrees ≤ -1.
Equations
- h.restrictionLEIso = HomologicalComplex.Hom.isoOfComponents (fun (n : ℕ) => HomologicalComplex.restrictionXIso h.cochainComplex (ComplexShape.embeddingUpIntLE (-1)) ⋯) ⋯
Instances For
Given h : ConnectData K L and n : ℕ, the homology
of h.cochainComplex in degree n + 1 identifies to the homology of L in degree n + 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given h : ConnectData K L and n : ℕ, the homology
of h.cochainComplex in degree -(n + 2) identifies to the homology of K in degree n + 1.
Equations
- One or more equations did not get rendered due to their size.