<h4>B.1 <span class="Heading">Standard forms used to produce the finite classical groups.</span></h4>
<p>An overview of operations is given that produce gram matrices to construct standard forms. The notion <em>standard form</em> is explained in Section <a href="chap7_mj.html#X850CD32686B0656B"><span class="RefLink">7.2</span></a>, in the context of canonical and standard polar spaces.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CanonicalGramMatrix</code>( <var class="Arg">type</var>, <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a Gram matrix usable as input to construct a sesquilinear form</p>
<p>The arguments <var class="Arg">d</var> and <var class="Arg">f</var> are the vector dimension and the finite field respectively. The argument <var class="Arg">type</var> is either "symplectic", "hermitian", "hyperbolic", "elliptic" or "parabolic".</p>
<p>If <var class="Arg">type</var> equals "symplectic", the Gram matrix is</p>
<p>If <var class="Arg">type</var> equals "hermitian", the Gram matrix is the identity matrix of dimension <var class="Arg">d</var> over the field <span class="SimpleMath">\(f=GF(q)\)</span></p>
<p>If <var class="Arg">type</var> equals "hyperbolic", the Gram matrix is</p>
<p>There is no error message when asking for a hyperbolic, elliptic or parabolic type if the characteristic of the field <span class="SimpleMath">\(f\)</span> is even. In such a case, a matrix is returned, which is of course not suitable to create a bilinear form that corresponds with an orthogonal polar space. For this reason, <code class="file">CanonicalGramMatrix</code> is not a operation designed for the user.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CanonicalQuadraticForm</code>( <var class="Arg">type</var>, <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a Gram matrix usable as input to construct a quadratic form</p>
<p>The arguments <var class="Arg">d</var> and <var class="Arg">f</var> are the vector dimension and the finite field respectively. The argument <var class="Arg">type</var> is either "hyperbolic", "elliptic" or "parabolic". The matrix returned can be used to construct a quadratic form.</p>
<p>If <var class="Arg">type</var> equals "hyperbolic", the Gram matrix returned will result in the quadratic form x<sub>1</sub>x<sub>2</sub>+...+ x<sub>d-1</sub>x<sub>d</sub></p>
<p>If <var class="Arg">type</var> equals "elliptic", the Gram matrix returned will result in the quadratic form x<sub>1</sub><sup>2</sup>+x<sub>1</sub>x<sub>2</sub>+νx<sub>2</sub><sup>2</sup> ...+ x<sub>d-1</sub>x<sub>d</sub>with ν=α<sup>i</sup>, with α the primitive element of the multiplicative group of <span class="SimpleMath">\(GF(q)\)</span>, which is in GAP <code class="file">Z(q)</code>, and <span class="SimpleMath">\(i\)</span> the first number in <span class="SimpleMath">\([0,1,...,q-2]\)</span> for which x<sup>2</sup>+x+ν is irreducible over <span class="SimpleMath">\(GF(q)\)</span>.</p>
<p>If <var class="Arg">type</var> equals "parabolic", the Gram matrix returned will result in the quadratic form x<sub>1</sub><sup>2</sup>+x<sub>2</sub>x<sub>3</sub>+... + x<sub>d-1</sub>x<sub>d</sub></p>
<p>This function is intended to be used only when the characteristic of <var class="Arg">f</var> is two, but there is no error message is this is not the case. For this reason, <code class="file">CanonicalQuadraticForm</code> is not an operation designed for the user.</p>
<h4>B.2 <span class="Heading">Direct commands to construct the projective classical groups in <strong class="pkg">FinInG</strong></span></h4>
<p>As explained in Chapter <a href="chap7_mj.html#X7F96B1327C022A28"><span class="RefLink">7</span></a>, Section <a href="chap7_mj.html#X7988AF9978E75E37"><span class="RefLink">7.7</span></a>, we have assumed that the user asks for the projective classical groups in an indirect way, i.e. as a (subgroup) of the collineation group of a classical polar space. However, shortcuts to these groups exist. More information on the notations can be found in Section <a href="chap7_mj.html#X7988AF9978E75E37"><span class="RefLink">7.7</span></a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SOdesargues</code>( <var class="Arg">e</var>, <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the special isometry group of a canonical orthogonal polar space</p>
<p>The argument <var class="Arg">e</var> determines the type of the orthogonal polar space, i.e. -1,0,1 for an elliptic, hyperbolic, parabolic orthogonal space, respectively. The argument <varclass="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">SO</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GOdesargues</code>( <var class="Arg">e</var>, <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the isometry group of a canonical orthogonal polar space</p>
<p>The argument <var class="Arg">e</var> determines the type of the orthogonal polar space, i.e. -1,0,1 for an elliptic, hyperbolic, parabolic orthogonal space, respectively. The argument <varclass="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GO</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SUdesargues</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the special isometry group of a canonical hermitian polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">SU</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUdesargues</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the isometry/similarity group of a canonical hermitian polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GU</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Spdesargues</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the (special) isometry group of a canonical symplectic polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">Sp</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneralSymplecticGroup</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the isometry group of a canonical symplectic form</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GSpdesargues</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the similarity group of a canonical symplectic polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">Sp</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GammaSp</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the collineation group of a canonical symplectic polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GeneralSymplecticGroup</code>, and adds the frobenius automorphism.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DeltaOminus</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the similarity group of a canonical elliptic orthogonal polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GOdesargues</code>, and computes the generators to be added.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DeltaOplus</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the similarity group of a canonical hyperbolic orthogonal polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GOdesargues</code>, and computes the generators to be added.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GammaOminus</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the collineation group of a canonical elliptic orthogonal polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">DeltaOminus</code>, and computes the generators to be added.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GammaO</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the collineation group of a canonical parabolic orthogonal polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GO</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong>. Furthermore, the generators to be added are computed.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GammaOplus</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the collineation group of a canonical hyperbolic orthogonal polar space</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">DeltaOplus</code>, and computes the generators to be added.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GammaU</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the collineation group of a canonical hermitian variety</p>
<p>The argument <var class="Arg">d</var> is the dimension of the underlying vector space, <var class="Arg">f</var> is the finite field. The method relies on <code class="file">GU</code>, a GAP command returning the appropriate matrix group. Internally, the invariant form is asked, and the base change to our canonical form is obtained using the package <strong class="pkg">form</strong>. Furthermore, the generators to be added are computed.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ G2fining</code>( <var class="Arg">d</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the Chevalley group G_2(q)</p>
<p>This group is the group of projectivities stabilising the split Cayley hexagon embedded in the parabolic quadric <span class="SimpleMath">\(Q(6,q):\)</span> X<sub>0</sub>X<sub>4</sub>+X<sub>1</sub>X<sub>5</sub>+X<sub>2</sub>X<sub>6</sub>=X<sub>3</sub><sup>2</sup>. <var class="Arg">f</var> must be a finite field and <var class="Arg">d</var> must be 5 or 6. When <var class="Arg">d</var> is 5, <var class="Arg">F</var> must be a field of even order, and then the returned group consists of projectivities of <span class="SimpleMath">\(W(5,q)\)</span>. The generators of this group are described explicitly in <a href="chapBib_mj.html#biBHVM">[VM98]</a>, Appendix D. A correction can be found in <a href="chapBib_mj.html#biBPhDOffer">[Off00]</a>. However, also this source contains a mistake.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ 3D4fining</code>( <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the Chevalley group 3D4(q)</p>
<p>The argument <var class="Arg">f</var> must be a field of order q<sup>3</sup> This group is the group of collineations stabilising the twisted triality hexagon embedded in the hyperbolic quadric Q<sup>+</sup>(7,q): X<sub>0</sub>X<sub>4</sub>+X<sub>1</sub>X<sub>5</sub>+X<sub>2</sub>X<sub>6</sub>+X<sub>3</sub>X<sub>7</sub> The generators of this group are described explicitly in <a href="chapBib_mj.html#biBHVM">[VM98]</a>, Appendix D.</p>
<h4>B.3 <span class="Heading">Basis of the collineation groups</span></h4>
<p>The <strong class="pkg">GenSS</strong> uses a function <code class="file">FindBasePointCandidates</code> taking a group as one of the arguments. From a geometrical point of view, it is straightforward to construct a basis for a collineation group for the action on projective points.</p>
<p>The returned record contains the base points for the action, and some other fields. The information in the other fields is determined from the arguments <var class="Arg">opt</var> and <var class="Arg">i</var>. More information on these details can be found in the manual of <strong class="pkg">GenSS</strong>.</p>
<p>Variations on this version of <code class="file">BasePointCandidates</code> are found in <strong class="pkg">FinInG</strong> used in previous versions of <strong class="pkg">GenSS</strong>. These variations are already or will become obsolete in the (near) future.</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.