Adjoining a crossing-free circle to a PD-code #
A PDCode records components that never visit a crossing by their count. This file makes the
corresponding diagram operation explicit: PDCode.adjoinCircle adds one disjoint circle without
changing any crossing data. The oriented and framed versions also record the orientation and
relative framing of the new component.
The component and state-circle formulas make the operation usable in local move calculations.
For a nonempty diagram, adjoining a circle multiplies the Kauffman bracket by the loop value
jonesDelta; the nonemptiness hypothesis is necessary because the empty code is normalised to
have bracket one rather than a negative power of the loop value.
ClaspInsertion applies to clasps whose arcs meet crossings and does not treat a clasp through a
crossing-free circle; this file supplies the separate operation of adjoining a disjoint
crossing-free circle, which local move calculations need alongside it.
The PD-code convention follows M. Mastin, Links and Planar Diagram Codes, Definitions 2--3. The disjoint-circle Kauffman-bracket relation follows L. H. Kauffman, State models and the Jones polynomial, and W. B. R. Lickorish, An Introduction to Knot Theory, Springer GTM 175 (1997), Chapter 3.
Unoriented codes #
Adjoin one disjoint circle to a PD-code. The crossing data and all crossing-bearing components are unchanged; only the explicit count of crossing-free components increases.
Equations
- D.adjoinCircle = { halfEdge := D.halfEdge, edgePair := D.edgePair, crossinglessComponentCount := D.crossinglessComponentCount + 1, overPair := D.overPair }
Instances For
Adjoining a circle leaves the crossing labels unchanged.
Adjoining a circle leaves the arc matching unchanged.
Adjoining a circle leaves the over-strand choice at every crossing unchanged.
The new circle contributes one crossing-free component.
Adjoining a circle leaves the crossing traversal unchanged.
Adjoining a circle leaves the component traversal permutation unchanged.
Adjoining a circle does not change the crossing-bearing components.
Adjoining a circle increases the total component count by one.
Adjoining a circle leaves the smoothing traversal permutation unchanged.
Adjoining a circle leaves the chosen local smoothing at every crossing unchanged.
Adjoining a circle leaves the state traversal permutation unchanged.
Every smoothing has exactly one additional circle after adjoining a circle.
Adjoining a circle to a nonempty diagram multiplies its Kauffman bracket by the loop value. The empty code is excluded because its bracket is normalized to one.
Mirroring commutes with adjoining an unoriented circle.
Oriented codes #
Adjoin a crossing-free component with the specified orientation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Forgetting orientation leaves the added circle in the underlying code.
The directions at existing crossings remain unchanged.
The orientation of the new circle is added to the crossing-free orientation multiset.
Adjoining a circle leaves every existing crossing sign unchanged.
An isolated circle does not change the writhe.
A code with a crossing-free circle of orientation o is obtained by adjoining that circle to
the code without it.
Mirroring commutes with adjoining an oriented crossing-free circle.
Adjoining a circle to a nonempty oriented diagram multiplies the normalized bracket by the same loop value as the unoriented bracket, since the writhe is unchanged.
Framed oriented codes #
Adjoin a crossing-free component with its orientation and Seifert-relative framing.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Forgetting framing retains the orientation of the added circle.
Existing framing coefficients are unchanged.
The new circle's orientation and framing are recorded together.
Mirroring commutes with adjoining a framed oriented crossing-free circle and negates its framing.