open_hypergraphs.open_hypergraph

class open_hypergraphs.open_hypergraph.OpenHypergraph(s: FiniteFunction, t: FiniteFunction, H: Hypergraph)

An OpenHypergraph is a cospan in Hypergraph whose feet are discrete.

s: FiniteFunction
t: FiniteFunction
H: Hypergraph
property source
property target
signature()
classmethod identity(w, x)
compose(g: OpenHypergraph)
classmethod unit(w, x)

The empty open hypergraph; the monoidal unit OpenHypergraph.unit : I I

unit_of()

Given an OpenHypergraph, return the unit over the same signature

tensor(g: OpenHypergraph) OpenHypergraph
classmethod twist(a: FiniteFunction, b: FiniteFunction, x: FiniteFunction) OpenHypergraph
dagger()
classmethod spider(s: FiniteFunction, t: FiniteFunction, w: FiniteFunction, x: FiniteFunction) Self
classmethod half_spider(s: FiniteFunction, w: FiniteFunction, x: FiniteFunction) Self
classmethod singleton(x: FiniteFunction, a: FiniteFunction, b: FiniteFunction) OpenHypergraph

Given FiniteFunctions a : A Σ₀ and b : B Σ₀ and an operation x : 1 Σ₁, create an open hypergraph with a single operation x with type A B.

permute(w: FiniteFunction, x: FiniteFunction) Self

Lift a permutation of Hypergraphs into a permutation of OpenHypergraphs

classmethod tensor_operations(x: FiniteFunction, a: IndexedCoproduct, b: IndexedCoproduct) OpenHypergraph

The N-fold tensoring of operations x. Like ‘singleton’ but for many operations.

x : N → Σ₁ a : N → Σ₀* b : N → Σ₀*

classmethod tensor_list(ds: List[OpenHypergraph], w=None, x=None) OpenHypergraph
class open_hypergraphs.open_hypergraph.HasOpenHypergraph(*args, **kwargs)
abstract classmethod OpenHypergraph() Type[OpenHypergraph]
classmethod Hypergraph() Type[Hypergraph]