Documentation

Mathlib.Algebra.Homology.ShortComplex.Linear

Homology of linear categories #

In this file, it is shown that if C is a R-linear category, then ShortComplex C is a R-linear category. Various homological notions are also shown to be linear.

instance CategoryTheory.ShortComplex.instSMulHom {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} :
SMul R (S₁ S₂)
Equations
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₁ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ S₂) :
(a φ).τ₁ = a φ.τ₁
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₂ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ S₂) :
(a φ).τ₂ = a φ.τ₂
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₃ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ S₂) :
(a φ).τ₃ = a φ.τ₃
instance CategoryTheory.ShortComplex.instModuleHom {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} :
Module R (S₁ S₂)
Equations
Equations
def CategoryTheory.ShortComplex.LeftHomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
LeftHomologyMapData (a φ) h₁ h₂

Given a left homology map data for morphism φ, this is the induced left homology map data for a • φ.

Equations
  • γ.smul a = { φK := a γ.φK, φH := a γ.φH, commi := , commf' := , commπ := }
@[simp]
theorem CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φH {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).φH = a γ.φH
@[simp]
theorem CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φK {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).φK = a γ.φK
@[simp]
theorem CategoryTheory.ShortComplex.leftHomologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) (a : R) :
leftHomologyMap' (a φ) h₁ h₂ = a leftHomologyMap' φ h₁ h₂
@[simp]
theorem CategoryTheory.ShortComplex.cyclesMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) (a : R) :
cyclesMap' (a φ) h₁ h₂ = a cyclesMap' φ h₁ h₂
@[simp]
theorem CategoryTheory.ShortComplex.leftHomologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (a : R) [S₁.HasLeftHomology] [S₂.HasLeftHomology] :
@[simp]
theorem CategoryTheory.ShortComplex.cyclesMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (a : R) [S₁.HasLeftHomology] [S₂.HasLeftHomology] :
def CategoryTheory.ShortComplex.RightHomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
RightHomologyMapData (a φ) h₁ h₂

Given a right homology map data for morphism φ, this is the induced right homology map data for a • φ.

Equations
  • γ.smul a = { φQ := a γ.φQ, φH := a γ.φH, commp := , commg' := , commι := }
@[simp]
theorem CategoryTheory.ShortComplex.RightHomologyMapData.smul_φH {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).φH = a γ.φH
@[simp]
theorem CategoryTheory.ShortComplex.RightHomologyMapData.smul_φQ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).φQ = a γ.φQ
@[simp]
theorem CategoryTheory.ShortComplex.rightHomologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (a : R) :
rightHomologyMap' (a φ) h₁ h₂ = a rightHomologyMap' φ h₁ h₂
@[simp]
theorem CategoryTheory.ShortComplex.opcyclesMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (a : R) :
opcyclesMap' (a φ) h₁ h₂ = a opcyclesMap' φ h₁ h₂
@[simp]
theorem CategoryTheory.ShortComplex.rightHomologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (a : R) [S₁.HasRightHomology] [S₂.HasRightHomology] :
@[simp]
theorem CategoryTheory.ShortComplex.opcyclesMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (a : R) [S₁.HasRightHomology] [S₂.HasRightHomology] :
def CategoryTheory.ShortComplex.HomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
HomologyMapData (a φ) h₁ h₂

Given a homology map data for a morphism φ, this is the induced homology map data for a • φ.

Equations
@[simp]
theorem CategoryTheory.ShortComplex.HomologyMapData.smul_right {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).right = γ.right.smul a
@[simp]
theorem CategoryTheory.ShortComplex.HomologyMapData.smul_left {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
(γ.smul a).left = γ.left.smul a
@[simp]
theorem CategoryTheory.ShortComplex.homologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) (a : R) :
homologyMap' (a φ) h₁ h₂ = a homologyMap' φ h₁ h₂
@[simp]
theorem CategoryTheory.ShortComplex.homologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (a : R) [S₁.HasHomology] [S₂.HasHomology] :
def CategoryTheory.ShortComplex.Homotopy.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
Homotopy (a φ₁) (a φ₂)

Homotopy between morphisms of short complexes is compatible with the scalar multiplication.

Equations
  • h.smul a = { h₀ := a h.h₀, h₀_f := , h₁ := a h.h₁, h₂ := a h.h₂, h₃ := a h.h₃, g_h₃ := , comm₁ := , comm₂ := , comm₃ := }
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₂ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
(h.smul a).h₂ = a h.h₂
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₀ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
(h.smul a).h₀ = a h.h₀
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₃ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
(h.smul a).h₃ = a h.h₃
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₁ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{u_3, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
(h.smul a).h₁ = a h.h₁