Link components of a grid diagram #
The O- and X-markings of a grid diagram determine an oriented link combinatorially. Starting
at the O-marking in column c, follow its horizontal segment to the X-marking in the same
row, then follow the vertical segment to the O-marking in that column. On column labels this is
the permutation
c ↦ X⁻¹(O(c)).
Its cycles are exactly the link components. This file packages that permutation, its cycle
decomposition and component count, and the predicate that the represented link is a knot. The
grid-diagram disjointness condition makes the component permutation fixed-point-free, so
Mathlib's cycle decomposition accounts for every marking, and the component count is also the
number of orbits TauCeti.orbitCount of the component permutation.
On a knot grid the component permutation is a single cycle through all columns, so it leads from
any base column to any other column; the least number of steps is the traversal index
TauCeti.GridDiagram.IsKnot.traversalIndex, which is less than the grid number and injective in
the target column.
Row relabeling leaves the component permutation unchanged, while column relabeling conjugates it.
Consequently the cycle type, component count, and knot predicate are preserved by both
relabelings, as well as by diagonal reflection, half-turn rotation, and exchanging O with X.
Main definitions #
TauCeti.GridDiagram.componentPerm: the permutation obtained by following one horizontal and one vertical grid segment.TauCeti.GridDiagram.componentCycles: the cycle factors representing the link components.TauCeti.GridDiagram.componentCycleType: the multiset of component sizes.TauCeti.GridDiagram.componentCount: the number of represented link components.TauCeti.GridDiagram.IsKnot: the represented link has exactly one component.TauCeti.GridDiagram.IsKnot.traversalIndex: on a knot grid, the number of steps of the component permutation from a base column to a column.
References #
This advances TauCetiRoadmap/CombinatorialHeegaardFloer/README.md, Lane G.1, "Grid diagrams and
grid states", and supplies the knot-versus-link distinction needed by the later knot invariant
τ in Lane G.6 and the links stage in Lane G.9. The component traversal follows
Ozsváth--Stipsicz--Szabó, Grid Homology for Knots and Links, Chapter 3.
The permutation of O-marking columns obtained by traversing one horizontal segment from
O to X, then the vertical segment back to O.
Thus componentPerm G c = G.X.transpose (G.O c). Its permutation cycles are the components of
the oriented link represented by G.
Instances For
The component permutation is the O-marking permutation followed by the inverse of the
X-marking permutation. Downstream modules use this defining formula to read off the component
permutation of a diagram whose two marking permutations are known.
Applying the component permutation follows the O-marking's row to its unique
X-marking column.
The component permutation sends c to d exactly when the X-marking of column d lies in
the row of the O-marking of column c.
The X-marking of column componentPerm c lies in the row of the O-marking of column
c.
The O-marking in the row of the X-marking of column componentPerm c is the O-marking
of column c: the component permutation walks from O_c along its row to that X-marking.
The component permutation has no fixed columns, because an O and an X cannot occupy the
same square.
Every column belongs to the support of the component permutation.
The cycle factors of the component permutation. Each factor is one component of the
represented link, expressed as a cyclic permutation of its O-marking columns.
Instances For
A permutation is a component cycle exactly when it is a cycle agreeing with the component permutation throughout its support.
The multiset of component sizes of the link represented by a grid diagram.
Instances For
The component-size multiset is the cycle type of the component permutation.
The number of components of the link represented by a grid diagram.
Instances For
The component count is the cardinality of the component-size multiset.
The number of component cycles agrees with componentCount.
The component sizes sum to the grid size: every marking belongs to exactly one component.
The number of components is the number of orbits of the component permutation. Every orbit is a genuine cycle here, since the component permutation has no fixed column.
A grid diagram represents a knot when its component permutation has exactly one cycle.
Instances For
A grid diagram is a knot diagram exactly when its component count is one.
A grid diagram represents a knot exactly when its component permutation is a single nontrivial cycle.
The sole component of a knot grid contains all n markings.
A grid diagram has no link components exactly when its size is zero.
The empty grid has no link components.
An empty grid does not represent a knot.
A knot grid has at least one column.
On a knot grid the component permutation, a single cycle through all columns, leads from any column to any other.
The traversal index of a column c from a base column c₀ of a knot grid: the least
number of steps of the component permutation leading from c₀ to c.
Instances For
The component permutation leads from the base column to c in traversalIndex c₀ c steps.
The traversal index is at most any number of steps leading from the base column to c.
The base column has traversal index 0.
The traversal index is less than the grid number.
Distinct columns have distinct traversal indices.
Every 2 × 2 grid diagram represents a knot. Its fixed-point-free component permutation is
the transposition of the two columns.
Traversing a knot #
The component permutation of a knot grid is a single cycle through all columns.
The traversal of a knot grid from the column c₀: step t reaches the column
componentPerm ^ t c₀, after t horizontal and t vertical segments. The component permutation
of a knot is a single cycle through all n columns, so the first n steps reach every column
exactly once.
Instances For
The traversal from c₀ starts at c₀.
Each step of the traversal follows the component permutation: the column after c is reached
one step after c, unless it is the starting column c₀, which the traversal returns to after
n steps.
Naturality under grid symmetries #
Relabeling rows does not change the component permutation: the common row relabeling cancels
between the O- and X-marking permutations.
Relabeling columns conjugates the component permutation by the column relabeling.
Row relabeling preserves the component cycles.
Column relabeling transports component cycles by conjugation.
Row relabeling preserves the component-size multiset.
Column relabeling preserves the component-size multiset.
Exchanging the O- and X-markings inverts the component permutation.
Exchanging the marking types reverses every component cycle.
Exchanging the two marking types preserves the component-size multiset.
Diagonal reflection conjugates the inverse component permutation by the X-marking
permutation.
Diagonal reflection transports component cycles by inversion and conjugation.
Diagonal reflection preserves the component-size multiset.
Half-turn rotation transports component cycles by coordinate-reversal conjugation.
Half-turn rotation preserves the component-size multiset.
Row relabeling preserves the number of represented link components.
Column relabeling preserves the number of represented link components.
Diagonal reflection preserves the number of represented link components.
Half-turn rotation preserves the number of represented link components.
Exchanging the two marking types preserves the number of represented link components.
Row relabeling preserves whether a grid diagram represents a knot.
Column relabeling preserves whether a grid diagram represents a knot.
Exchanging two columns preserves whether a grid diagram represents a knot.
Exchanging two columns of a knot grid gives a knot grid.
Diagonal reflection preserves whether a grid diagram represents a knot.
Half-turn rotation preserves whether a grid diagram represents a knot.
Exchanging the two marking types preserves whether a grid diagram represents a knot.