Braided and symmetric structure on the matrix envelope #
When C is a braided (resp. symmetric) monoidal preadditive category, so is
Mat_ C. The braiding on Mat_ C is a "diagonal" matrix carrying the
componentwise braidings of C, reindexed by the swap M.ι × N.ι ↔ N.ι × M.ι.
Componentwise access to the Mat_ C monoidal structure #
Braiding data for Mat_ C #
noncomputable def
RS.matBraidHom
{C : Type u}
[CategoryTheory.Category.{v, u} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.BraidedCategory C]
(M N : CategoryTheory.Mat_ C)
:
The matrix morphism that swaps tensor factors using the component braidings.
Equations
Instances For
noncomputable def
RS.matBraidInv
{C : Type u}
[CategoryTheory.Category.{v, u} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.BraidedCategory C]
(M N : CategoryTheory.Mat_ C)
:
The inverse matrix morphism that swaps tensor factors by inverse braidings.
Equations
Instances For
Braiding iso #
noncomputable def
RS.matBraidIso
{C : Type u}
[CategoryTheory.Category.{v, u} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.BraidedCategory C]
(M N : CategoryTheory.Mat_ C)
:
The braiding isomorphism on matrix objects induced by the component braidings.
Equations
- RS.matBraidIso M N = { hom := RS.matBraidHom M N, inv := RS.matBraidInv M N, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Braiding naturality #
Hexagon identities #
BraidedCategory instance #
@[instance_reducible]
noncomputable instance
RS.matBraided
{C : Type u}
[CategoryTheory.Category.{v, u} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalPreadditive C]
[CategoryTheory.BraidedCategory C]
:
The matrix category inherits a braiding: the componentwise braidings, reindexed by the swap of index products.
Equations
- RS.matBraided = { braiding := RS.matBraidIso, braiding_naturality_right := ⋯, braiding_naturality_left := ⋯, hexagon_forward := ⋯, hexagon_reverse := ⋯ }
SymmetricCategory instance #
@[instance_reducible]
noncomputable instance
RS.matSymmetric
{C : Type u}
[CategoryTheory.Category.{v, u} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalPreadditive C]
[CategoryTheory.SymmetricCategory C]
:
And a symmetric one stays symmetric.
Equations
- RS.matSymmetric = { toBraidedCategory := RS.matBraided, symmetry := ⋯ }