One could agree on a following convention for describing the same knot by agreeing on what is represented in each dimension:
{{4, 2, 5, 1}, {6, 3, 7, 4}, {8, 6, 1, 5}, {2, 7, 3, 8}}
The first dimension is a list of crossings and the second dimension is a list of edges. The same expression in a FullForm would be
List[List[4, 2, 5, 1], List[6, 3, 7, 4], List[8, 6, 1, 5], List[2, 7, 3, 8]]
You can make your symbolic expressions much more self-explaining, semantic and flexible by using a different head instead of List:
PD[X[4, 2, 5, 1], X[6, 3, 7, 4], X[8, 6, 1, 5], X[2, 7, 3, 8]]
PD and X look like "functions" which do not do anything, but they are useful symbolic wrappers. For example, in some application you could have complex nested structures, you can easily check if the head of a function argument is correct and so on.
KnotTheorypackage and hopefully helps. – Thies Heidecke Sep 22 '18 at 11:22