#include <sources/headers/Chain.h>
template<typename Coeff>
Clink struct
a single link a Chain
consists of an object (BNObj), a morphism (BNMor), and a boolean value rightarrow
which is true if the morphism starts at the specified generator. The morphism should consist of a single label or no label (in which case rightarrow
is undefined).
Constructors, destructors, conversion operators
- Clink(BNObj object, BNMor<Coeff> morphism, bool rightarrow)
- standard constructor
- Clink(const std::string& str)
- convert output of Clink::
to_string() back into chain; there is an ambiguity in the output, we cannot distinguish between an arrow S and S^2 if there is no label, unless we know what the next object is. This needs to be checked in Chain:: Chain ( std::string ); The default is S.
Public functions
-
auto to_string(const max_
gr_ str& max_gr = {}, const bool& with_grading = true, const bool& with_label = true, const bool& is_4ended = true) const -> std::string - string representation of a Clink
Public variables
- BNMor<Coeff> morphism
- morphism a of a clink
- BNObj object
- object x of a clink
- bool rightarrow
- true if x–(a)->, false if x<-(a)– , undefined if morphism.is_0().
Function documentation
template<typename Coeff>
std::string Clink<Coeff>:: to_string(const max_ gr_ str& max_gr = {},
const bool& with_grading = true,
const bool& with_label = true,
const bool& is_4ended = true) const
string representation of a Clink
examples:
- without grading:
⬯~~(-S)~>
- with grading:
h^-16 q^-47 δ^-15/2 ⬮——D—>
⬯~>
is the same as⬯~~(S)~>
⬮—>
is the same as⬮——D—>
If with_label
is false
, a label will still be included if it is necessary for specifying the morphism. If is_4ended
is false
, the morphism will be interpreted as an element of the free polynomial ring in the variable , see BNAlgebra.h.