GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
% This file was created automatically from about.msk.1% DO NOT EDIT!2\Chapter{About this package}34The {\RDS} package is meant to help with complete searches for5relative difference sets in non-abelian groups. Of course, it also6works for abelian groups, but no special features are implemented for7this case. In particular, there is no support for multipliers.89{\RDS} has no undocumented functions. While this is generally regarded10as a feature, it leads to a quite long manual and a lot of11documentation not needed for everyday work. To make reading easier,12all but the basic chapters contain a small introductory paragraph13pointing out which functions may be interesting for the user and which14are merely helper functions called by other functions.1516The structure of this manual is a follows: First, there is a chapter17about brute force methods which are easy to use but are not suitable18for very difficult calculations.1920Then, chapter "RDS:A basic example" shows the use of the more advanced21methods in \package{RDS} and explains the basic idea of a complete22search for difference sets with this package. After reading this23chapter, you should be able to use \package{RDS} even for large24examples.2526The following chapters "RDS:General concepts" and "RDS:Invariants for27Difference Sets" contain the documentation of the functions used in a28search for difference sets. They explain the concepts and low level29functions which provide a lot of control over the searching process. If30you are searching for difference sets in several groups of the same31order, you may find this helpful.3233The next chapter shows an example of calculating a relative34difference set using low level functions.3536Chapter "RDS:Ordered Signatures" introduces another invariant for37difference sets. The functions for calculating this invariant do only38work effectively in a few cases, so this part of \package{RDS} is a39little bit experimental. However, the invariant is very powerful, so40this chapter is kept.4142In "RDS:Block Designs and Projective Planes", the methods for43generating a BlockDesign in the sense of \package{DESIGN} \cite{DESIGN} from a44difference set are described. A few functions for analyzing projective45planes are given as well.4647The final chapter describes a few functions which are not related to48difference sets and may be useful in other situations.4950%%%%%%%%%%%%%%%%%%%%%%51\Section{Acknowledgements}5253I would like to thank U.~Dempwolff for supervising the thesis out of54which \package{RDS} grew, and L.~Soicher for many suggestions which55greatly improved the usability of this package.565758%%%%%%%%%%%%%%%%%%%%%%59\Section{Installation}6061\package{RDS} depends on Leonard Soicher's \package{DESIGN} \cite{DESIGN} package62which, in turn, depends on \package{GRAPE} \cite{GRAPE}. You need to install these63packages before you can run \package{RDS}.6465\beginlist%ordered{1}66\item{1.} Download the package archive rds$ ver$ .$ ext$67where $ver$ is some version number and $ext$ is an extension like tar.bz2,68tar.gz, -win.zip or zoo.697071\item{2.} Copy the archive to the directory where the other packages live.72This is either the directory `pkg' in the GAP root path or a local directory in your home73directory (on most unix-like systems, this will probably be {`\~{}/gap/pkg/'}).7475\item{3.} change directory to your package directory and unpack the76archive by using the right one of the following commands:77%78\itemitem{} %unordered{}79tar -xjf rds<ver>.tar.bz280\itemitem{}tar -xzf rds<ver>.tar.gz81\itemitem{}zoo -extract rds<ver>.zoo82\itemitem{}unzip rds<ver>-win.zip8384(replace $ver$ with the version number)8586\item{4.}%ordered{}87start GAP. If you have unpacked the archive to 'gap/pkg' in your88home directory, you might have to use ''gap -l '$homedir$/gap;' ''89where $homedir$ is the path of your home directory (use 'pwd' to90find out what it is, if you don't know it)9192\item{5.} Type `LoadPackage("rds");' to load \package{RDS}9394\endlist95%96For a test, see the examples in chapters "RDS:AllDiffsets and97OneDiffset" and "RDS:A basic example".9899%%%%%%%%%%%%%%%%%%%%%%100\Section{Verbosity}101102There are two info classes that control the about of additional103information \package{RDS} prints:104105\>`InfoRDS' V106107Some methods of the RDS package print additional information if `InfoRDS'108is set to a level of 1 or higher. At level 0, no information is output.109The default value is 1.110111112\>`DebugRDS' V113114Some methods of the RDS package print additional information if `DebugRDS'115is set to a level of 1 or higher. At level 0, no information is output.116The default level is 0. Expect a lot of output at level 2.117118119120121122%%%%%%%%%%%%%%%%%%%%%%123\Section{Definitions and Objects}124125This section lists the definition of ordinary and relative difference126sets as well as the concept of partial difference sets and their127development. This will be repeated in "RDS:Introduction" where a128notion of equivalence is introduced and the implementation in129\package{RDS} is discussed.130131%\input rdsshort132Let $G$ be a finite group and $N\subseteq G$. The set $R\subseteq G$133with $|R|=k$ is called a ``relative difference set of order134$k-\lambda$ relative to the forbidden set $N$'' if the following135properties hold:136137\beginlist%ordered{(a)}138\item{(a)} The multiset $\{ a.b^{-1}\colon a,b\in R\}$ contains139every nontrivial ($\neq 1$) element of $G-N$ exactly $\lambda$140times.141\item{(b)} $\{ a.b^{-1}\colon a,b\in R\}$ does not contain142any non-trivial element of $N$.143\endlist144145Let $D\subseteq G$ be a difference set, then the incidence structure146with points $G$ and blocks $\{Dg\;|\;g\in G\}$ is called the147*development* of $D$. In short: ${\rm dev} D$. Obviously, $G$ acts on148${\rm dev}D$ by multiplication from the right.149150Relative difference sets with $N=1$ are called (ordinary) difference151sets. The development of a difference set with $N=1$ and $\lambda=1$152is projective plane of order $k-1$.153154In group ring notation a relative difference set satisfies155$$156RR^{-1}=k+\lambda(G-N).157$$158159The set $D\subseteq G$ is called *partial relative difference set*160with forbidden set $N$, if161$$162DD^{-1}=\kappa+\sum_{g\in G-N}v_gg163$$164165holds for some $1\leq\kappa\leq k$ and $0\leq v_g \leq \lambda$ for166all $g\in G-N$. If $D$ is a relative difference set then ,obviously,167$D$ is also a partial relative difference set.168169170*IMPORTANT NOTE*171172\package{RDS} implicitly assumes that the *every* partial difference173set contains the identity element (see the notion of equivalence in174"RDS:Introduction" for the mathematical reason). However, the identity175*must not* be contained in the lists representing partial relative176difference sets.177178So in \package{RDS}, the difference set `[ (), (1,2,3,4,5,6,7),179(1,4,7,3,6,2,5) ]' is represented by the list `[ (1,2,3,4,5,6,7),180(1,4,7,3,6,2,5) ]'. And no set of three non-trivial permutations will181be accepted as an ordinary difference set of `Group((1,2,3,4,5,6,7))'.182183For this reason the lists returned by functions like "AllDiffsets" do184only contain non-trivial elements and look too short.185186187188%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%189%%190%E ENDE191%%192193194195196