Linear Functors #
An additive functor between two R
-linear categories is called linear
if the induced map on hom types is a morphism of R
-modules.
Implementation details #
Functor.Linear
is a Prop
-valued class, defined by saying that
for every two objects X
and Y
, the map
F.map : (X ⟶ Y) → (F.obj X ⟶ F.obj Y)
is a morphism of R
-modules.
class
CategoryTheory.Functor.Linear
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
:
An additive functor F
is R
-linear provided F.map
is an R
-module morphism.
the functor induces a linear map on morphisms
Instances
@[simp]
theorem
CategoryTheory.Functor.map_smul
{R : Type u_1}
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{X Y : C}
(r : R)
(f : X ⟶ Y)
:
@[simp]
theorem
CategoryTheory.Functor.map_units_smul
{R : Type u_1}
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{X Y : C}
(r : Rˣ)
(f : X ⟶ Y)
:
instance
CategoryTheory.Functor.instLinearId
{R : Type u_1}
[Semiring R]
{C : Type u_2}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Functor.instLinearComp
{R : Type u_1}
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_7, u_2} C]
[CategoryTheory.Category.{u_6, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{E : Type u_4}
[CategoryTheory.Category.{u_5, u_4} E]
[CategoryTheory.Preadditive E]
[CategoryTheory.Linear R E]
(G : CategoryTheory.Functor D E)
[G.Additive]
[CategoryTheory.Functor.Linear R G]
:
CategoryTheory.Functor.Linear R (F.comp G)
Equations
- ⋯ = ⋯
def
CategoryTheory.Functor.mapLinearMap
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{X Y : C}
:
F.mapLinearMap
is an R
-linear map whose underlying function is F.map
.
Equations
- CategoryTheory.Functor.mapLinearMap R F = { toFun := (↑F.mapAddHom).toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem
CategoryTheory.Functor.mapLinearMap_apply
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{X Y : C}
(a✝ : X ⟶ Y)
:
(CategoryTheory.Functor.mapLinearMap R F) a✝ = (↑F.mapAddHom).toFun a✝
theorem
CategoryTheory.Functor.coe_mapLinearMap
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R C]
[CategoryTheory.Linear R D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Functor.Linear R F]
{X Y : C}
:
⇑(CategoryTheory.Functor.mapLinearMap R F) = F.map
instance
CategoryTheory.Functor.inducedFunctorLinear
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_3} D]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R D]
(F : C → D)
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Functor.fullSubcategoryInclusionLinear
(R : Type u_1)
[Semiring R]
{C : Type u_2}
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
(Z : C → Prop)
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Functor.natLinear
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
(F : CategoryTheory.Functor C D)
[F.Additive]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Functor.intLinear
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
(F : CategoryTheory.Functor C D)
[F.Additive]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Functor.ratLinear
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Preadditive D]
(F : CategoryTheory.Functor C D)
[F.Additive]
[CategoryTheory.Linear ℚ C]
[CategoryTheory.Linear ℚ D]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.Equivalence.inverseLinear
(R : Type u_1)
[Semiring R]
{C : Type u_2}
{D : Type u_3}
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.Category.{u_5, u_3} D]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.Preadditive D]
[CategoryTheory.Linear R D]
(e : C ≌ D)
[e.functor.Additive]
[CategoryTheory.Functor.Linear R e.functor]
:
CategoryTheory.Functor.Linear R e.inverse
Equations
- ⋯ = ⋯