<Chapter><Heading> Knots and Quandles </Heading>

<Table Align="|l|" >

<Row >
<Item> Knots </Item>
</Row>

<Row>
<Item>
<Index> PresentationKnotQuandle</Index>
<C>PresentationKnotQuandle(gaussCode) </C>
<P/>

Inputs a Gauss Code of a knot (with the orientations; see <M>GaussCodeOfPureCubicalKnot</M> in HAP package) and outputs the generators and relators of the knot quandle associated (in the form of a record).
</Item>
</Row>

<Row>
<Item>
<Index> PD2GC</Index>
<C>PD2GC(PD) </C>
<P/>

Inputs a Planar Diagram of a knot; outputs the Gauss Code associated (with the orientations).
</Item>
</Row>

<Row>
<Item>
<Index>PlanarDiagramKnot</Index>
<C>PlanarDiagramKnot(n,k) </C>
<P/>

Returns a Planar Diagram for the <M>k</M>-th knot with <M>n</M> crossings (<M>n</M>&le;<M>12</M>) if it exists; fail otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> GaussCodeKnot</Index>
<C>GaussCodeKnot(n,k) </C>
<P/>

Returns a Gauss Code (with orientations) for the <M>k</M>-th knot with <M>n</M> crossings (<M>n</M>&le;<M>12</M>) if it exists; fail otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> PresentationKnotQuandleKnot</Index>
<C>PresentationKnotQuandleKnot(n,k) </C>
<P/>

Returns generators and relators (in the form of a record) for the <M>k</M>-th knot with <M>n</M> crossings (<M>n</M>&le;<M>12</M>) if it exists; fail otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> NumberOfHomomorphisms</Index>
<C>NumberOfHomomorphisms(genRelQ,finiteQ) </C>
<P/>

Inputs generators and relators <M>genRelQ</M> of a knot quandle (in the form of a record, see above) and a finite quandle <M>finiteQ</M>; outputs the number of homomorphisms from the former to the latter.
</Item>
</Row>

<Row>
<Item>
<Index> PartitionedNumberOfHomomorphisms</Index>
<C>PartitionedNumberOfHomomorphisms(genRelQ,finiteQ) </C>
<P/>

Inputs generators and relators <M>genRelQ</M> of a knot quandle (in the form of a record, see above) and a finite connected quandle <M>finiteQ</M>; outputs a partition of the number of homomorphisms from the former to the latter.
</Item>
</Row>

<Row >
<Item> Quandles </Item>
</Row>

<Row>
<Item>
<Index> ConjugationQuandle</Index>
<C>ConjugationQuandle(G,n) </C>
<P/>

Inputs a finite group <M>G</M> and an integer <M>n</M>; outputs the associated <M>n</M>-fold conjugation quandle.
</Item>
</Row>

<Row>
<Item>
<Index> QuandleAxiomIsSatisfied</Index>
<C>FirstQuandleAxiomIsSatisfied(M) </C>
<Br/>
<C>SecondQuandleAxiomIsSatisfied(M) </C>
<Br/>
<C>ThirdQuandleAxiomIsSatisfied(M) </C>
<P/>

Inputs a finite magma <M>M</M>; returns true if <M>M</M> satisfy the first/second/third axiom of a quandle, false otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> IsQuandle</Index>
<C> IsQuandle(M) </C>
<P/>

Inputs a finite magma <M>M</M>; returns true if <M>M</M> is a quandle, false otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> Quandles</Index>
<C>Quandles(n) </C>
<P/>

Returns a list of all quandles of size <M>n</M>, <M>n</M>&le;<M>6</M>. If <M>n</M>&ge;<M>7</M>, it returns fail.
</Item>
</Row>

<Row>
<Item>
<Index> Quandle</Index>
<C> Quandle(n,k) </C>
<P/>

Returns the <M>k</M>-th quandle of size <M>n</M> (<M>n</M>&le;<M>6</M>) if such a quandle exists, fail otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> IdQuandle</Index>
<C>IdQuandle(Q) </C>
<P/>

