  
  [1X6 [33X[0;0YANUPQ Options[133X[101X
  
  
  [1X6.1 [33X[0;0YOverview[133X[101X
  
  [33X[0;0YIn  this  chapter we describe in detail all the options used by functions of
  the  [5XANUPQ[105X package. Note that by [21Xoptions[121X we mean [5XGAP[105X options that are passed
  to functions after the arguments and separated from the arguments by a colon
  as  described  in Chapter [14XReference: Function Calls[114X in the Reference Manual.
  The  user  is strongly advised to read Section [14X'[33X[0;0YHints and Warnings regarding
  the use of Options[133X'[114X.[133X
  
  [1X6.1-1 AllANUPQoptions[101X
  
  [33X[1;0Y[29X[2XAllANUPQoptions[102X(  ) [32X function[133X
  
  [33X[0;0Ylists all the [5XGAP[105X options defined for functions of the [5XANUPQ[105X package:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAllANUPQoptions();[127X[104X
    [4X[28X[ "AllDescendants", "BasicAlgorithm", "Bounds", "CapableDescendants", [128X[104X
    [4X[28X  "ClassBound", "CustomiseOutput", "Exponent", "Filename", "GroupName", [128X[104X
    [4X[28X  "Identities", "Metabelian", "NumberOfSolubleAutomorphisms", "OrderBound", [128X[104X
    [4X[28X  "OutputLevel", "PcgsAutomorphisms", "PqWorkspace", "Prime", [128X[104X
    [4X[28X  "PrintAutomorphisms", "PrintPermutations", "QueueFactor", [128X[104X
    [4X[28X  "RankInitialSegmentSubgroups", "RedoPcp", "RelativeOrders", "Relators", [128X[104X
    [4X[28X  "SetupFile", "SpaceEfficient", "StandardPresentationFile", "StepSize", [128X[104X
    [4X[28X  "SubList", "TreeDepth", "pQuotient" ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  global variable gives a partial breakdown of where the above
  options are used.[133X
  
  [1X6.1-2 ANUPQoptions[101X
  
  [33X[1;0Y[29X[2XANUPQoptions[102X [32X global variable[133X
  
  [33X[0;0Yis  a  record  of lists of names of admissible [5XANUPQ[105X options, such that each
  field  is  either  the  name  of  a  [21Xkey[121X  [5XANUPQ[105X  function  or  [10Xother[110X  (for a
  miscellaneous  list of functions) and the corresponding value is the list of
  option  names that are admissible for the function (or miscellaneous list of
  functions).[133X
  
  [33X[0;0YAlso,  from  within  a  [5XGAP[105X  session,  you  may  use [5XGAP[105X's help browser (see
  Chapter [14XReference: The Help System[114X in the [5XGAP[105X Reference Manual); to find out
  about any particular [5XANUPQ[105X option, simply type: [21X[10X?option [3Xoption[103X[10X[110X[121X, where [3Xoption[103X
  is one of the options listed above without any quotes, e.g.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X?option Prime[127X[104X
  [4X[32X[104X
  
  [33X[0;0Ywill  display the sections in this manual that describe the [10XPrime[110X option. In
  fact  the first 4 are for the functions that have [10XPrime[110X as an option and the
  last actually describes the option. So follow up by choosing[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X?5[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  is  also  the  pattern for other options (the last section of the list
  always describes the option; the other sections are the functions with which
  the option may be used).[133X
  
  [33X[0;0YIn  the  section  following  we  describe  in  detail  all [5XANUPQ[105X options. To
  continue onto the next section on-line using [5XGAP[105X's help browser, type:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X?>[127X[104X
  [4X[32X[104X
  
  
  [1X6.2 [33X[0;0YDetailed descriptions of ANUPQ Options[133X[101X
  
  [8X[10XPrime := [3Xp[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies that the [22Xp[122X-quotient for the prime [3Xp[103X should be computed.[133X
  
  [8X[10XClassBound := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  the  [22Xp[122X-quotient  to  be computed has lower exponent-[22Xp[122X
        class  at  most [3Xn[103X. If this option is omitted a default of 63 (which is
        the  maximum  possible  for  the  [10Xanu-pq[110X program) is taken, except for
        [10XPqDescendants[110X  (see [2XPqDescendants[102X  ([14X4.4-1[114X))  and  in a special case of
        [10XPqPCover[110X (see [2XPqPCover[102X ([14X4.1-3[114X)). Let [3XF[103X be the argument (or start group
        of  the  process  in  the interactive case) for the function; then for
        [10XPqDescendants[110X  the default is [10XPClassPGroup([3XF[103X[10X) + 1[110X, and for the special
        case of [10XPqPCover[110X the default is [10XPClassPGroup([3XF[103X[10X)[110X.[133X
  
  [8X[10XpQuotient := [3XQ[103X[8X[10X[110X[8X [108X
        [33X[0;6YThis option is only available for the standard presentation functions.
        It  specifies  that a [22Xp[122X-quotient of the group argument of the function
        or  group of the process is the pc [3Xp[103X-group [3XQ[103X, where [3XQ[103X is of class [13Xless
        than[113X  the  provided  (or default) value of [10XClassBound[110X. If [10XpQuotient[110X is
        provided,  then  the  option  [10XPrime[110X  if also provided, is ignored; the
        prime [3Xp[103X is discovered by computing [10XPrimePGroup([3XQ[103X[10X)[110X.[133X
  
  [8X[10XExponent := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  the  [22Xp[122X-quotient to be computed has exponent [3Xn[103X. For an
        interactive  process, [10XExponent[110X defaults to a previously supplied value
        for  the process. Otherwise (and non-interactively), the default is 0,
        which means that no exponent law is enforced.[133X
  
  [8X[10XRelators := [3Xrels[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that the relators sent to the [10Xanu-pq[110X program should be [3Xrels[103X
        instead of the relators of the argument group [3XF[103X (or start group in the
        interactive  case)  of  the calling function; [3Xrels[103X should be a list of
        [13Xstrings[113X  in  the  string representations of the generators of [3XF[103X, and [3XF[103X
        must be an [13Xfp group[113X (even if the calling function accepts a pc group).
        This  option  provides a way of giving relators to the [10Xanu-pq[110X program,
        without  having them pre-expanded by [5XGAP[105X, which can sometimes effect a
        performance  loss  of  the  order  of  100  (see Section [14X'[33X[0;0YThe Relators
        Option[133X'[114X).[133X
  
        [33X[0;6Y[13XNotes[113X[133X
  
        [31X1[131X   [33X[0;12YThe  [10Xanu-pq[110X program does not use [10X/[110X to indicate multiplication by
              an  inverse  and uses square brackets to represent (left normed)
              commutators.  Also,  even  though  the  [10Xanu-pq[110X  program  accepts
              relations,  all elements of [3Xrels[103X [13Xmust[113X be in relator form, i.e. a
              relation  of form [10X[3Xw1[103X[10X = [3Xw2[103X[10X[110X must be written as [10X[3Xw1[103X[10X*([3Xw2[103X[10X)^-1[110X and then
              put  in  a  pair  of  double-quotes to make it a string. See the
              example below.[133X
  
        [31X2[131X   [33X[0;12YTo  ensure  there  are no syntax errors in [3Xrels[103X, each relator is
              parsed  for  validity via [10XPqParseWord[110X (see [2XPqParseWord[102X ([14X3.4-3[114X)).
              If  they  are  ok,  a  message to say so is [10XInfo[110X-ed at [10XInfoANUPQ[110X
              level 2.[133X
  
  [8X[10XMetabelian[110X[8X [108X
        [33X[0;6YSpecifies  that the largest metabelian [22Xp[122X-quotient subject to any other
        conditions  specified by other options be constructed. By default this
        restriction is not enforced.[133X
  
  [8X[10XGroupName := [3Xname[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  the  [10Xanu-pq[110X  program should refer to the group by the
        name  [3Xname[103X  (a string). If [10XGroupName[110X is not set and the group has been
        assigned  a  name  via  [10XSetName[110X (see [14XReference: Name[114X) it is set as the
        name  the  [10Xanu-pq[110X  program  should  use.  Otherwise,  the [21Xgeneric[121X name
        [10X"[grp]"[110X is set as a default.[133X
  
  [8X[10XIdentities := [3Xfuncs[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that the pc presentation should satisfy the laws defined by
        each  function  in  the  list  [3Xfuncs[103X. This option may be called by [10XPq[110X,
        [10XPqEpimorphism[110X, or [10XPqPCover[110X (see [2XPq[102X ([14X4.1-1[114X)). Each function in the list
        [3Xfuncs[103X  must return a word in its arguments (there may be any number of
        arguments).  Let  [3Xidentity[103X be one such function in [3Xfuncs[103X. Then as each
        lower  exponent  [3Xp[103X-class  quotient  is  formed, instances [22X[3Xidentity[103X([3Xw1[103X,
        dots,  [3Xwn[103X)[122X  are  added  as  relators to the pc presentation, where [22X[3Xw1[103X,
        dots, [3Xwn[103X[122X are words in the pc generators of the quotient. At each class
        the class and number of pc generators is [10XInfo[110X-ed at [10XInfoANUPQ[110X level 1,
        the  number  of  instances  is  [10XInfo[110X-ed  at [10XInfoANUPQ[110X level 2, and the
        instances  that  are  evaluated  are  [10XInfo[110X-ed at [10XInfoANUPQ[110X level 3. As
        usual  timing information is [10XInfo[110X-ed at [10XInfoANUPQ[110X level 2; and details
        of  the  processing of each instance from the [10Xanu-pq[110X program (which is
        often  quite  [13Xvoluminous[113X)  is  [10XInfo[110X-ed  at  [10XInfoANUPQ[110X level 3. Try the
        examples  [10X"B2-4-Id"[110X  and [10X"11gp-3-Engel-Id"[110X which demonstrate the usage
        of the [10XIdentities[110X option; these are run using [10XPqExample[110X (see [2XPqExample[102X
        ([14X3.4-4[114X)).  Take  note  of  Note  1. below  in  relation to the example
        [10X"B2-4-Id"[110X; the companion example [10X"B2-4"[110X generates the same group using
        the  [10XExponent[110X  option.  These  examples  are  discussed  at  length in
        Section [14X'[33X[0;0YThe Identities Option and PqEvaluateIdentities Function[133X'[114X.[133X
  
        [33X[0;6Y[13XNotes[113X[133X
  
        [31X1[131X   [33X[0;12YSetting  the  [10XInfoANUPQ[110X  level  to  3  or  more when setting the
              [10XIdentities[110X option may slow down the computation considerably, by
              overloading [5XGAP[105X with io operations.[133X
  
        [31X2[131X   [33X[0;12YThe  [10XIdentities[110X  option  is  implemented  at  the  [5XGAP[105X level. An
              identity  that is just an exponent law should be specified using
              the  [10XExponent[110X option (see [2Xoption Exponent[102X), which is implemented
              at  the  C  level  and  is  highly optimised and so is much more
              efficient.[133X
  
        [31X3[131X   [33X[0;12YThe   number  of  instances  of  each  identity  tends  to  grow
              combinatorially  with  the class. So [13Xcare[113X should be exercised in
              using  the  [10XIdentities[110X  option, by including other restrictions,
              e.g. by using the [10XClassBound[110X option (see [2Xoption ClassBound[102X).[133X
  
  [8X[10XOutputLevel := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  the level of [21Xverbosity[121X of the information output by the ANU
        [10Xanu-pq[110X  program when computing a pc presentation; [3Xn[103X must be an integer
        in  the  range  0  to 3. [10XOutputLevel := 0[110X displays at most one line of
        output  and  is  the  default;  [10XOutputLevel  :=  1[110X  displays (usually)
        slightly  more  output  and  [10XOutputLevel[110Xs of 2 and 3 are two levels of
        verbose  output.  To  see  these messages from the [10Xanu-pq[110X program, the
        [10XInfoANUPQ[110X level must be set to at least 1 (see [2XInfoANUPQ[102X ([14X3.3-1[114X)). See
        Section [14X'[33X[0;0YHints  and  Warnings  regarding  the  use  of Options[133X'[114X for an
        example of how [10XOutputLevel[110X can be used as a troubleshooting tool.[133X
  
  [8X[10XRedoPcp[110X[8X [108X
        [33X[0;6YSpecifies  that  the  current  pc  presentation  (for  an  interactive
        process)  stored  by  the  [10Xanu-pq[110X  program  be scrapped and clears the
        current  values stored for the options [10XPrime[110X, [10XClassBound[110X, [10XExponent[110X and
        [10XMetabelian[110X  and  also clears the [10XpQuotient[110X, [10XpQepi[110X and [10XpCover[110X fields of
        the data record of the process.[133X
  
  [8X[10XSetupFile := [3Xfilename[103X[8X[10X[110X[8X [108X
        [33X[0;6YNon-interactively,  this  option  directs  that  [10Xanu-pq[110X  should not be
        called  and  that  an  input  file  with  name  [3Xfilename[103X  (a  string),
        containing  the  commands  necessary for the ANU [10Xanu-pq[110X standalone, be
        constructed.  The commands written to [3Xfilename[103X are also [10XInfo[110X-ed behind
        a  [21X[10XToPQ>  [110X[121X prompt at [10XInfoANUPQ[110X level 4 (see [2XInfoANUPQ[102X ([14X3.3-1[114X)). Except
        in  the  case  following,  the  calling  function returns [9Xtrue[109X. If the
        calling function is the non-interactive version of one of [10XPq[110X, [10XPqPCover[110X
        or  [10XPqEpimorphism[110X  and the group provided as argument is trivial given
        with  an  empty  set  of generators, then no setup file is written and
        [9Xfail[109X  is  returned  (the [10Xanu-pq[110X program cannot do anything useful with
        such a group). Interactively, [10XSetupFile[110X is ignored.[133X
  
        [33X[0;6Y[13XNote:[113X  Since  commands  emitted  to  the  [10Xanu-pq[110X program may depend on
        knowing  what  the  [21Xcurrent  state[121X is, to form a setup file some [21Xclose
        enough  guesses[121X may sometimes be necessary; when this occurs a warning
        is  [10XInfo[110X-ed  at [10XInfoANUPQ[110X or [10XInfoWarning[110X level 1. To determine whether
        the  [21Xclose enough guesses[121X give an accurate setup file, it is necessary
        to  run the command without the [10XSetupFile[110X option, after either setting
        the  [10XInfoANUPQ[110X  level to at least 4 (the setup file script can then be
        compared  with  the  [21X[10XToPQ>  [110X[121X  commands  that are [10XInfo[110X-ed) or setting a
        [10Xanu-pq[110X command log file by using [10XToPQLog[110X (see [2XToPQLog[102X ([14X3.4-7[114X)).[133X
  
  [8X[10XPqWorkspace := [3Xworkspace[103X[8X[10X[110X[8X [108X
        [33X[0;6YNon-interactively,  this  option  sets  the  memory used by the [10Xanu-pq[110X
        program.  It  sets  the  maximum  number  of integer-sized elements to
        allocate  in  its  main  storage array. By default, the [10Xanu-pq[110X program
        sets  this  figure to 10000000. Interactively, [10XPqWorkspace[110X is ignored;
        the  memory  used  in  this case may be set by giving [10XPqStart[110X a second
        argument (see [2XPqStart[102X ([14X5.1-1[114X)).[133X
  
  [8X[10XPcgsAutomorphisms[110X[8X [108X
  [8X[10XPcgsAutomorphisms := false[110X[8X [108X
        [33X[0;6YLet [3XG[103X be the group associated with the calling function (or associated
        interactive  process).  Passing the option [10XPcgsAutomorphisms[110X without a
        value   (or  equivalently  setting  it  to  [9Xtrue[109X),  specifies  that  a
        polycyclic  generating sequence for the automorphism group (which must
        be  [13Xsoluble[113X)  of [3XG[103X, be computed and passed to the [10Xanu-pq[110X program. This
        increases  the  efficiency  of  the  computation; it also prevents the
        [10Xanu-pq[110X from calling [5XGAP[105X for orbit-stabilizer calculations. By default,
        [10XPcgsAutomorphisms[110X   is  set  to  the  value  returned  by  [10XIsSolvable(
        AutomorphismGroup(  [3XG[103X[10X  )  )[110X,  and  uses the package [5XAutPGrp[105X to compute
        [10XAutomorphismGroup( [3XG[103X[10X )[110X if it is installed. This flag is set to [9Xtrue[109X or
        [9Xfalse[109X  in  the  background  according  to  the  above criterion by the
        function  [10XPqDescendants[110X  (see [2XPqDescendants[102X  ([14X4.4-1[114X) and [2XPqDescendants[102X
        ([14X5.3-6[114X)).[133X
  
        [33X[0;6Y[13XNote:[113X If [10XPcgsAutomorphisms[110X is used when the automorphism group of [3XG[103X is
        insoluble, an error message occurs.[133X
  
  [8X[10XOrderBound := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  only  descendants  of  size at most [22Xp^[3Xn[103X[122X, where [3Xn[103X is a
        non-negative  integer,  be  generated.  Note  that you cannot set both
        [10XOrderBound[110X and [10XStepSize[110X.[133X
  
  [8X[10XStepSize := [3Xn[103X[8X[10X[110X[8X [108X
  [8X[10XStepSize := [3Xlist[103X[8X[10X[110X[8X [108X
        [33X[0;6YFor a positive integer [3Xn[103X, [10XStepSize[110X specifies that only those immediate
        descendants  which  are a factor [22Xp^[3Xn[103X[122X bigger than their parent group be
        generated.[133X
  
        [33X[0;6YFor  a  list [3Xlist[103X of positive integers such that the sum of the length
        of  [3Xlist[103X  and  the  exponent-[22Xp[122X  class of [3XG[103X is equal to the class bound
        defined by the option [10XClassBound[110X, [10XStepSize[110X specifies that the integers
        of [3Xlist[103X are the step sizes for each additional class.[133X
  
  [8X[10XRankInitialSegmentSubgroups := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSets  the  rank  of  the  initial  segment subgroup chosen to be [3Xn[103X. By
        default, this has value 0.[133X
  
  [8X[10XSpaceEfficient[110X[8X [108X
        [33X[0;6YSpecifies  that  the  [10Xanu-pq[110X  program performs certain calculations of
        [22Xp[122X-group generation more slowly but with greater space efficiency. This
        flag  is  frequently  necessary  for groups of large Frattini quotient
        rank.  The  space saving occurs because only one permutation is stored
        at   any   one   time.   This   option   is   only  available  if  the
        [10XPcgsAutomorphisms[110X  flag is set to [9Xtrue[109X (see [2Xoption PcgsAutomorphisms[102X).
        For  an  interactive  process, [10XSpaceEfficient[110X defaults to a previously
        supplied  value  for  the  process. Otherwise (and non-interactively),
        [10XSpaceEfficient[110X is by default [9Xfalse[109X.[133X
  
  [8X[10XCapableDescendants[110X[8X [108X
        [33X[0;6YBy  default, [13Xall[113X (i.e. capable and terminal) descendants are computed.
        If  this  flag  is set, only capable descendants are computed. Setting
        this   option   is  equivalent  to  setting  [10XAllDescendants  :=  false[110X
        (see [2Xoption  AllDescendants[102X),  except  if  both [10XCapableDescendants[110X and
        [10XAllDescendants[110X are passed, [10XAllDescendants[110X is essentially ignored.[133X
  
  [8X[10XAllDescendants := false[110X[8X [108X
        [33X[0;6YBy  default,  [13Xall[113X  descendants are constructed. If this flag is set to
        [9Xfalse[109X,  only  capable descendants are computed. Passing [10XAllDescendants[110X
        without  a  value  (which  is  equivalent  to  setting  it to [9Xtrue[109X) is
        superfluous.  This  option is provided only for backward compatibility
        with  the  [5XGAP[105X  3  version  of  the  [5XANUPQ[105X  package,  where by default
        [10XAllDescendants[110X  was  set to [9Xfalse[109X (rather than [9Xtrue[109X). It is preferable
        to use [10XCapableDescendants[110X (see [2Xoption CapableDescendants[102X).[133X
  
  [8X[10XTreeDepth := [3Xclass[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies     that     the     descendants     tree    developed    by
        [10XPqDescendantsTreeCoclassOne[110X  (see [2XPqDescendantsTreeCoclassOne[102X ([14XA.4-1[114X))
        should be extended to class [3Xclass[103X, where [3Xclass[103X is a positive integer.[133X
  
  [8X[10XSubList := [3Xsub[103X[8X[10X[110X[8X [108X
        [33X[0;6YSuppose  that  [3XL[103X is the list of descendants generated, then for a list
        [3Xsub[103X of integers this option causes [10XPqDescendants[110X to return [10XSublist( [3XL[103X[10X,
        [3Xsub[103X[10X )[110X. If an integer [3Xn[103X is supplied, [10XPqDescendants[110X returns [10X[3XL[103X[10X[[3Xn[103X[10X][110X.[133X
  
  [8X[10XNumberOfSolubleAutomorphisms := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies that the number of soluble automorphisms of the automorphism
        group supplied by [10XPqPGSupplyAutomorphisms[110X (see [2XPqPGSupplyAutomorphisms[102X
        ([14X5.9-1[114X))  in  a  [22Xp[122X-group generation calculation is [3Xn[103X. By default, [3Xn[103X is
        taken to be [22X0[122X; [3Xn[103X must be a non-negative integer. If [22X[3Xn[103X ≥ 0[122X then a value
        for the option [10XRelativeOrders[110X (see [14X6.2[114X) must also be supplied.[133X
  
  [8X[10XRelativeOrders := [3Xlist[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  the  relative  orders  of  each soluble automorphism of the
        automorphism     group     supplied     by     [10XPqPGSupplyAutomorphisms[110X
        (see [2XPqPGSupplyAutomorphisms[102X   ([14X5.9-1[114X))   in   a   [22Xp[122X-group  generation
        calculation.  The list [3Xlist[103X must consist of [3Xn[103X positive integers, where
        [3Xn[103X  is  the value of the option [10XNumberOfSolubleAutomorphisms[110X (see [14X6.2[114X).
        By default [3Xlist[103X is empty.[133X
  
  [8X[10XBasicAlgorithm[110X[8X [108X
        [33X[0;6YSpecifies  that an algorithm that the [10Xanu-pq[110X program calls its [21Xdefault[121X
        algorithm be used for [22Xp[122X-group generation. By default this algorithm is
        [13Xnot[113X  used.  If  this  option  is  supplied  the  settings  of  options
        [10XRankInitialSegmentSubgroups[110X,  [10XAllDescendants[110X,  [10XExponent[110X and [10XMetabelian[110X
        are ignored.[133X
  
  [8X[10XCustomiseOutput := [3Xrec[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  fine  tuning of the output is desired. The record [3Xrec[103X
        should have any subset (or all) of the the following fields:[133X
  
        [8X[10Xperm := [3Xlist[103X[8X[10X[110X[8X[108X
              [33X[0;12Ywhere  [3Xlist[103X  is  a  list of booleans which determine whether the
              permutation  group  output  for  the  automorphism  group should
              contain:   the   degree,   the   extended   automorphisms,   the
              automorphism matrices, and the permutations, respectively.[133X
  
        [8X[10Xorbit := [3Xlist[103X[8X[10X[110X[8X[108X
              [33X[0;12Ywhere  [3Xlist[103X  is  a  list of booleans which determine whether the
              orbit  output  of  the  action  of the automorphism group should
              contain:   a   summary,   and  a  complete  listing  of  orbits,
              respectively.  (It's  possible  to  have  [13Xboth[113X  a  summary and a
              complete listing.)[133X
  
        [8X[10Xgroup := [3Xlist[103X[8X[10X[110X[8X[108X
              [33X[0;12Ywhere  [3Xlist[103X  is  a  list of booleans which determine whether the
              group  output  should  contain:  the  standard  matrix  of  each
              allowable  subgroup,  the  presentation  of  reduced  [22Xp[122X-covering
              groups,  the  presentation of immediate descendants, the nuclear
              rank   of   descendants,   and   the   [22Xp[122X-multiplicator  rank  of
              descendants, respectively.[133X
  
        [8X[10Xautgroup := [3Xlist[103X[8X[10X[110X[8X[108X
              [33X[0;12Ywhere  [3Xlist[103X  is  a  list of booleans which determine whether the
              automorphism group output should contain: the commutator matrix,
              the  automorphism  group  description  of  descendants,  and the
              automorphism group order of descendants, respectively.[133X
  
        [8X[10Xtrace := [3Xval[103X[8X[10X[110X[8X[108X
              [33X[0;12Ywhere  [3Xval[103X  is a boolean which if [9Xtrue[109X specifies algorithm trace
              data  is  desired.  By default, one does not get algorithm trace
              data.[133X
  
        [33X[0;6YNot  providing  a  field  (or  mis-spelling  it!),  specifies that the
        default  output  is  desired.  As a convenience, [10X1[110X is also accepted as
        [9Xtrue[109X, and any value that is neither [10X1[110X nor [9Xtrue[109X is taken as [9Xfalse[109X. Also
        for  each  [3Xlist[103X  above, an unbound list entry is taken as [9Xfalse[109X. Thus,
        for example[133X
  
  [4X      [32X  Example  [32X[104X
          [4X[28XCustomiseOutput := rec(group := [,,1], autgroup := [,1])[128X[104X
        [4X[32X[104X
  
        [33X[0;6Yspecifies for the group output that only the presentation of immediate
        descendants  is  desired,  for  the automorphism group output only the
        automorphism  group description of descendants should be printed, that
        there  should  be no algorithm trace data, and that the default output
        should be provided for the permutation group and orbit output.[133X
  
  [8X[10XStandardPresentationFile := [3Xfilename[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that the file to which the standard presentation is written
        has  name  [3Xfilename[103X.  If the first character of the string [3Xfilename[103X is
        not  [10X/[110X, [3Xfilename[103X is assumed to be the path of a writable file relative
        to  the  directory in which [5XGAP[105X was started. If this option is omitted
        it  is  written  to  the  file  with the name generated by the command
        [10XFilename(  ANUPQData.tmpdir,  "SPres"  );[110X,  i.e. the  file  with  name
        [10X"SPres"[110X  in  the  temporary  directory  in  which  the  [10Xanu-pq[110X program
        executes.[133X
  
  [8X[10XQueueFactor := [3Xn[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  a  queue  factor  of [3Xn[103X, where [3Xn[103X must be a positive integer.
        This option may be used with [10XPqNextClass[110X (see [2XPqNextClass[102X ([14X5.6-4[114X)).[133X
  
        [33X[0;6YThe queue factor is used when the [10Xanu-pq[110X program uses automorphisms to
        close a set of elements of the [22Xp[122X-multiplicator under their action.[133X
  
        [33X[0;6YThe  algorithm  used  is a spinning algorithm: it starts with a set of
        vectors  in  echelonized  form  (elements  of the [22Xp[122X-multiplicator) and
        closes   the   span   of   these  vectors  under  the  action  of  the
        automorphisms.  For  this  each automorphism is applied to each vector
        and  it  is checked if the result is contained in the span computed so
        far.  If  not,  the  span  becomes bigger and the vector is put into a
        queue  and  the  automorphisms  are  applied to this vector at a later
        stage. The process terminates when the automorphisms have been applied
        to all vectors and no new vectors have been produced.[133X
  
        [33X[0;6YFor  each  new  vector  it  is  decided,  if  its processing should be
        delayed.  If  the vector contains too many non-zero entries, it is put
        into  a  second  queue.  The elements in this queue are processed only
        when there are no elements in the first queue left.[133X
  
        [33X[0;6YThe  queue  factor  is  a  percentage figure. A vector is put into the
        second  queue  if  the  percentage of its non-zero entries exceeds the
        queue factor.[133X
  
  [8X[10XBounds := [3Xlist[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies a lower and upper bound on the indices of a list, where [3Xlist[103X
        is  a pair of positive non-decreasing integers. See [2XPqDisplayStructure[102X
        ([14X5.7-23[114X)  and [2XPqDisplayAutomorphisms[102X ([14X5.7-24[114X) where this option may be
        used.[133X
  
  [8X[10XPrintAutomorphisms := [3Xlist[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies that automorphism matrices be printed.[133X
  
  [8X[10XPrintPermutations := [3Xlist[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies that permutations of the subgroups be printed.[133X
  
  [8X[10XFilename := [3Xstring[103X[8X[10X[110X[8X [108X
        [33X[0;6YSpecifies  that  an output or input file to be written to or read from
        by the [10Xanu-pq[110X program should have the name [3Xstring[103X.[133X
  
