Share with your friends
hdshahin01

Call

In mathematics, a monoidal category is a category C {\displaystyle \mathbf {C} } equipped with a bifunctor

that is associative up to a natural isomorphism, and an object I that is both a left and right identity for ⊗, again up to a natural isomorphism. The associated natural isomorphisms are subject to certain coherence conditions, which ensure that all the relevant diagrams commute.

The ordinary tensor product makes vector spaces, abelian groups, R-modules, or R-algebras into monoidal categories. Monoidal categories can be seen as a generalization of these and other examples. Every monoidal category may also be viewed as a "categorification" of an underlying monoid, namely the monoid whose elements are the isomorphism classes of the category's objects and whose binary operation is given by the category's tensor product.

A rather different application, of which monoidal categories can be considered an abstraction, is that of a system of data types closed under a type constructor that takes two types and builds an aggregate type; the types are the objects and ⊗ {\displaystyle \otimes } is the aggregate constructor. The associativity up to isomorphism is then a way of expressing that different ways of aggregating the same data—such as , c ] {\displaystyle ,c]} and ] {\displaystyle ]} —store the same information even though the aggregate values need not be the same. The aggregate type may be analogous to the operation of addition or of multiplication. For type product, the identity object is the unit {\displaystyle } , so there is only one inhabitant of the type, and that is why a product with it is always isomorphic to the other operand. For type sum, the identity object is the void type, which stores no information and it is impossible to address an inhabitant. The concept of monoidal category does not presume that values of such aggregate types can be taken apart; on the contrary, it provides a framework that unifies classical and quantum information theory.