tensor#

Implements dagger monoidal functors into tensors.

>>> n = Ty('n')
>>> Alice, Bob = rigid.Box('Alice', Ty(), n), rigid.Box('Bob', Ty(), n)
>>> loves = rigid.Box('loves', n, n)
>>> ob, ar = {n: 2}, {Alice: [0, 1], loves: [0, 1, 1, 0], Bob: [1, 0]}
>>> F = Functor(ob, ar)
>>> assert F(Alice >> loves >> Bob.dagger()) == 1

discopy.tensor.Dim(*dims)

Implements dimensions as tuples of positive integers.

discopy.tensor.Tensor(dom, cod, array)

Implements a tensor with dom, cod and numpy array.

discopy.tensor.Functor(ob, ar)

Implements a tensor-valued rigid functor.

discopy.tensor.Diagram(dom, cod, boxes, offsets)

Diagram with Tensor boxes.

discopy.tensor.Id([dom])

Identity tensor.Diagram

discopy.tensor.Box(name, dom, cod, data, ...)

Box in a tensor.Diagram

discopy.tensor.Spider(n_legs_in, n_legs_out, dim)

Spider box.

discopy.tensor.Bubble(inside[, func])

Bubble in a tensor diagram, applies a function elementwise.