cmap

Contents

cmap#

An implementation of open combinatorial maps. See [DV22] for a comprehensive overview of combinatorial maps in relation to string diagrams.

A combinatorial map is fully described by a pair of permutations \(v\) and \(e\) acting on a set of ports \(P\) (also called darts or half-edges) where:

  • \(v\) is an arbitrary permutation whose decomposition induces a node for each cycle, giving an orientation on ports;

  • \(e\) is a fixpoint-free involution, hence its cycle decomposition only contains transpositions which are to be understood as wires of the map.

A map morphism from \((P, v, e)\) to \((P', v', e')\) is then defined as a function \(f : P \rightarrow P'\) such that:

  • \(f\) defines a homomorphism of the underlying graph: \(e; f = f; e'\);

  • \(f\) respects orientation: \(v; f = f; v'\).

Summary#

PortKind

The four kinds of ports in a CMap.

Port

A port in a combinatorial map.

CMap

An open combinatorial map, i.e. a diagram represented as a bijection between its ports.