knotkit/planar_diagram.h
Wojciech Politarczyk 203477c3a8 First shot at periodicity congruences
Verification of Przytycki's congruence works fine, however there are
some small modifications that could be made.

The, naive, approach to the verification of periodicity congruence for
the Khovanov polynomial didn't work. There are just too many cases to
check. Generation of all of them can exhaust the memory.
2016-11-24 15:28:31 +01:00

36 lines
1005 B
C++

#ifndef _KNOTKIT_PLANAR_DIAGRAM_H
#define _KNOTKIT_PLANAR_DIAGRAM_H
/* Planar diagram of a knot. For details, see:
http://katlas.org/wiki/Planar_Diagrams */
#include <lib/vector.h>
#include <string>
class planar_diagram
{
public:
std::string name;
basedvector<basedvector<int, 1>, 1> crossings;
public:
planar_diagram () { }
planar_diagram (const std::string &name, unsigned n_crossings, const int crossings_ar[][4]);
planar_diagram (const std::string &name_, const basedvector<basedvector<int, 1>, 1> &crossings_)
: name(name_), crossings(crossings_)
{ }
planar_diagram (const knot_diagram &kd);
planar_diagram (const planar_diagram &pd)
: name(pd.name),
crossings(pd.crossings)
{ }
~planar_diagram () { }
void show_knottheory () const;
void display_knottheory () const { show_knottheory (); newline (); }
void show_self () const { printf ("planar_diagram %s", name.c_str ()); }
void display_self () const;
};
#endif // _KNOTKIT_PLANAR_DIAGRAM_H