Inputs a quandle <M>Q</M>; and outputs a list of integers [<M>n</M>,<M>k</M>] such that <M>Q</M> is isomorphic to <C>Quandle(n,k)</C>. If <M>n</M>&ge;<M>7</M>, then it returns [<M>n</M>,fail] (where <M>n</M> is the size of <M>Q</M>).
</Item>
</Row>

<Row>
<Item>
<Index> IsLatin</Index>
<C>IsLatin(Q) </C>
<P/>

Inputs a finite quandle <M>Q</M>; returns true if <M>Q</M> is latin, false otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> IsConnectedQuandle</Index>
<C>IsConnectedQuandle(Q) </C>
<P/>

Inputs a finite quandle <M>Q</M>; returns true if <M>Q</M> is connected, false otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> ConnectedQuandles</Index>
<C>ConnectedQuandles(n) </C>
<P/>

Returns a list of all connected quandles of size <M>n</M>.
</Item>
</Row>

<Row>
<Item>
<Index> ConnectedQuandle</Index>
<C>ConnectedQuandle(n,k) </C>
<P/>

Returns the <M>k</M>-th quandle of size <M>n</M> if such a quandle exists, fail otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> IdConnectedQuandle</Index>
<C>IdConnectedQuandle(Q) </C>
<P/>

Inputs a connected quandle <M>Q</M>; and outputs a list of integers [<M>n</M>,<M>k</M>] such that <M>Q</M> is isomorphic to <C>ConnectedQuandle(n,k)</C>.
</Item>
</Row>

<Row>
<Item>
<Index> IsQuandleEnvelope</Index>
<C>IsQuandleEnvelope(Q,G,e,stigma) </C>
<P/>

Inputs a set <M>Q</M>, a permutation group <M>G</M>, an element <M>e</M> &isin; <M>Q</M> and an element <M>stigma </M> &isin; <M>G</M>; returns true if this structure describes a quandle envelope, false otherwise.
</Item>
</Row>

<Row>
<Item>
<Index> QuandleQuandleEnveloppe</Index>
<C> QuandleQuandleEnveloppe(Q,G,e,stigma) </C>
<P/>

Inputs a set <M>Q</M>, a permutation group <M>G</M>, an element <M>e</M> &isin; <M>Q</M> and an element <M>stigma</M> &isin; <M>G</M>.
If this structure describes a quandle envelope, the function returns the quandle from this quandle envelope; and fail otherwise.
Nb: this quandle is a connected quandle.
</Item>
</Row>

<Row>
<Item>
<Index> KnotInvariantCedric</Index>
<C> KnotInvariantCedric(genRelQ,n,m) </C>
<P/>

Inputs generators and relators of a knot quandle (in the form of a record, see above) and two integers <M>n</M> and <M>m</M>; outputs a list [<M>n</M>1,<M>n</M>2,...,<M>n</M>k] where <M>n</M>j is a partition of the number of homomorphisms from the considered knot quandle to the <M>j</M>-th connected quandle of size <M>n</M>&le;<M>i</M>&le;<M>m</M>.
</Item>
</Row>

<Row>
<Item>
<Index> RightMultiplicationGroupAsPerm</Index>
<C>RightMultiplicationGroupAsPerm(Q) </C>
<P/>

Inputs a connected quandle <M>Q</M>; output its right multiplication group whose elements are permutations.
</Item>
</Row>

<Row>
<Item>
<Index> RightMultiplicationGroup</Index>
<C>RightMultiplicationGroup(Q) </C>
<P/>

Inputs a connected quandle <M>Q</M>; output its right multiplication group whose elements are mappings from <M>Q</M> to <M>Q</M>.
</Item>
</Row>

<Row>
<Item>
<Index> AutomorphismGroupQuandleAsPerm</Index>
<C>AutomorphismGroupQuandleAsPerm(Q) </C>
<P/>

Inputs a connected quandle <M>Q</M>; outputs its automorphism group whose elements are permutations.
</Item>
</Row>

<Row>
<Item>
<Index> AutomorphismGroupQuandle</Index>
<C>AutomorphismGroupQuandle(Q)</C>
<P/>

Inputs a connected quandle <M>Q</M>; outputs its automorphism group whose elements are mappings from <M>Q</M> to <M>Q</M>.
</Item>
</Row>


</Table>
</Chapter>
