-->
<Appendix Label="groups_app">
<Heading>The finite classical groups in <Package>FinInG</Package> </Heading>
<Section Label="groups_app_forms">
<Heading>Standard forms used to produce the finite classical groups.</Heading>
An overview of operations is given that produce gram matrices to construct standard forms. The notion
<E>standard form</E> is explained in Section <Ref Sect="can_standard"/>, in the context of
canonical and standard polar spaces.
<ManSection>
<Oper Name="CanonicalQuadraticForm" Arg="type, d, f"/>
<Returns>a Gram matrix usable as input to construct a quadratic form</Returns>
<Description>
The arguments <A>d</A> and <A>f</A> are the vector dimension and the finite field
respectively. The argument <A>type</A> is either "hyperbolic", "elliptic" or "parabolic".
The matrix returned can be used to construct a quadratic form.
<P/>
If <A>type</A> equals "hyperbolic", the Gram matrix returned will result in the quadratic form
<Alt Only="HTML">x<sub>1</sub>x<sub>2</sub>+...+ x<sub>d-1</sub>x<sub>d</sub></Alt>
<Alt Not="HTML"><M>x_1x_2+ x_3x_4+\ldots+ x_{d-1}x_d</M></Alt><P/>
If <A>type</A> equals "elliptic", the Gram matrix returned will result in the quadratic form
<Alt Only="HTML">x<sub>1</sub><sup>2</sup>+x<sub>1</sub>x<sub>2</sub>+957;x<sub>2</sub><sup>2</sup>
...+ x<sub>d-1</sub>x<sub>d</sub></Alt><Alt Not="HTML"><M>x_1^2+x_1x_2+\nu x_2^2 + x_3x_4+\ldots+ x_{d-1}x_d</M></Alt>with
<Alt Only="HTML">957;=945;<sup>i</sup></Alt><Alt Not="HTML"><M>\nu=\alpha^i</M></Alt>, with <Alt Only="HTML">945;</Alt>
<Alt Not="HTML">\alpha</Alt> the primitive element of the multiplicative group of <M>GF(q)</M>, which is in GAP <F>Z(q)</F>, and <M>i</M>
the first number in <M>[0,1,...,q-2]</M> for which <Alt Only="HTML">x<sup>2</sup>+x+957;</Alt><Alt Not="HTML"><M>x^2+x+\nu</M>
</Alt> is irreducible over <M>GF(q)</M>.
<P/>
If <A>type</A> equals "parabolic", the Gram matrix returned will result in the quadratic form
<Alt Only="HTML">x<sub>1</sub><sup>2</sup>+x<sub>2</sub>x<sub>3</sub>+...
+ x<sub>d-1</sub>x<sub>d</sub></Alt><Alt Not="HTML"><M>x_1^2+x_2x_3 + \ldots x_{d-1}x_d</M></Alt><P/>
This function is intended to be used only when the characteristic of <A>f</A> is two, but there is no error message is this is not the case.
For this reason, <F>CanonicalQuadraticForm</F> is not an operation designed for the user.
</Description>
</ManSection>
</Section>
<Section Label="groups_app_forms">
<Heading>Direct commands to construct the projective classical groups in <Package>FinInG</Package></Heading>
As explained in Chapter <Ref Chap="classicalpolarspaces"/>, Section <Ref Sect="polar:classicalgroups"/>, 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 <Ref Sect="polar:classicalgroups"/>.
<ManSection>
<Oper Name="SOdesargues" Arg="e, d, f"/>
<Returns>the special isometry group of a canonical orthogonal polar space</Returns>
<Description>
The argument <A>e</A> determines the type of the orthogonal polar space, i.e. -1,0,1 for
an elliptic, hyperbolic, parabolic orthogonal space, respectively. The argument <A>d</A> is
the dimension of the underlying vector space, <A>f</A> is the finite field. The method relies
on <F>SO</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_sodesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GOdesargues" Arg="e, d, f"/>
<Returns>the isometry group of a canonical orthogonal polar space</Returns>
<Description>
The argument <A>e</A> determines the type of the orthogonal polar space, i.e. -1,0,1 for
an elliptic, hyperbolic, parabolic orthogonal space, respectively. The argument <A>d</A> is
the dimension of the underlying vector space, <A>f</A> is the finite field. The method relies
on <F>GO</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_godesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="SUdesargues" Arg="d, f"/>
<Returns>the special isometry group of a canonical hermitian polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>SU</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_sudesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GUdesargues" Arg="d, f"/>
<Returns>the isometry/similarity group of a canonical hermitian polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GU</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_gudesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="Spdesargues" Arg="d, f"/>
<Returns>the (special) isometry group of a canonical symplectic polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>Sp</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_spdesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GeneralSymplecticGroup" Arg="d, f"/>
<Returns>the isometry group of a canonical symplectic form</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field. Internally, the invariant form
is asked, and the base change to our canonical form is obtained using the package <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_generalsymplectic.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GSpdesargues" Arg="d, f"/>
<Returns>the similarity group of a canonical symplectic polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>Sp</F>, 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 <Package>form</Package>
<Example>
<#Include SYSTEM "../examples/include/groups_app_gspdesargues.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GammaSp" Arg="d, f"/>
<Returns>the collineation group of a canonical symplectic polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GeneralSymplecticGroup</F>, and adds the frobenius automorphism.
<Example>
<#Include SYSTEM "../examples/include/groups_app_gammasp.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="DeltaOminus" Arg="d, f"/>
<Returns>the similarity group of a canonical elliptic orthogonal polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GOdesargues</F>, and computes the generators to be added.
<Example>
<#Include SYSTEM "../examples/include/groups_app_deltaominus.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="DeltaOplus" Arg="d, f"/>
<Returns>the similarity group of a canonical hyperbolic orthogonal polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GOdesargues</F>, and computes the generators to be added.
<Example>
<#Include SYSTEM "../examples/include/groups_app_deltaoplus.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GammaOminus" Arg="d, f"/>
<Returns>the collineation group of a canonical elliptic orthogonal polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>DeltaOminus</F>, and computes the generators to be added.
<Example>
<#Include SYSTEM "../examples/include/groups_app_gammaominus.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GammaO" Arg="d, f"/>
<Returns>the collineation group of a canonical parabolic orthogonal polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GO</F>, 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 <Package>form</Package>. Furthermore,
the generators to be added are computed.
<Example>
<#Include SYSTEM "../examples/include/groups_app_gammao.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GammaOplus" Arg="d, f"/>
<Returns>the collineation group of a canonical hyperbolic orthogonal polar space</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>DeltaOplus</F>, and computes the generators to be added.
<Example>
<#Include SYSTEM "../examples/include/groups_app_gammaoplus.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="GammaU" Arg="d, f"/>
<Returns>the collineation group of a canonical hermitian variety</Returns>
<Description>
The argument <A>d</A> is the dimension of the underlying vector space, <A>f</A> is the finite field.
The method relies on <F>GU</F>, 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 <Package>form</Package>. Furthermore,
the generators to be added are computed.
<Example>
<#Include SYSTEM "../examples/include/groups_app_gammau.include">
</Example>
</Description>
</ManSection>
<ManSection>
<Oper Name="G2fining" Arg="d, f"/>
<Returns>the Chevalley group G_2(q)</Returns>
<Description>
This group is the group of projectivities stabilising the split Cayley hexagon embedded in the parabolic
quadric <M>Q(6,q):</M><Alt Not="HTML"><M>X_0X_4+X_1X_5+X_2X_6=X_3^2</M></Alt>
<Alt Only="HTML">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></Alt>.
<A>f</A> must be a finite field and <A>d</A> must be 5 or 6. When <A>d</A> is 5, <A>F</A> must be a field of even order, and then
the returned group consists of projectivities of <M>W(5,q)</M>. The generators of this group are described explicitly in
<Cite Key="HVM"/>, Appendix D. A correction can be found in <Cite Key="PhDOffer"/>. However, also this source contains
a mistake.
</Description>
</ManSection>
<ManSection>
<Oper Name="3D4fining" Arg="f"/>
<Returns>the Chevalley group 3D4(q)</Returns>
<Description>
The argument <A>f</A> must be a field of order <Alt Not="HTML"><M>q^3</M></Alt><Alt Only="HTML">q<sup>3</sup></Alt>
This group is the group of collineations stabilising the twisted triality hexagon embedded in the
hyperbolic quadric <Alt Not="HTML"><M>Q+(7,q)</M></Alt><Alt Only="HTML">Q<sup>+</sup>(7,q)</Alt>:
<Alt Not="HTML"><M>X_0X_4+X_1X_5+X_2X_6+X_3X_7</M></Alt>
<Alt Only="HTML">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></Alt>
The generators of this group are described explicitly in <Cite Key="HVM"/>, Appendix D.
</Description>
</ManSection>
</Section>
<Section Label="groups_app_forms">
<Heading>Basis of the collineation groups</Heading>
The <Package>GenSS</Package> uses a function <F>FindBasePointCandidates</F> 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.
<ManSection>
<Oper Name="FindBasePointCandidates" Arg="g, opt, i, parentS"/>
<Returns>a record</Returns>
<Description>
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 <A>opt</A> and <A>i</A>.
More information on these details can be found in the manual of <Package>GenSS</Package>.
</Description>
</ManSection>
Variations on this version of <F>BasePointCandidates</F> are found in <Package>FinInG</Package> used in previous
versions of <Package>GenSS</Package>. These variations are already or will become obsolete in the (near) future.
</Section>
</Appendix>
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.26 Sekunden
(vorverarbeitet am 2026-09-03)
¤
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 und die Messung sind noch experimentell.