  
  [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  [10Xpq[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 [10Xpq[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 [10Xpq[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  [10Xpq[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 [10Xpq[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  [10Xpq[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 [10Xpq[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 [10Xpq[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
        [10Xpq[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 [10Xpq[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 [10Xpq[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 [10Xpq[110X should not be called
        and  that  an input file with name [3Xfilename[103X (a string), containing the
        commands  necessary  for  the  ANU  [10Xpq[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
        [10Xpq[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 [10Xpq[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 [10Xpq[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 [10Xpq[110X program.
        It  sets  the  maximum number of integer-sized elements to allocate in
        its main storage array. By default, the [10Xpq[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 [10Xpq[110X program. This
        increases  the  efficiency of the computation; it also prevents the [10Xpq[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 [10Xpq[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 [10Xpq[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 [10Xpq[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 [10Xpq[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 [10Xpq[110X program should have the name [3Xstring[103X.[133X
  
