#include <sources/headers/BNAlgebra.h>
template<typename Coeff>
Label class
auxillary class for the definition of BNMor
represents an elementary morphism of the form , , or for some coefficient and positive integer . We sometimes also interpret elements in the subalgebra of as elements of the free polynomial ring . This is the case if the boolean argument 'is_4ended' is false.
Constructors, destructors, conversion operators
- Label(int type, Coeff coeff)
- type is an integer whose absolute value is the exponent of (if ) or (if ); coeff is the coefficient of the label
Public functions
- auto get_coeff() const -> Coeff
- coefficient of label ( )
- auto get_type() const -> int
- type of label ( )
- auto is_type(const bool& faceD) const -> bool
- true if , false if , undefined behaviour if .
- auto operator!=(const Label<Coeff>& label2) const -> bool
- true if label types ( ) differ (ignores coefficients)
- auto operator<(const Label<Coeff>& label2) const -> bool
- true if label types ( ) are ordered (ignores coefficients)
- auto operator==(const Label<Coeff>& label2) const -> bool
- true if label types ( ) agree (ignores coefficients)
- void set_coeff(const Coeff& set_coeff_to_1)
- replace coefficient of label ( ) by a new one
- auto to_string(const bool& with_coeff = true, const bool& is_4ended = true) const -> std::string
- string representation of label; coefficients are included, iff the first argument is true; if second argument is false, non-negative label types ( ) are interpreted as powers of the varible and negative label types ( ) raise exceptions.
Public variables
- friend BNMor< Coeff >
- friend (BNMor)
Friends
- auto label_is_zero(const Label<Coeff>& label) -> bool
- true if the coefficient of the label is zero. This function is used in BNMor::
simplify().