GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
% This file was created automatically from orderedsigs.msk.1% DO NOT EDIT!2\Chapter{Ordered Signatures}34In this chapter, we will discuss two methods to calculate ordered5signatures. The first one can be used for relative difference sets6with forbidden set, while the second one does only work for ordinary7difference sets.89The methods introduced here can only be used in some special10cases.1112%%%%%%%%%%%%%%%%%%%%%%13\Section{Ordered signatures by quotient images}1415Let $D\subseteq G$ be a relative difference set with parameters16$(v/n,n,k,\lambda)$ and forbidden set $N\subseteq G$. Let $U\leq G$ be17a normal subgroup such that $U\subseteq N$.1819Then the coset signature $(v_1,\dots,v_{|G:U|})$ of $D$ has only the20entries $1$ ($k$- times) and $0$ ($|G:U|-k$- times). And as in chapter21"RDS:Invariants for Difference Sets" we have2223$$24\sum_j v_j v_{ij}=25\lambda(|U|-|g_iU \cap N|){\quad\rm for }\ g_i\not\in U26$$2728where $v_{ij}=|D\cap g_ig_jU|$. If the forbidden set $N$ is a29subgroup of $G$ we have $|g_iU\cap N|$ is either $0$ or equal to30$|U\cap N|=|U|$.3132Let $\phi\colon G\to G/U$ be the canonical epimorphism. Then $D^\phi$33is a relative difference set in $G/U$ with forbidden set $N^\phi$ and34parameters $(v/n,n/|U|,k,|U|\lambda)$.3536So the ordered signatures with respect to $U$ are equivalent to the37relative difference sets in $G/U$. Observe that we may not apply38reduction in $G/U$ using the full automorphismgroup of $G/U$ but only39the group induced by the stabiliser of $U$ in the automorphism group40of $G$. This is due to the fact that we use an ``induced'' notion of41equivalence in $G/U$ because we are interested in signatures and not42primarily in difference sets in $G/U$.4344\>NormalSgsForQuotientImages( <forbidden>, <Gdata> ) O4546calculates all normal subgroups of <Gdata.G> which lie in <forbidden>.47The returned value is a list of normal subgroups which define pairwise48non-isomorphic factor groups.49505152\>DataForQuotientImage( <normal>, <forbidden>, <k>, <lambda>, <Gdata> ) O5354Let <Gdata> be the usual record for a group $G$. And let <k> and <lambda>55be the parameters of the relative difference set we want to find.56Let then <forbidden> be the forbidden set (as a group or a list of group57elements or integers) and <normal> a normal subgroup of $G$ which is58contained in <forbidden>.5960Then `DataForQuotientImage' returns a record containing the record61<.Gdata> of the factor group $G/U$ where the automorphism group is the one62induced by the stabiliser of <normal> in the automorphism group of $G$.63Furthermore the returned record contains the forbidden set <.forbidden> in64$G/U$ and the new parameter <.lambda> for the difference set in $G/U$.65666768The data returned by "DataForQuotientImage" can be used to calculate69difference sets in $G/U$ in the way outlined in chapter "RDS:A basic70example". A quotient image of a relative difference set has a larger71$\lambda$ than the initial difference set. So72"MultiplicityInvariantLargeLambda" can be used as in invariant here73(see "RDS:An invariant for large lambda")74757677After all difference sets are known, they must be converted78into ordered signatures. This is done by the following function:7980\>OrderedSigsFromQuotientImages( <fGroupData>, <qimages>, <forbidden>, <normal>, <Gdata> ) O8182Let <Gdata> be the usual record for a group $G$ and <normal> a normal83subgroup of $G$ which lies in the forbidden set <forbidden>.84Let then <fGroupData> be the record <.Gdata> describing $G/<normal>$ as85returned by "DataForQuotientImage" and <qimages> a set of difference sets86in $G/<normal>$.8788Then `OrderedSigsFromQuotientImages' returns a record containing a list of89ordered signatures <.orderedSigs> and a list of cosets <.cosets> as well as90the factor group <.fg> defined by <fGroupData> and its full automorphism91group <fgaut> and the image of <forbidden> in <.fg> is returned as <.Nfg>.92939495\>MatchingFGDataForOrderedSigs( <forbidden>, <Gdata>, <Normalsgs>, <fgdata> ) O9697Let <fgdata> be a list of records of the form returned by98"OrderedSigsFromQuotientImages" and <Normalsgs> a list of normal subgroups99of the group <Gdata.G>. Furthermore let <forbidden> be the forbidden set100as a list of group elements or integers or a subgroup of <Gdata.G>.101102Then `MatchingFGDataForOrderedSigs' retruns all elements of <fgdata> which103match a normal subgroup of <Normalsgs>. The returned value is a record104containing the normal subgroup <.normal> from <Normalsgs>, the record105<.sigdata> from <fgdata> and a homomorphism <.hom> which maps <Gdata.G>106onto <.sigdata.Gdata.G> and takes <forbidden> to <.sigdata.Nfg>.107108109110\>OrderedSigInvariant( <set>, <data> ) O111112does the same as "SigInvariant", but for ordered signatures. Here <data>113has to be a list of records containing ordered signatures called114<.orderedSigs> and cosets <.cosets> just as returned by115"OrderedSigsFromQuotientImages".116117118119Assume we have calculated ordered signatures and have stored them in a120record <.osigs> and a list <normalSubgroupsData> as returned by121"SignatureData" containing the admissible signatures. A function for122partitioning partial relative difference sets as required by123"ReducedStartsets" can be defined as follows:124125\begintt126partitionfunc:=function(list)127local si, osi;128si:=SigInvariant(Union(list,[1]),normalSubgroupsData);129osi:=OrderedSigInvariant(Union(list,[1]),[osigs]);130if osi=fail or si=fail131then132return fail;133else134return si;135fi;136end;137\endtt138139%%%%%%%%%%%%%%%%%%%%%%140\Section{Ordered signatures using representations}141142This section contains some methods for ordered signatures in ordinary143difference sets. Unfortunately, these methods are not as comfortable144as those for unordered signatures. The reason for this is simply that145I didn't have any time to tie them together to high-level functions.146If you need help here, don't hesitate to contact me.147148149%%%%%%%%%%%%%%%%%%%%%%%%%150\Section{Definition}151152Let $R \subseteq G$ be a (partial) ordinary difference set (for153definition see "RDS:Introduction"). Let $U\leq G$ be a normal subgroup and154$C=\{g_1,\dots, g_{|G:U|}\}$ be a system of representatives of $G/U$.155156As in "RDS:The Coset Signature" we may define the coset signature of $R$157relative to $U$.158159Let $U=g_1,\dots,g_{|G:U|}$ be an enumeration of $G/U$. An160``admissible ordered signature'' for $U$ is a tuple161$(v_1,\dots,v_{|G:U|})$ such that162163$$164\matrix{165\sum v_i=k\cr166\sum v_i^2=\lambda(|U|-1)+k\cr167\sum_j v_j v_{ij}=168\lambda(|U|-1)&{\rm for }\ g_i\not\in U}169$$170171holds where we index the $v_i$ by elements of $G/U$, so $v_i=v_{g_i}$172and write $v_{ij}=v_{g_ig_j}$. Observe that the third equation is a173restriction on the ordering of the tuple $(v_1,\dots,v_{|G:U|})$. If174$v$ is an admissible ordered signature, then the multiset of $v$ is an175unordered signature.176177Getting ordered admissible signatures from unordered ones can be done178by taking all permutations of the unordered signature and verifying179the above equations. Obviously, this method isn't very satisfying180(nevertheless, the methods for testing unordered signatures from181section "RDS:The Coset Signature" do this to find out if there is an182ordered signature at all. Except that they stop when they find an183ordered signature).184185For ordinary difference sets in extensions of semidirect products of186cyclic groups, ordered signatures may be calculated a lot easier (see187\cite{RoederDiss} for details).188189190%%%%%%%%%%%%%%%%%%%%%%%%%191\Section{Methods for calculating ordered signatures}192193\>NormalSubgroupsForRep( <groupdata>, <divisor> ) O194195Let <groupdata> be the output of "PermutationRepForDiffsetCalculations" and196<divisor> an integer. Then `NormalSubgroupsForRep' calculates all normal197subgroups of <groupdata.G> such that the size of the factor group is divisible198by <divisor> and the factor group is a semidirect product of cyclic groups.199200The output is a record consisting of201\beginlist202\item{1.} a normal subgroup <.Nsg> of <G>203\item{2.} the factor group <.fgrp>:=<G>/<Nsg>204\item{3.} the epimorphism <.epi> from <G> to <.fgrp>205\item{4.} a root of unity <.root>206\item{5.} a galois automorphism <.alpha>207\item{6.+7.} generators of the factor group <G>/<.Nsg> named <.a> and <.b>208such that <.a> is normalized by <.b>.209\item{8} a list <.int2pairtable> such that the $i^{th}$ entry is the pair210<[m,n]> with that <Glist[i]^epi=a^(m-1)\*b^(n-1)>211\endlist212213<.alpha> and <.root> may be used as input for "OrderedSigs"214215216217\>OrderedSigs( <coeffSums>, <absSum>, <alpha>, <root> ) O218219Let $G$ be group which contains a normal subgroup of index $s$ such that220the coset signature for a difference set for this normal subgroup is221<coeffSums>. Let $N$ be a normal subgroup of $G$ such that $G/N$ is a222semidirect product of cyclic group of orders $s,q$ and223$i$ divides the order of $G/N$.224225Then `OrderedSigs(<coeffSums>,<absSum>,<alpha>,<root>)' calculates226all ordered signatures for $N$. Here <root> is a primitive $q$-th root227of unity and <alpha> is a Galois- automorphism of $CS(q)$ with order228dividing $s$. <absSum> is the order of the difference set.229(i.e. $order=k-\lambda$).230231`OrderedSigs' is based on calculations using an $s$-dimensional unitary232representation of $G/N$.233In this representation a subset of $G$ induces a semi-circular matrix.234The returned value is a list of lists $s$-tuples235The entries of the $s$-tuples are coefficients of numbers in236$\Z[<root>]$ such that the semi-circular matrix defined by these numbers237together with <alpha> meets necessary conditions for matrices induced238by difference sets.239To gain the algebraic numbers from the $s$-tuple <tup>, use240`List(<tup>,i->CoeffList2CyclotomicList(i,<root>))'241242Each $|<coeffSums>|$-tuple returned defines an ordered signature. The ordering243of $G/N$ is chosen to fit to the data returned by "NormalSubgroupsForRep":244245$[a^0,a^1,\dots,a^{q-1}],[a^0b,a^1b,\dots,a^{q-1}b],\dots,[a^0b^{s-1},\dots,a^{q-1}b^{s-1}]$246247248249So for the calculation of ordered signatures, smaller ordered250signatures <coeffSums> have to be known. But this is not so bad, as251small signatures are easy to calculate.252The following example shows an application.253254\begintt255gap> G:=SmallGroup(273,3);256<pc group of size 273 with 3 generators>257gap> Gdata:=PermutationRepForDiffsetCalculations(G);;258gap> CosetSignatures(273,273/3,16);259[ [ 3, 7, 7 ] ]260gap> nsgs:=NormalSubgroupsForRep(Gdata,3);261[ rec( Nsg := Group([ f2 ]), alpha := ANFAutomorphism( CF(13), 3 ),262root := E(13), fgrp := Group([ f1, <identity> of ..., f2 ]),263epi := [ f1, f2, f3 ] -> [ f1, <identity> of ..., f2 ], a := f2,264b := f1,265int2pairtable := [ [ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 1 ], [ 1, 3 ],266...267[ 8, 3 ], [ 11, 3 ], [ 5, 2 ], [ 11, 3 ] ] ),268rec( Nsg := Group([ f3 ]), alpha := ANFAutomorphism( CF(7), 2 ),269root := E(7), fgrp := Group([ f1, f2, <identity> of ... ]),270epi := [ f1, f2, f3 ] -> [ f1, f2, <identity> of ... ], a := f2,271b := f1,272int2pairtable := [ [ 1, 1 ], [ 1, 2 ], [ 2, 1 ], [ 1, 1 ], [ 1, 3 ],273...274[ 6, 3 ], [ 4, 3 ], [ 4, 2 ], [ 6, 3 ] ] ) ]275gap> osigs:=OrderedSigs([3,7,7],16,nsgs[2].alpha,nsgs[2].root);276[ [ [ 0, 0, 0, 1, 0, 1, 1 ], [ 0, 0, 1, 2, 2, 0, 2 ], [ 2, 2, 0, 2, 0, 0, 1 ] ],277[ [ 0, 0, 0, 1, 0, 1, 1 ], [ 0, 1, 2, 2, 0, 2, 0 ], [ 2, 0, 0, 1, 2, 2, 0 ] ],278...279[ [ 1, 1, 0, 1, 0, 0, 0 ], [ 2, 2, 1, 0, 0, 2, 0 ], [ 2, 1, 0, 0, 2, 0, 2 ] ] ]280gap> Size(osigs);28198282gap> Set(osigs,g->SortedList(Concatenation(g)));283[ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 ] ]284\endtt285286Note that the signature `[3, 7, 7]' can be assumed to be ordered (by287passing to a suitable translate). So even if we are not interested in288*ordered* signatures, we have found out that there is only one admissible289unordered signature for this normal subgroup. To get this result using290"TestedSignatures" would have taken a *very* long time.291292Of course, ordered signatures can also be used directly.293294\>OrderedSignatureOfSet( set, normal_data ) O295296takes a set <set> of integers (meant to be a partial difference set) and297a list of records as returned by "NormalSubgroupsForRep".298The returned value is a list of lists which is the ordered signature of the299partial difference set <set> and can be compared to the output of "OrderedSigs"300301302303\beginexample304gap> OrderedSignatureOfSet([2,3,4,5],nsgs[2]);305[ [ 1, 1, 1, 0, 0, 0, 0 ], [ 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0 ] ]306\endexample307308%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%309%%310%E311312313