Linear categories #
An R
-linear category is a category in which X ⟶ Y
is an R
-module in such a way that
composition of morphisms is R
-linear in both variables.
Note that sometimes in the literature a "linear category" is further required to be abelian.
Implementation #
Corresponding to the fact that we need to have an add_comm_group X
structure in place
to talk about a module R X
structure,
we need preadditive C
as a prerequisite typeclass for linear R C
.
This makes for longer signatures than would be ideal.
Future work #
It would be nice to have a usable framework of enriched categories in which this just became
a category enriched in Module R
.
- hom_module : (Π (X Y : C), module R (X ⟶ Y)) . "apply_instance"
- smul_comp' : (∀ (X Y Z : C) (r : R) (f : X ⟶ Y) (g : Y ⟶ Z), (r • f) ≫ g = r • f ≫ g) . "obviously"
- comp_smul' : (∀ (X Y Z : C) (f : X ⟶ Y) (r : R) (g : Y ⟶ Z), f ≫ (r • g) = r • f ≫ g) . "obviously"
A category is called R
-linear if P ⟶ Q
is an R
-module such that composition is
R
-linear in both variables.
Instances of this typeclass
- category_theory.linear.preadditive_nat_linear
- category_theory.linear.preadditive_int_linear
- category_theory.linear.induced_category.category
- Module.category_theory.linear
- category_theory.Free.category_theory.linear
- category_theory.functor_category_linear
- Action.category_theory.linear
- Rep.category_theory.linear
Instances of other typeclasses for category_theory.linear
- category_theory.linear.has_sizeof_inst
Equations
- category_theory.linear.preadditive_nat_linear = {hom_module := λ (X Y : C), add_comm_monoid.nat_module, smul_comp' := _, comp_smul' := _}
Equations
- category_theory.linear.preadditive_int_linear = {hom_module := λ (X Y : C), add_comm_group.int_module (X ⟶ Y), smul_comp' := _, comp_smul' := _}
Equations
Equations
- category_theory.linear.induced_category.category F = {hom_module := λ (X Y : category_theory.induced_category C F), category_theory.linear.hom_module (F X) (F Y), smul_comp' := _, comp_smul' := _}
Composition by a fixed left argument as an R
-linear map.
Composition by a fixed right argument as an R
-linear map.
Composition as a bilinear map.
Equations
- category_theory.linear.comp X Y Z = {to_fun := λ (f : X ⟶ Y), category_theory.linear.left_comp S Z f, map_add' := _, map_smul' := _}