Iterate the skein relation to build a skein tree of a polygonal link
Description
This function is required for the computation of the skein tree of a polygonal link. The tree is built by iterating the skein relation and geometrically constructing the L_0 and L_{sw} configuration (of a Conway skein triple).
Usage
1  skeinIterator(points3D, ends, M = c())

Arguments
points3D 
an N x 3 matrix of the x, y, z coordinates of a polygonal link 
ends 
a vector of positive integers defining the separators of the polygonal link 
M 
the intersection matrix of the polygonal link 
Value
leaves 
a list containing the binary indices of the tree leaves 
tree 
a list containing the skein tree. Each slot contains the slots

Author(s)
Federico Comoglio, federico.comoglio@bsse.ethz.ch
References
Freyd P, Yetter D, Hoste J, Lickorish WBR, Millett K, et al. (1985) A new polynomial invariant of knots and links. Bull Amer Math Soc (NS) 12: 239246.
Kauffman, L. Knots and Physics. Teaneck, NJ: World Scientific, p. 19, 1991.
Comoglio F. and Rinaldi M. A Topological Framework for the Computation of the HOMFLY Polynomial and Its Application to Proteins (2011) PLoS ONE 6(4): e18693, doi:10.1371/journal.pone.0018693 ArXiv:1104.3405
See Also
HOMFLYpolynomial
,
Examples
1 2 3 4 5 6  protein < makeExampleProtein()
protein < AlexanderBriggs(protein$A)
## Compute the skein tree
tree < skeinIterator(protein$points3D, protein$ends)
str(tree)
