203477c3a8
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.
36 lines
1005 B
C++
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
|