<p>In this chapter we describe in detail all the options used by functions of the <strong class="pkg">ANUPQ</strong> package. Note that by <q>options</q> we mean <strong class="pkg">GAP</strong> options that are passed to functions after the arguments and separated from the arguments by a colon as described in Chapter <a href="../../../doc/ref/chap4_mj.html#X78C70489791FDF43"><span class="RefLink">Reference: Function Calls</span></a> in the Reference Manual. The user is strongly advised to read Section <a href="chap3_mj.html#X7BA20FA07B166B37"><span class="RefLink"><span class="Heading">Hints and Warnings regarding the use of Options</span></span></a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllANUPQoptions</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>lists all the <strong class="pkg">GAP</strong> options defined for functions of the <strong class="pkg">ANUPQ</strong> package:</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ANUPQoptions</code></td><td class="tdright">( global variable )</td></tr></table></div>
<p>is a record of lists of names of admissible <strong class="pkg">ANUPQ</strong> options, such that each field is either the name of a <q>key</q> <strong class="pkg">ANUPQ</strong> function or <code class="code">other</code> (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).</p>
<p>Also, from within a <strong class="pkg">GAP</strong> session, you may use <strong class="pkg">GAP</strong>'s help browser (see Chapter Reference: The Help System in the GAP Reference Manual); to find out about any particular ANUPQ option, simply type: ?option option, where option is one of the options listed above without any quotes, e.g.
<p>will display the sections in this manual that describe the <code class="code">Prime</code> option. In fact the first 4 are for the functions that have <code class="code">Prime</code> as an option and the last actually describes the option. So follow up by choosing</p>
<p>This 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).</p>
<p>In the section following we describe in detail all <strong class="pkg">ANUPQ</strong> options. To continue onto the next section on-line using <strong class="pkg">GAP</strong>'s help browser, type:
<h4>6.2 <span class="Heading">Detailed descriptions of ANUPQ Options</span></h4>
<dl>
<dt><strong class="Mark"><code class="code">Prime := <var class="Arg">p</var></code>
</strong></dt>
<dd><p>Specifies that the <span class="SimpleMath">\(p\)</span>-quotient for the prime <var class="Arg">p</var> should be computed.</p>
</dd>
<dt><strong class="Mark"><code class="code">ClassBound := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies that the <span class="SimpleMath">\(p\)</span>-quotient to be computed has lower exponent-<span class="SimpleMath">\(p\)</span> class at most <var class="Arg">n</var>. If this option is omitted a default of 63 (which is the maximum possible for the <code class="code">pq</code> program) is taken, except for <code class="code">PqDescendants</code> (see <code class="func">PqDescendants</code> (<a href="chap4_mj.html#X80985CC479CD9FA3"><span class="RefLink">4.4-1</span></a>)) and in a special case of <code class="code">PqPCover</code> (see <code class="func">PqPCover</code> (<a href="chap4_mj.html#X81C3CE1E850DA252"><span class="RefLink">4.1-3</span></a>)). Let <var class="Arg">F</var> be the argument (or start group of the process in the interactive case) for the function; then for <code class="code">PqDescendants</code> the default is <code class="code">PClassPGroup(<var class="Arg">F</var>) + 1</code>, and for the special case of <code class="code">PqPCover</code> the default is <code class="code">PClassPGroup(<var class="Arg">F</var>)</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">pQuotient := <var class="Arg">Q</var></code>
</strong></dt>
<dd><p>This option is only available for the standard presentation functions. It specifies that a <span class="SimpleMath">\(p\)</span>-quotient of the group argument of the function or group of the process is the pc <var class="Arg">p</var>-group <var class="Arg">Q</var>, where <var class="Arg">Q</var> is of class <em>less than</em> the provided (or default) value of <code class="code">ClassBound</code>. If <code class="code">pQuotient</code> is provided, then the option <code class="code">Prime</code> if also provided, is ignored; the prime <var class="Arg">p</var> is discovered by computing <code class="code">PrimePGroup(<var class="Arg">Q</var>)</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">Exponent := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies that the <span class="SimpleMath">\(p\)</span>-quotient to be computed has exponent <var class="Arg">n</var>. For an interactive process, <code class="code">Exponent</code> 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.</p>
</dd>
<dt><strong class="Mark"><code class="code">Relators := <var class="Arg">rels</var></code>
</strong></dt>
<dd><p>Specifies that the relators sent to the <code class="code">pq</code> program should be <var class="Arg">rels</var> instead of the relators of the argument group <var class="Arg">F</var> (or start group in the interactive case) of the calling function; <var class="Arg">rels</var> should be a list of <em>strings</em> in the string representations of the generators of <var class="Arg">F</var>, and <var class="Arg">F</var> must be an <em>fp group</em> (even if the calling function accepts a pc group). This option provides a way of giving relators to the <code class="code">pq</code> program, without having them pre-expanded by <strong class="pkg">GAP</strong>, which can sometimes effect a performance loss of the order of 100 (see Section <a href="chapA_mj.html#X80676E317BF4DF13"><span class="RefLink"><span class="Heading">The Relators Option</span></span></a>).</p>
<p><em>Notes</em></p>
<ol>
<li><p>The <code class="code">pq</code> program does not use <code class="code">/</code> to indicate multiplication by an inverse and uses square brackets to represent (left normed) commutators. Also, even though the <code class="code">pq</code> program accepts relations, all elements of <var class="Arg">rels</var> <em>must</em> be in relator form, i.e. a relation of form <code class="code"><var class="Arg">w1</var> = <var class="Arg">w2</var></code> must be written as <code class="code"><var class="Arg">w1</var>*(<var class="Arg">w2</var>)^-1</code> and then put in a pair of double-quotes to make it a string. See the example below.</p>
</li>
<li><p>To ensure there are no syntax errors in <var class="Arg">rels</var>, each relator is parsed for validity via <code class="code">PqParseWord</code> (see <code class="func">PqParseWord</code> (<a href="chap3_mj.html#X7F3C5D1C7EC36EAE"><span class="RefLink">3.4-3</span></a>)). If they are ok, a message to say so is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 2.</p>
</li>
</ol>
</dd>
<dt><strong class="Mark"><code class="code">Metabelian</code>
</strong></dt>
<dd><p>Specifies that the largest metabelian <span class="SimpleMath">\(p\)</span>-quotient subject to any other conditions specified by other options be constructed. By default this restriction is not enforced.</p>
</dd>
<dt><strong class="Mark"><code class="code">GroupName := <var class="Arg">name</var></code>
</strong></dt>
<dd><p>Specifies that the <code class="code">pq</code> program should refer to the group by the name <var class="Arg">name</var> (a string). If <code class="code">GroupName</code> is not set and the group has been assigned a name via <code class="code">SetName</code> (see <a href="../../../doc/ref/chap12_mj.html#X7F14EF9D81432113"><span class="RefLink">Reference: Name</span></a>) it is set as the name the <code class="code">pq</code> program should use. Otherwise, the <q>generic</q> name <code class="code">"[grp]"</code> is set as a default.</p>
</dd>
<dt><strong class="Mark"><code class="code">Identities := <var class="Arg">funcs</var></code>
</strong></dt>
<dd><p>Specifies that the pc presentation should satisfy the laws defined by each function in the list <var class="Arg">funcs</var>. This option may be called by <code class="code">Pq</code>, <code class="code">PqEpimorphism</code>, or <code class="code">PqPCover</code> (see <code class="func">Pq</code> (<a href="chap4_mj.html#X86DD32D5803CF2C8"><span class="RefLink">4.1-1</span></a>)). Each function in the list <var class="Arg">funcs</var> must return a word in its arguments (there may be any number of arguments). Let <var class="Arg">identity</var> be one such function in <var class="Arg">funcs</var>. Then as each lower exponent <var class="Arg">p</var>-class quotient is formed, instances <span class="SimpleMath">\(\textit{identity}(\textit{w1}, \dots, \textit{wn})\)</span> are added as relators to the pc presentation, where <span class="SimpleMath">\(\textit{w1}, \dots, \textit{wn}\)</span> are words in the pc generators of the quotient. At each class the class and number of pc generators is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 1, the number of instances is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 2, and the instances that are evaluated are <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 3. As usual timing information is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 2; and details of the processing of each instance from the <code class="code">pq</code> program (which is often quite <em>voluminous</em>) is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> level 3. Try the examples <code class="code">"B2-4-Id"</code> and <code class="code">"11gp-3-Engel-Id"</code> which demonstrate the usage of the <code class="code">Identities</code> option; these are run using <code class="code">PqExample</code> (see <code class="func">PqExample</code> (<a href="chap3_mj.html#X7BB0EB607F337265"><span class="RefLink">3.4-4</span></a>)). Take note of Note 1. below in relation to the example <code class="code">"B2-4-Id"</code>; the companion example <code class="code">"B2-4"</code> generates the same group using the <code class="code">Exponent</code> option. These examples are discussed at length in Section <a href="chapA_mj.html#X80B2AA7084C57F5D"><spanclass="RefLink"><span class="Heading">The Identities Option and PqEvaluateIdentities Function</span></span></a>.</p>
<p><em>Notes</em></p>
<ol>
<li><p>Setting the <code class="code">InfoANUPQ</code> level to 3 or more when setting the <code class="code">Identities</code> option may slow down the computation considerably, by overloading <strong class="pkg">GAP</strong> with io operations.</p>
</li>
<li><p>The <code class="code">Identities</code> option is implemented at the <strong class="pkg">GAP</strong> level. An identity that is just an exponent law should be specified using the <code class="code">Exponent</code> option (see <code class="func">option Exponent</code>), which is implemented at the C level and is highly optimised and so is much more efficient.</p>
</li>
<li><p>The number of instances of each identity tends to grow combinatorially with the class. So <em>care</em> should be exercised in using the <code class="code">Identities</code> option, by including other restrictions, e.g. by using the <code class="code">ClassBound</code> option (see <code class="func">option ClassBound</code>).</p>
</li>
</ol>
</dd>
<dt><strong class="Mark"><code class="code">OutputLevel := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies the level of <q>verbosity</q> of the information output by the ANU <code class="code">pq</code> program when computing a pc presentation; <var class="Arg">n</var> must be an integer in the range 0 to 3. <code class="code">OutputLevel := 0</code> displays at most one line of output and is the default; <code class="code">OutputLevel := 1</code> displays (usually) slightly more output and <code class="code">OutputLevel</code>s of 2 and 3 are two levels of verbose output. To see these messages from the <code class="code">pq</code> program, the <code class="code">InfoANUPQ</code> level must be set to at least 1 (see <code class="func">InfoANUPQ</code> (<a href="chap3_mj.html#X7CBC9B458497BFF1"><span class="RefLink">3.3-1</span></a>)). See Section <a href="chap3_mj.html#X7BA20FA07B166B37"><span class="RefLink"><span class="Heading">Hints and Warnings regarding the use of Options</span></span></a> for an example of how <code class="code">OutputLevel</code> can be used as a troubleshooting tool.</p>
</dd>
<dt><strong class="Mark"><code class="code">RedoPcp</code>
</strong></dt>
<dd><p>Specifies that the current pc presentation (for an interactive process) stored by the <codeclass="code">pq</code> program be scrapped and clears the current values stored for the options <code class="code">Prime</code>, <code class="code">ClassBound</code>, <code class="code">Exponent</code> and <code class="code">Metabelian</code> and also clears the <code class="code">pQuotient</code>, <code class="code">pQepi</code> and <code class="code">pCover</code> fields of the data record of the process.</p>
</dd>
<dt><strong class="Mark"><code class="code">SetupFile := <var class="Arg">filename</var></code>
</strong></dt>
<dd><p>Non-interactively, this option directs that <code class="code">pq</code> should not be called and that an input file with name <var class="Arg">filename</var> (a string), containing the commands necessary for the ANU <code class="code">pq</code> standalone, be constructed. The commands written to <var class="Arg">filename</var> are also <code class="code">Info</code>-ed behind a <q><code class="code">ToPQ> </code></q> prompt at <code class="code">InfoANUPQ</code> level 4 (see <code class="func">InfoANUPQ</code> (<a href="chap3_mj.html#X7CBC9B458497BFF1"><span class="RefLink">3.3-1</span></a>)). Except in the case following, the calling function returns <code class="keyw">true</code>. If the calling function is the non-interactive version of one of <code class="code">Pq</code>, <code class="code">PqPCover</code> or <code class="code">PqEpimorphism</code> and the group provided as argument is trivial given with an empty set of generators, then no setup file is written and <code class="keyw">fail</code> is returned (the <code class="code">pq</code> program cannot do anything useful with such a group). Interactively, <code class="code">SetupFile</code> is ignored.</p>
<p><em>Note:</em> Since commands emitted to the <code class="code">pq</code> program may depend on knowing what the <q>current state</q> is, to form a setup file some <q>close enough guesses</q> may sometimes be necessary; when this occurs a warning is <code class="code">Info</code>-ed at <code class="code">InfoANUPQ</code> or <code class="code">InfoWarning</code> level 1. To determine whether the <q>close enough guesses</q> give an accurate setup file, it is necessary to run the command without the <code class="code">SetupFile</code> option, after either setting the <code class="code">InfoANUPQ</code> level to at least 4 (the setup file script can then be compared with the <q><code class="code">ToPQ> </code></q> commands that are <code class="code">Info</code>-ed) or setting a <code class="code">pq</code> command log file by using <code class="code">ToPQLog</code> (see <code class="func">ToPQLog</code> (<a href="chap3_mj.html#X8104B2BA872EFCCB"><span class="RefLink">3.4-7</span></a>)).</p>
</dd>
<dt><strong class="Mark"><code class="code">PqWorkspace := <var class="Arg">workspace</var></code>
</strong></dt>
<dd><p>Non-interactively, this option sets the memory used by the <code class="code">pq</code> program. It sets the maximum number of integer-sized elements to allocate in its main storage array. By default, the <code class="code">pq</code> program sets this figure to 10000000. Interactively, <code class="code">PqWorkspace</code> is ignored; the memory used in this case may be set by giving <code class="code">PqStart</code> a second argument (see <code class="func">PqStart</code> (<a href="chap5_mj.html#X83B2EC237F37623C"><span class="RefLink">5.1-1</span></a>)).</p>
</strong></dt>
<dd><p>Let <var class="Arg">G</var> be the group associated with the calling function (or associated interactive process). Passing the option <code class="code">PcgsAutomorphisms</code> without a value (or equivalently setting it to <code class="keyw">true</code>), specifies that a polycyclic generating sequence for the automorphism group (which must be <em>soluble</em>) of <var class="Arg">G</var>, be computed and passed to the <code class="code">pq</code> program. This increases the efficiency of the computation; it also prevents the <code class="code">pq</code> from calling <strong class="pkg">GAP</strong> for orbit-stabilizer calculations. By default, <code class="code">PcgsAutomorphisms</code> is set to the value returned by <code class="code">IsSolvable( AutomorphismGroup( <var class="Arg">G</var> ) )</code>, and uses the package <strong class="pkg">AutPGrp</strong> to compute <code class="code">AutomorphismGroup( <var class="Arg">G</var> )</code> if it is installed. This flag is set to <code class="keyw">true</code> or <code class="keyw">false</code> in the background according to the above criterion by the function <code class="code">PqDescendants</code> (see <code class="func">PqDescendants</code> (<a href="chap4_mj.html#X80985CC479CD9FA3"><span class="RefLink">4.4-1</span></a>) and <code class="func">PqDescendants</code> (<a href="chap5_mj.html#X795817217C53AB89"><span class="RefLink">5.3-6</span></a>)).</p>
<p><em>Note:</em> If <code class="code">PcgsAutomorphisms</code> is used when the automorphism group of <var class="Arg">G</var> is insoluble, an error message occurs.</p>
</dd>
<dt><strong class="Mark"><code class="code">OrderBound := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies that only descendants of size at most <span class="SimpleMath">\(p^{\textit{n}}\)</span>, where <var class="Arg">n</var> is a non-negative integer, be generated. Note that you cannot set both <code class="code">OrderBound</code> and <code class="code">StepSize</code>.</p>
</strong></dt>
<dd><p>For a positive integer <var class="Arg">n</var>, <code class="code">StepSize</code> specifies that only those immediate descendants which are a factor <span class="SimpleMath">\(p^{\textit{n}}\)</span> bigger than their parent group be generated.</p>
<p>For a list <var class="Arg">list</var> of positive integers such that the sum of the length of <var class="Arg">list</var> and the exponent-<span class="SimpleMath">\(p\)</span> class of <var class="Arg">G</var> is equal to the class bound defined by the option <code class="code">ClassBound</code>, <code class="code">StepSize</code> specifies that the integers of <var class="Arg">list</var> are the step sizes for each additional class.</p>
</dd>
<dt><strong class="Mark"><code class="code">RankInitialSegmentSubgroups := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Sets the rank of the initial segment subgroup chosen to be <var class="Arg">n</var>. By default, this has value 0.</p>
</dd>
<dt><strong class="Mark"><code class="code">SpaceEfficient</code>
</strong></dt>
<dd><p>Specifies that the <code class="code">pq</code> program performs certain calculations of <span class="SimpleMath">\(p\)</span>-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 <code class="code">PcgsAutomorphisms</code> flag is set to <code class="keyw">true</code> (see <code class="func">option PcgsAutomorphisms</code>). For an interactive process, <code class="code">SpaceEfficient</code> defaults to a previously supplied value for the process. Otherwise (and non-interactively), <code class="code">SpaceEfficient</code> is by default <code class="keyw">false</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">CapableDescendants</code>
</strong></dt>
<dd><p>By default, <em>all</em> (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 <code class="code">AllDescendants := false</code> (see <code class="func">option AllDescendants</code>), except if both <code class="code">CapableDescendants</code> and <code class="code">AllDescendants</code> are passed, <code class="code">AllDescendants</code> is essentially ignored.</p>
</dd>
<dt><strong class="Mark"><code class="code">AllDescendants := false</code>
</strong></dt>
<dd><p>By default, <em>all</em> descendants are constructed. If this flag is set to <code class="keyw">false</code>, only capable descendants are computed. Passing <code class="code">AllDescendants</code> without a value (which is equivalent to setting it to <code class="keyw">true</code>) is superfluous. This option is provided only for backward compatibility with the <strong class="pkg">GAP</strong> 3 version of the <strong class="pkg">ANUPQ</strong> package, where by default <code class="code">AllDescendants</code> was set to <code class="keyw">false</code> (rather than <code class="keyw">true</code>). It is preferable to use <code class="code">CapableDescendants</code> (see <code class="func">option CapableDescendants</code>).</p>
</dd>
<dt><strong class="Mark"><code class="code">TreeDepth := <var class="Arg">class</var></code>
</strong></dt>
<dd><p>Specifies that the descendants tree developed by <code class="code">PqDescendantsTreeCoclassOne</code> (see <code class="func">PqDescendantsTreeCoclassOne</code> (<a href="chapA_mj.html#X805E6B418193CF2D"><span class="RefLink">A.4-1</span></a>)) should be extended to class <var class="Arg">class</var>, where <var class="Arg">class</var> is a positive integer.</p>
</dd>
<dt><strong class="Mark"><code class="code">SubList := <var class="Arg">sub</var></code>
</strong></dt>
<dd><p>Suppose that <var class="Arg">L</var> is the list of descendants generated, then for a list <varclass="Arg">sub</var> of integers this option causes <code class="code">PqDescendants</code> to return <code class="code">Sublist( <var class="Arg">L</var>, <var class="Arg">sub</var> )</code>. If an integer <var class="Arg">n</var> is supplied, <code class="code">PqDescendants</code> returns <code class="code"><var class="Arg">L</var>[<var class="Arg">n</var>]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">NumberOfSolubleAutomorphisms := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies that the number of soluble automorphisms of the automorphism group supplied by <code class="code">PqPGSupplyAutomorphisms</code> (see <code class="func">PqPGSupplyAutomorphisms</code> (<a href="chap5_mj.html#X794A8D667A9D725A"><span class="RefLink">5.9-1</span></a>)) in a <span class="SimpleMath">\(p\)</span>-group generation calculation is <var class="Arg">n</var>. By default, <var class="Arg">n</var> is taken to be <span class="SimpleMath">\(0\)</span>; <varclass="Arg">n</var> must be a non-negative integer. If <span class="SimpleMath">\(\textit{n} \ge 0\)</span> then a value for the option <code class="code">RelativeOrders</code> (see <a href="chap6_mj.html#X87EE6DD67C9996A3"><span class="RefLink">6.2</span></a>) must also be supplied.</p>
</dd>
<dt><strong class="Mark"><code class="code">RelativeOrders := <var class="Arg">list</var></code>
</strong></dt>
<dd><p>Specifies the relative orders of each soluble automorphism of the automorphism group supplied by <code class="code">PqPGSupplyAutomorphisms</code> (see <code class="func">PqPGSupplyAutomorphisms</code> (<a href="chap5_mj.html#X794A8D667A9D725A"><span class="RefLink">5.9-1</span></a>)) in a <span class="SimpleMath">\(p\)</span>-group generation calculation. The list <var class="Arg">list</var> must consist of <var class="Arg">n</var> positive integers, where <var class="Arg">n</var> is the value of the option <code class="code">NumberOfSolubleAutomorphisms</code> (see <a href="chap6_mj.html#X87EE6DD67C9996A3"><span class="RefLink">6.2</span></a>). By default <var class="Arg">list</var> is empty.</p>
</dd>
<dt><strong class="Mark"><code class="code">BasicAlgorithm</code>
</strong></dt>
<dd><p>Specifies that an algorithm that the <code class="code">pq</code> program calls its <q>default</q> algorithm be used for <span class="SimpleMath">\(p\)</span>-group generation. By default this algorithm is <em>not</em> used. If this option is supplied the settings of options <code class="code">RankInitialSegmentSubgroups</code>, <code class="code">AllDescendants</code>, <code class="code">Exponent</code> and <code class="code">Metabelian</code> are ignored.</p>
</dd>
<dt><strong class="Mark"><code class="code">CustomiseOutput := <var class="Arg">rec</var></code>
</strong></dt>
<dd><p>Specifies that fine tuning of the output is desired. The record <var class="Arg">rec</var> should have any subset (or all) of the the following fields:</p>
<dl>
<dt><strong class="Mark"><code class="code">perm := <var class="Arg">list</var></code></strong></dt>
<dd><p>where <var class="Arg">list</var> 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.</p>
</dd>
<dt><strong class="Mark"><code class="code">orbit := <var class="Arg">list</var></code></strong></dt>
<dd><p>where <var class="Arg">list</var> 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 both a summary and a complete listing.)
</dd>
<dt><strong class="Mark"><code class="code">group := <var class="Arg">list</var></code></strong></dt>
<dd><p>where <var class="Arg">list</var> is a list of booleans which determine whether the group output should contain: the standard matrix of each allowable subgroup, the presentation of reduced <span class="SimpleMath">\(p\)</span>-covering groups, the presentation of immediate descendants, the nuclear rank of descendants, and the <span class="SimpleMath">\(p\)</span>-multiplicator rank of descendants, respectively.</p>
</dd>
<dt><strong class="Mark"><code class="code">autgroup := <var class="Arg">list</var></code></strong></dt>
<dd><p>where <var class="Arg">list</var> 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.</p>
</dd>
<dt><strong class="Mark"><code class="code">trace := <var class="Arg">val</var></code></strong></dt>
<dd><p>where <var class="Arg">val</var> is a boolean which if <code class="keyw">true</code> specifies algorithm trace data is desired. By default, one does not get algorithm trace data.</p>
</dd>
</dl>
<p>Not providing a field (or mis-spelling it!), specifies that the default output is desired. As a convenience, <code class="code">1</code> is also accepted as <code class="keyw">true</code>, and any value that is neither <code class="code">1</code> nor <code class="keyw">true</code> is taken as <code class="keyw">false</code>. Also for each <var class="Arg">list</var> above, an unbound list entry is taken as <code class="keyw">false</code>. Thus, for example</p>
<p>specifies 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.</p>
</dd>
<dt><strong class="Mark"><code class="code">StandardPresentationFile := <var class="Arg">filename</var></code>
</strong></dt>
<dd><p>Specifies that the file to which the standard presentation is written has name <var class="Arg">filename</var>. If the first character of the string <var class="Arg">filename</var> is not <codeclass="code">/</code>, <var class="Arg">filename</var> is assumed to be the path of a writable file relative to the directory in which <strong class="pkg">GAP</strong> was started. If this option is omitted it is written to the file with the name generated by the command <code class="code">Filename( ANUPQData.tmpdir, "SPres" );</code>, i.e. the file with name <code class="code">"SPres"</code> in the temporary directory in which the <code class="code">pq</code> program executes.</p>
</dd>
<dt><strong class="Mark"><code class="code">QueueFactor := <var class="Arg">n</var></code>
</strong></dt>
<dd><p>Specifies a queue factor of <var class="Arg">n</var>, where <var class="Arg">n</var> must be a positive integer. This option may be used with <code class="code">PqNextClass</code> (see <code class="func">PqNextClass</code> (<a href="chap5_mj.html#X832F69597C095A27"><span class="RefLink">5.6-4</span></a>)).</p>
<p>The queue factor is used when the <code class="code">pq</code> program uses automorphisms to close a set of elements of the <span class="SimpleMath">\(p\)</span>-multiplicator under their action.</p>
<p>The algorithm used is a spinning algorithm: it starts with a set of vectors in echelonized form(elements of the <span class="SimpleMath">\(p\)</span>-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.</p>
<p>For 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.</p>
<p>The 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.</p>
</dd>
<dt><strong class="Mark"><code class="code">Bounds := <var class="Arg">list</var></code>
</strong></dt>
<dd><p>Specifies a lower and upper bound on the indices of a list, where <var class="Arg">list</var> is a pair of positive non-decreasing integers. See <code class="func">PqDisplayStructure</code> (<a href="chap5_mj.html#X81A3D5BF87A34934"><span class="RefLink">5.7-23</span></a>) and <code class="func">PqDisplayAutomorphisms</code> (<a href="chap5_mj.html#X853834B478C4EEE2"><spanclass="RefLink">5.7-24</span></a>) where this option may be used.</p>
</dd>
<dt><strong class="Mark"><code class="code">PrintAutomorphisms := <var class="Arg">list</var></code>
</strong></dt>
<dd><p>Specifies that automorphism matrices be printed.</p>
</dd>
<dt><strong class="Mark"><code class="code">PrintPermutations := <var class="Arg">list</var></code>
</strong></dt>
<dd><p>Specifies that permutations of the subgroups be printed.</p>
</dd>
<dt><strong class="Mark"><code class="code">Filename := <var class="Arg">string</var></code>
</strong></dt>
<dd><p>Specifies that an output or input file to be written to or read from by the <code class="code">pq</code> program should have the name <var class="Arg">string</var>.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.