Hello agaiiiiiiiiiiiiiin !!
Wellwellwell.. I spend quiiiiiiiite a lot of time trying to move the Braid's plot function to plot/braid_plot.py, and it failed in many many differents ways. For a start this plot never draws two crossings atop of each other, which means that a large number of crossing will produce a veeeeery wide drawing.
Then the code was a bit ugly, so I rewrote it with a lambda function.
Then I noticed that there were some "negative" strands in this plot method, and I have no idea how to implement cleanly a function that would deal with those negative strands and those we need in this module.
Soooooooooooo I give up ! :-P
Sorry about that, but I really spent a lot of time on this and I know that I modify a code that I do not understand... And I did this many many times already, and it gets less and less funny :-P
Sooooooo instead of the 1000 patches I uploaded, please only consider the "lastpatch". It converts everything to a list instead of doing a deepcopy, which solves your equality problem. And you were right about this line in the decoding of a Felsner matrix ! The shorter it is, the better.. Thank you :-)
Nathann