The transverse invariant in Khovanov homology

To compile: g++ -o Trans Trans.cpp
To run: ./Trans

This program decides whether Plamenevskaya's invariant of transverse links vanishes. The program is poorly documented and was originally designed to do something more general so I apologize in advance if anything is unclear. In order to use the program, you need to alter 3 things to your specifications.
1. Enter the braid. The elementary braid word sigma_i corresponds to the integer i+1 in our designation, while (sigma_i)^{-1} corresponds to -(i+1). For instance, consider the 3-braid with braid word (sigma_1)^3 * (sigma_2)^{-2} * (sigma_1)^{-1} * (sigma_2)^5. We encode this by the integer array {2,2,2,-3,-3,-2,3,3,3,3,3}. To enter your braid, you need to alter the line in Trans.cpp which starts "int braid[LENGTH] =". So, to encode the braid above, you'd change this line to:

"int braid[LENGTH]={2,2,2,-3,-3,-2,3,3,3,3,3};"

2. Define LENGTH. LENGTH designate the size of the array specifying the braid. For instance, for the braid above, LENGTH is 11. You need to alter the line in Trans.cpp which starts "#define LENGTH". For the braid above, you'd change this line to:

"#define LENGTH 11"

3. Define SIZE. SIZE is simply LENGTH + braid index - 1. For the braid above, SIZE is 11 + 3 - 1 = 13. You need to alter the line in Trans.cpp which starts "#define SIZE". For the braid above, you'd change this line to:

"#define SIZE 13"
Once you make these alterations, save the file as Trans.cpp, compile, and run.

While experimenting with this stuff, I wrote the program below to compute the reduced Khovanov homology given a braid, input just as above. To use this program, make the alterations described above.

The program is: [Kh.cpp].
To compile: g++ -o Kh Kh.cpp
To run: ./Kh