#include <sources/headers/algHF.h>
template<typename Coeff>
algHF class
morphism in the cobordism category
A cobordism consists of two objects, namely front (CobObj) and back (CobObj), and a list of decorations (Deco) together with a list of components.
A component is a list of tangle ends (TE), starting with the lowest, so that components can be compared by their first entry. The components are ordered by their first element, which we will sometimes refer to as their 'name'; this allows us to add them together efficiently, without reordering dots. A component always has an even number of tangle ends. Adjacent entries are connected via arcs in the two tangles (alternatingly front and back); the second entry is the tangle end that is connected to the first via the front tangle.
Constructors, destructors, conversion operators
Public functions
- auto check() const -> bool
- true if the cobordism passes some sanity checks
- auto check(const CobObj& obj_from, const CobObj& obj_to) const -> bool
- true if the cobordism is zero or goes between the two specified objects
- auto operator*(const CobMor<Coeff>& cob1) const -> CobMor<Coeff>
- compose two morphisms as functions: (note the order!). The function raises an exception if the morphisms are incomposable.
- auto operator+(const CobMor<Coeff>& cob2) const -> CobMor<Coeff>
- add two morphisms together; no sanity checks are performed.
- auto to_string() const -> std::string
- string representation of a cobordism;