frobenius#
The free symmetric category with a supply of spiders, also known as special commutative Frobenius algebras.
Diagrams in the free hypergraph category are faithfully encoded as
Hypergraph
, see Bonchi et al. [BGK+22].
Summary#
A frobenius object is a self-dual pivotal object. |
|
A frobenius type is a pivotal type with frobenius objects inside. |
|
A dimension is a tuple of integers greater than one seen as a type. |
|
A frobenius diagram is a compact diagram and a Markov diagram. |
|
A frobenius box is a compact and Markov box in a frobenius diagram. |
|
A frobenius cup is a compact cup in a frobenius diagram. |
|
A frobenius cap is a compact cap in a frobenius diagram. |
|
A frobenius swap is a compact and Markov swap in a frobenius diagram. |
|
The spider with |
|
A Frobenius bubble is a monoidal bubble in a frobenius diagram. |
|
A hypergraph category is a compact category with a method |
|
A hypergraph functor is a compact functor that preserves spiders. |
Axioms#
>>> from discopy.drawing import Equation
>>> x, y, z = map(Ty, "xyz")
>>> split, merge = Spider(1, 2, x), Spider(2, 1, x)
>>> unit, counit = Spider(0, 1, x), Spider(1, 0, x)
Frobenius#
>>> frobenius = Equation(
... split @ x >> x @ merge, merge >> split, x @ split >> merge @ x)
>>> with Diagram.hypergraph_equality:
... assert frobenius
>>> frobenius.draw(path="docs/_static/frobenius/frobenius.png")
Speciality#
>>> special = Equation(split >> merge, Spider(1, 1, x), Id(x))
>>> with Diagram.hypergraph_equality:
... assert special
>>> special.draw(path="docs/_static/frobenius/special.png")