Complex<BNObj, BNMor, Coeff> class
template<typename Obj, template<typename> typename Mor, typename Coeff>class Complex_Base<BNObj, BNMor, Coeff>
- base class for complexes
void clean_up(ssize_t max_iter = max_
clean_ up_ iter)
- attempts to turn a complex into a loop-type complex in the sense of , so it can be converted to chains (Chains)
- void clean_up_once(const bool& faceD)
- makes the complex correspond to a precurve in the sense of  which is simply-faced with respect to if 'faceD'==true and if 'faceD'==false.
- auto cone(const int& n) const -> Complex<BNObj, BNMor, Coeff>
- cone of the endomorphism on the complex defined by . For example, is the cone of on the complex . If , this acts like the identity; raises an exception.
- auto is_loop_type() const -> bool
- true if each generator of the complex is connected to at most one other generator along a differential labelled by a power of , and the same for powers of . We assume the complex is fully reduced.
- auto is_loop_type(const bool& faceD) const -> bool
- true if each generator of the complex is connected to at most one other generator along a differential labelled by a power of if 'faceD'==true and if 'faceD'==false. We assume the complex is fully reduced.
- void isolate_arrow(const size_t& start, const size_t& end, const bool& faceD)
- implements the main step of the proof of Proposition 5.10 in , compare also Proposition 4.16 . After this step, the component of the differential from 'start' to 'end' in the face corresponding to the algebra element if 'faceD==true ( if 'faceD==false) is the only one connecting these two generators in this face.
- auto operator+(const Complex<BNObj, BNMor, Coeff>& cx2) const -> Complex<BNObj, BNMor, Coeff>
- Take the tensor product between two complexes corresponding to taking the (vertical) tangle sum, ie stack two 2-2-tangles. cx2 is the lower one.
- void print(const std::string& name = "", const std::string& metadata = "", const bool is_4ended = true, const bool& is_Khr = false) const
- if name is empty, print string representation of complex into terminal; if name is non-empty, prints the string representation into the file specified by 'name'. Metadata must be provided. If the complex is loop-type (see is_
loop_ type()), the complex is first converted into chains (see Chains.h); 'is_4ended' should be false if algebra elements should be interpreted as elements of the free polynomial ring in the variable (ie for four-ended tangles). 'is_Khr' should be true if components are expected to be special and rational see .
- auto to_chains() const -> Chains<Coeff>
- Chains corresponding to the complex over the Bar-Natan algebra, see Chains.h for details.