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).
1  skeinIterator(points3D, ends, M = c())

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 
leaves 
a list containing the binary indices of the tree leaves 
tree 
a list containing the skein tree. Each slot contains the slots

Federico Comoglio, federico.comoglio@bsse.ethz.ch
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
HOMFLYpolynomial
,
1 2 3 4 5 6  protein < makeExampleProtein()
protein < AlexanderBriggs(protein$A)
## Compute the skein tree
tree < skeinIterator(protein$points3D, protein$ends)
str(tree)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.