RAQ/README.md

64 lines
2.5 KiB
Markdown
Raw Normal View History

# RAQ, a GAP System package for Racks And Quandles.
2018-08-01 04:35:36 +00:00
* Website: code.studioinfinity.org/RAQ/wiki
* Repository: code.studioinfinity.org/RAQ
* Authors/maintainers of RAQ: Glen Whitney <glen@studioinfinity.org>
<!--
#! @Chapter Introduction
#! @AutoDocPlainText -->
The RAQ package provides a variety of facilities for constructing and
computing with one-sided quasigroups, racks, and quandles in GAP.
<!--@Section Installation
@AutoDocPlainText -->
RAQ uses no external binaries, so installation consists only of placing its
unpacked file tree in a directory in your package search path, e.g. the pkg
directory of your GAP installation, or perhaps the .gap/pkg subdirectory of
your home directory.
<!--@Acknowledgements
@AutoDocPlainText -->
The authors of RAQ would like to acknowledge their debt to the creators of
2018-08-18 18:00:50 +00:00
RIG, an earlier package for Racks in GAP; chief among them is Leandro
Vendramin. RIG was an inspiration for the creation of RAQ, and using and
reading that package suggested many features needed in the development of
RAQ.
<!--@Chapter Introduction
@Section A first spin
@AutoDocPlainText -->
Perhaps the following GAP interactive session, which constructs the
conjugation quandle of the symmetric group on three elements and then performs
a few simple computations on that quandle, will give the flavor of RAQ. (It is
presumed that the RAQ package has already been loaded with
`LoadPackage("RAQ");` prior to these example commands being executed.
<!--@EndAutoDocPlainText -->
<!--#! @DONT_SCAN_NEXT_LINE -->
Also, please excuse/ignore the `#!` at the beginning of each line in the
example session, they're there just because this file is also used as part of
the RAQ manual produced via AutoDoc.)
<!--We have to close the AutoDoc parenthetical, too: -->
<!--#!)
<!--#!@BeginExampleSession -->
2018-08-19 17:33:07 +00:00
```
#! gap> S3 := SymmetricGroup(3);
#! Sym( [ 1 .. 3 ] )
#! gap> Elements(S3);
#! [ (), (2,3), (1,2), (1,2,3), (1,3,2), (1,3) ]
#! gap> Q3 := ConjugationQuandle(S3);
#! <left quandle with 6 generators>
#! gap> elt := Elements(Q3); # the element ^p: below means conjugation by p in S3
#! [ ^():, ^(2,3):, ^(1,2):, ^(1,2,3):, ^(1,3,2):, ^(1,3): ]
#! gap> elt[4]*elt[3]; # So this will produce (1,2,3)^{-1}(1,2)(1,2,3)
#! ^(2,3):
2018-08-19 17:33:07 +00:00
```
<!--@EndExampleSession
@AutoDocPlainText -->
Note in particular that RAQ generally, unless otherwise specifically
requested, produces __left__ quandles and racks. (That is to say, quandles in
which for any fixed element $l$, the "left-multiplication by $l$" operation
$x\mapsto l*x$ is a permutation of the quandle.)
<!--@EndAutoDocPlainText -->