<!-- 

  theory.xml    Forms package documentation
                                                                   John Bamberg
                                                               and Jan De Beule
                                                           
  Copyright (C) 2021, Vrije Universiteit Brussel
  Copyright (C) 2021, The University of Western Australia

This is the chapter of the documentation describing background theory of forms and preliminary examples.
-->

<Chapter Label="theory">
<Heading>Background Theory on Forms</Heading>

In this chapter we give a very brief overview of the theory
of sesquilinear and quadratic forms. The reader can find more in the
texts: Cameron <Cite Key="Cameron"/>, Taylor <Cite Key="Taylor"/>,
Aschbacher <Cite Key="Aschbacher"/>, or Kleidman and Liebeck <Cite Key="KleidmanLiebeck"/>.

<Section Label="theory:sesquilinearforms">
<Heading>Sesquilinear forms</Heading>
A <E>sesquilinear form</E><Index Key="Form" Subkey="sesquilinear">Form</Index>
on an <M>n</M>-dimensional vector space <M>V</M> over a field <M>F</M>, is a map
<M>f</M> from <M>V\times V</M> to <M>F</M> which is linear in the first coordinate, but
semilinear<Index>Semilinear</Index> in the second coordinate; that is, there is a field
automorphism <M>\alpha</M><!--<Alt Not="HTML"><M>\alpha</M></Alt><Alt Only="HTML">&#945;</Alt>-->
(the <E>companion automorphism</E><Index>Companion
Automorphism</Index> of <M>f</M>) such that
<Alt Only="Text"><Display>f(v,\lambda w)=\lambda^\alpha f(v,w),</Display></Alt>
<Alt Only="LaTeX"><Display>f(v,\lambda w)=\lambda^\alpha f(v,w),</Display></Alt>
<Alt Only="HTML MathJax"><Display>f(v,\lambda w)=\lambda^\alpha f(v,w),</Display></Alt>
<Alt Only="HTML noMathJax"><Display>f(v,&#955;w)=&#955;&lt;sup>&#945;&lt;/sup>f(v,w),</Display></Alt>
for all <M>v,w \in V</M> and <M>\lambda \in F</M>.
If <M>\alpha</M> is the identity, then <M>f</M> is <E>bilinear</E><Index
Key="Form" Subkey="bilinear">Form</Index>.
<P/>
A bilinear form is <E>reflexive</E><Index Key="Form"
Subkey="reflexive">Form</Index> if <M>f(v,w)=0 \Rightarrow f(w,v)=0</M> 
for all <M>v,w \in V</M>. A bilinear form is <E>symmetric</E><Index Key="Form"
Subkey="symmetric">Form</Index> if <M>f(v,w)=f(w,v)</M> for all <M>v,w \in
V</M>. It is clear that a symmetric bilinear form is reflexive. A bilinear form
is <E>alternating</E><Index Key="Form" Subkey="alternating">Form</Index> if
<M>f(v,v)=0</M> for all <M>v \in V</M>. Using the linearity to compute
<M>f(v+w,v+w)</M>, we see that an alternating form is also reflexive. When the
characteristic of the field differs from 2, an alternating form <M>f</M> can also
be characterised as <M>f(v,w) = -f(w,v)</M> for all <M>v,w \in V</M>. It can be proved (see Chapter 7
of <Cite Key="Taylor"/>) that symmetric and alternating bilinear forms are the only reflexive
bilinear forms. 
<P/>
For a given sesquilinear form <M>f</M>, the choice of the basis determines
uniquely an <M>n\times n</M> matrix <M>M</M> such that 
<Alt Only="Text"><M>f(v, w) = v M {w^{\alpha}}^T.</M></Alt>
<Alt Only="LaTeX"><M>f(v, w) = v M {w^{\alpha}}^T.</M></Alt>
<Alt Only="HTML MathJax"><M>f(v, w) = v M {w^{\alpha}}^T.</M></Alt>
<Alt Only="HTML noMathJax">f(v, w) = v M w&lt;sup>&#945;T&lt;/sup>.</Alt>
<P/>
This matrix is also called the <E>Gram matrix</E> of <M>f</M>.
Given a sesquilinear form <M>f</M>, we will denote its Gram matrix by
<Alt Only="Text"><M>M_f.</M></Alt><Alt Only="LaTeX"><M>M_f.</M></Alt><Alt Only="HTML MathJax"><M>M_f.</M></Alt>
<Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub>.</Alt> In
<Package>Forms</Package>, sesquilinear forms can be constructed using matrices
or polynomials, where we always suppose that the basis of the vector space is the
standard basis (i.e., the rows of the identity matrix).
<P/>
One proves easily that a bilinear form <M>f</M> is symmetric if and only if
<Alt Only="Text"><M>M_f</M></Alt><Alt Only="LaTeX"><M>M_f</M></Alt><Alt Only="HTML MathJax"><M>M_f</M></Alt>
<Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub></Alt> is a
symmetric matrix, i.e., <Alt Only="Text"><M>M_f^T=M_f,</M></Alt><Alt Only="LaTeX"><M>M_f^T=M_f,</M></Alt>
<Alt Only="HTML MathJax"><M>M_f^T=M_f,</M></Alt><Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub>&lt;sup>T&lt;/sup>=M&lt;sub>f&lt;/sub>,</Alt>
and that a bilinear form <M>f</M> is alternating if and only if <Alt Only="Text"><M>M_f</M></Alt>
<Alt Only="LaTeX"><M>M_f</M></Alt><Alt Only="HTML MathJax"><M>M_f</M></Alt><Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub></Alt>
is a skew symmetric matrix, i.e., <Alt Only="Text"><M>M_f^T=-M_f</M></Alt><Alt Only="LaTeX"><M>M_f^T=-M_f</M></Alt>
<Alt Only="HTML MathJax"><M>M_f^T=-M_f</M></Alt><Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub>&lt;sup>T&lt;/sup>=-M&lt;sub>f&lt;/sub></Alt>.
When the characteristic of the field is two, the condition that <M>f(v,v)=0</M> for all <M>v \in V</M> implies
<Alt Only="Text"><M>M_f^T=M_f</M></Alt><Alt Only="LaTeX"><M>M_f^T=M_f</M></Alt><Alt Only="HTML MathJax"><M>M_f^T=M_f</M></Alt>
<Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub>&lt;sup>T&lt;/sup>=M&lt;sub>f&lt;/sub></Alt>
<B>and</B> <Alt Only="Text"><M>(M_{ii})=0</M></Alt><Alt Only="LaTeX"><M>(M_{ii})=0</M></Alt>
<Alt Only="HTML MathJax"><M>(M_{ii})=0</M></Alt><Alt Only="HTML noMathJax">(M&lt;sub>ii&lt;/sub>)=0</Alt> for
all <M>i</M> (and where the matrix <Alt Only="Text"><M>M_f = (M_{ij})</M></Alt>
<Alt Only="LaTeX"><M>M_f = (M_{ij})</M></Alt><Alt Only="HTML MathJax"><M>M_f = (M_{ij})</M></Alt>
<Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub> = (M&lt;sub>ij&lt;/sub>)</Alt>).
Since any skew symmetric odd dimensional matrix is singular, it follows that an alternating
form of an odd dimensional vector space is degenerate.
<P/>
A sesquilinear form <M>f</M> is <E>hermitian</E><Index Key="Form"
Subkey="hermitian">Form</Index> (n.b., <E>conjugate-symmetric</E> in <Cite Key="Atlas"/>) 
if <Alt Only="Text"><M>f(v,w)=f(w,v)^\alpha</M></Alt><Alt Only="LaTeX"><M>f(v,w)=f(w,v)^\alpha</M></Alt>
<Alt Only="HTML MathJax"><M>f(v,w)=f(w,v)^\alpha</M></Alt><Alt Only="HTML noMathJax">f(v,w)=f(w,v)&lt;sup>&#945;&lt;/sup></Alt>
holds for all vectors <M>v,w</M>, with <M>\alpha</M> an involutory field automorphism only dependent on <M>f</M>.
Again, it can be easily proved that a sesquilinear
form <M>f</M> is hermitian if and only if <Alt Only="Text"><M>M_f^T = M_f^{\alpha}</M></Alt>
<Alt Only="LaTeX"><M>M_f^T = M_f^{\alpha}</M></Alt><Alt Only="HTML MathJax"><M>M_f^T = M_f^{\alpha}</M></Alt>
<Alt Only="HTML noMathJax">M&lt;sub>f&lt;/sub>&lt;sup>T&lt;/sup>=M&lt;sub>f&lt;/sub>&lt;sup>&#945;&lt;/sup></Alt>
(i.e., a hermitian matrix). It is proved (see Chapter 7 of <Cite Key="Taylor"/>)
that hermitian forms are the only reflexive
sesquilinear forms that are not bilinear. Hence, in general, all reflexive
sesquilinear forms are known, they are either hermitian or bilinear, and in the
latter case, they are either symmetric or alternating (again, see Chapter 7 of <Cite Key="Taylor"/>).
<P/>
In <Package>Forms</Package>, only the construction of <B>reflexive</B> sesquilinear forms is
allowed. An error message will be displayed if any attempt to construct a
non-reflexive sesquilinear form is made. As a consequence, the Gram Matrix of a
sesquilinear form is always a symmetric, a skew symmetric or a hermitian matrix.
From now on, the notion of a ``sesquilinear form'' will always refer to a ``reflexive
sesquilinear form''.
<P/>
Given a sesquilinear form <M>f</M>, two vectors <M>v</M> and <M>w</M> are
<E>orthogonal</E><Index>Orthogonal</Index> with respect to <M>f</M> if <M>f(v,w)
= 0</M>. Note that the reflexivity makes orthogonality between two vectors a
symmetric relation. A vector <M>v</M> is called <E>isotropic</E><Index>isotropic</Index> if <M>f(v,v)=0</M>.
The <E>radical</E><Index>Radical</Index> of <M>f</M> (n.b., <E>kernel</E> in <Cite Key="Atlas"/>) 
is the subspace consisting of vectors which are orthogonal to every vector. That is,
<Alt Only="Text"><Display>Rad(f) = \{v \in V | f(v,w) = 0,\, \forall w \in V\},</Display></Alt>
<Alt Only="LaTeX"><Display>&rad;(f) = \{v \in V | f(v,w) = 0,\, \forall w \in V\},</Display></Alt>
<Alt Only="HTML MathJax"><Display>&rad;(f) = \{v \in V | f(v,w) = 0,\, \forall w \in V\},</Display></Alt>
<Alt Only="HTML noMathJax">&lt;center>Rad(f) = {v &#8712; V | f(v,w) = 0 for all w &#8712; V},&lt;/center></Alt>
and we say that <M>f</M> is
<E>non-degenerate</E><Index Key="Form" Subkey="sesquilinear">Non-degenerate</Index> if
its radical is trivial (and <E>degenerate</E> otherwise).
<P/>Given a subspace <M>W</M>, we denote the 
set of vectors of <M>V</M> orthogonal with all vectors of <M>W</M> by
<Alt Only="Text"><M>W^\perp</M></Alt><Alt Only="LaTeX"><M>W^\perp</M></Alt><Alt Only="HTML MathJax"><M>W^\perp</M></Alt>
<Alt Only="HTML noMathJax">W&lt;sup>&#8869;&lt;/sup></Alt>.
We call a subspace <M>W</M> <E>totally isotropic</E><Index Key="Form"
Subkey="sesquilinear">Totally Isotropic</Index> with respect to <M>f</M> if
<M>W</M> is contained in <Alt Only="Text"><M>W^\perp</M></Alt><Alt Only="LaTeX"><M>W^\perp</M></Alt><Alt Only="HTML MathJax"><M>W^\perp</M></Alt>
<Alt Only="HTML">W&lt;sup>&#8869;&lt;/sup></Alt>, i.e.
<Alt Only="Text"><Display>f(v,w) = 0,\, \forall v,w \in W.</Display></Alt>
<Alt Only="LaTeX"><Display>f(v,w) = 0,\, \forall v,w \in W.</Display></Alt>
<Alt Only="HTML MathJax"><Display>f(v,w) = 0,\, \forall v,w \in W.</Display></Alt>
<Alt Only="HTML noMathJax">&lt;center>f(v,w) = 0 for all v,w &#8712; W.&lt;/center></Alt>
<P/>Suppose that <M>f</M> is a non-degenerate sesquilinear form. The <E>Witt
index</E><Index Key="Form" Subkey="sesquilinear">Witt Index</Index> of <M>f</M>
is the maximum dimension of a totally isotropic subspace with respect to
<M>f</M>.
<P/>
Let <M>f</M> be a sesquilinear form on <M>V(n,q)</M>, with radical <M>R</M>, a
<M>k</M>-dimensional subspace of <M>V(n,q)</M>, <M>0 \leq k \leq n</M>.
Then <M>f</M> induces a non-degenerate form <M>g</M> on <M>V/R</M>.
When <M>dim(R)=0</M>, then <M>g=f</M> and <M>f</M> is non-degenerate.
Notice that all totally isotropic subspaces of maximal dimension of a degenerate
form <M>f</M> contain the radical of <M>f</M>. In <Package>Forms</Package>, the notion
Witt index will <B>always refer to the induced non-degenerate form</B> <M>g</M>.
Hence, given a degenerate form <M>f</M>, computing its Witt index will return the Witt index
of the induced form <M>g</M>. <B>This also holds for the notions elliptic, parabolic
and hyperbolic for a bilinear form, which are notions defined using the Witt index, see below</B>.
<P/>
We end this section with a short description of the conventions used in
<Package>Forms</Package> for the notions orthogonal, symplectic, pseudo, hyperbolic, elliptic
and parabolic.
We call a form <M>f</M> <E>symplectic</E><Index Key="Form" Subkey="symplectic">Form</Index> if and only if <M>f</M> is
alternating. When the characteristic of the field is odd, we call a form
<M>f</M> <E>orthogonal</E><Index Key="Form" Subkey="orthogonal">Form</Index> if and only <M>f</M> is symmetric, and when the
characteristic of the field is even, we call a form <M>f</M> <E>pseudo</E><Index Key="Form" Subkey="pseudo">Form</Index> if
and only if <M>f</M> is symmetric but not alternating. 
This terminology is related to the theory of polar spaces, and in the case
of orthogonal forms, we adopt the terms <E>hyperbolic</E><Index Key="Form" Subkey="hyperbolic">Form</Index>, <E>elliptic</E><Index Key="Form" Subkey="elliptic">Form</Index> and <E>parabolic</E><Index Key="Form" Subkey="parabolic">Form</Index> for the three different isometry types of
orthogonal forms. From the point of view of matrix groups, these three
types correspond as follows. Recall that, as explained above, the Witt index refers to the Witt index
of the <B>induced non-degenerate form</B> <M>g</M> when <M>f</M> is degenerate.
<Table Align="l|l|l">
<Caption>Posibilites for an orthogonal form <M>f</M> on a vector space <M>V</M></Caption>
<HorLine/>
<Row>
  <Item>Hyperbolic</Item><Item>Orthogonal of + type</Item><Item>&vmodradf; has even dimension, <M>g</M> has maximal Witt index</Item>
</Row>
<Row>
  <Item>Elliptic</Item><Item>Orthogonal of - type</Item><Item>&vmodradf; has even dimension, <M>g</M> has non-maximal Witt index</Item>
</Row>
<Row>
  <Item>Parabolic</Item><Item>Orthogonal of o type</Item><Item>&vmodradf; has odd dimension</Item>
</Row>
<HorLine/>
</Table>

<Subsection>
<Heading>Examples</Heading>
The examples we present in this section do not demonstrate the entire suite of operations
entailed in <Package>Forms</Package>. They are intended to allow the user to become familiar
with particular aspects of this package. All the functionality for sesquilinear forms will be listed
in detail in the next chapter.
<P/>
We try to construct a bilinear form...
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex1.include"> 
</Example>
It is clear that the matrix used is not defining a reflexive bilinear form,
which causes the system to generate the error message. 
<P/>
We construct now a reflexive bilinear form. We investigate also the radical of the
form.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex2.include"> 
</Example>
<P/>
Degenerate forms are allowed. As an example we construct an alternating bilinear
form on an odd dimensional vector space.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex3.include"> 
</Example>
When the characteristic of the field equals two, alternating forms are also
symmetric. We construct an example.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex4.include"> 
</Example>

To define a hermitian form, we need a matrix and the companion automorphism. Since
this automorphism has order 2, it exists and is unique if the ground field has square order.
In the next example, the chosen matrix is somewhat special. Together with the companion
automorphism, it determines a hermitian sesquilinear form. Without the companion
automorphism, it determines an alternating bilinear form.

<Example><![CDATA[
gap> mat := [[0*Z(5),0*Z(5),0*Z(25),Z(25)^3],[0*Z(5),0*Z(5),Z(25)^3,0*Z(25)],
>         [0*Z(5),-Z(25)^3,0*Z(5),0*Z(5)],[-Z(25)^3,0*Z(5),0*Z(25),0*Z(25)]];
[ [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5^2)^3 ], [ 0*Z(5), 0*Z(5), Z(5^2)^3, 0*Z(5) ], 
  [ 0*Z(5), Z(5^2)^15, 0*Z(5), 0*Z(5) ], 
  [ Z(5^2)^15, 0*Z(5), 0*Z(5), 0*Z(5) ] ]
gap> form := HermitianFormByMatrix(mat,GF(25));
< hermitian form >
gap> Display(form);
Hermitian form
Gram Matrix:
z = Z(25)
    .    .    .  z^3
    .    .  z^3    .
    . z^15    .    .
 z^15    .    .    .
gap> WittIndex(form);
2
gap> form2 := BilinearFormByMatrix(mat,GF(25));
< bilinear form >
gap> Display(form2);
Bilinear form
Gram Matrix:
z = Z(25)
    .    .    .  z^3
    .    .  z^3    .
    . z^15    .    .
 z^15    .    .    .
gap> IsAlternatingForm(form2);
true
gap> Display(IsometricCanonicalForm(form));
Hermitian form
Gram Matrix:
 1 . . .
 . 1 . .
 . . 1 .
 . . . 1
Witt Index: 2
gap> Display(IsometricCanonicalForm(form2));
Bilinear form
Gram Matrix:
 . 1 . .
 4 . . .
 . . . 1
 . . 4 .
Witt Index: 2
]]></Example>
We continue the previous example by exploring a little bit the sesquilinear form
<A>form</A>, and hence demonstrate some of the functionality of the
<Package>Forms</Package> package. Eventually, we find a 2-dimensional totally
isotropic subspace, which lets us conclude that the Witt index of <M>form</M> is at
least 2, which is confirmed afterwards by calling the appropriate function.
<Example><![CDATA[
gap> V := GF(25)^4;
( GF(5^2)^4 )
gap> u := [Z(5)^0,Z(5^2)^11,Z(5)^3,Z(5^2)^13 ];
[ Z(5)^0, Z(5^2)^11, Z(5)^3, Z(5^2)^13 ]
gap> [u,u]^form;
0*Z(5)
gap> v := [Z(5)^0,Z(5^2)^5,Z(5^2),Z(5^2)^13 ];
[ Z(5)^0, Z(5^2)^5, Z(5^2), Z(5^2)^13 ]
gap> [v,v]^form;                                     
0*Z(5)
gap> [u,v]^form;
Z(5^2)^7
gap> ([v,u]^form)^5;
Z(5^2)^7
gap> w := [Z(5^2)^21,Z(5^2)^19,Z(5^2)^4,Z(5)^3 ];
[ Z(5^2)^21, Z(5^2)^19, Z(5^2)^4, Z(5)^3 ]
gap> [w,w]^form;
Z(5)
gap> v := [Z(5)^0,Z(5^2)^10,Z(5^2)^15,Z(5^2)^3 ];
[ Z(5)^0, Z(5^2)^10, Z(5^2)^15, Z(5^2)^3 ]
gap> u := [Z(5)^3,Z(5^2)^9,Z(5^2)^4,Z(5^2)^16 ];
[ Z(5)^3, Z(5^2)^9, Z(5^2)^4, Z(5^2)^16 ]
gap> w := [Z(5)^2,Z(5^2)^9,Z(5^2)^23,Z(5^2)^11 ];
[ Z(5)^2, Z(5^2)^9, Z(5^2)^23, Z(5^2)^11 ]
gap> [u,v]^form;
0*Z(5)
gap> [u,w]^form;
0*Z(5)
gap> [v,w]^form;
0*Z(5)
gap> s := Subspace(V,[v,u,w]);
<vector space over GF(5^2), with 3 generators>
gap> Dimension(s);
2
gap> WittIndex(form);
2
]]></Example>
</Subsection>
</Section>

<Section Label="quadforms">
<Heading>Quadratic forms</Heading>
A <E>quadratic form</E><Index Key="Form" Subkey="quadratic">Quadratic Form</Index>
on an <M>n</M>-dimensional vector space <M>V</M> over a field <M>F</M>, is a map
<M>Q</M> from <M>V</M> to <M>F</M> satisfying the following two conditions:
<Alt Only="Text"><Display>Q(\lambda v) = \lambda^2 Q(v),\, \forall \lambda \in F, \forall v \in V,</Display></Alt>
<Alt Only="LaTeX"><Display>Q(\lambda v) = \lambda^2 Q(v),\, \forall \lambda \in F, \forall v \in V,</Display></Alt>
<Alt Only="HTML MathJax"><Display>Q(\lambda v) = \lambda^2 Q(v),\, \forall \lambda \in F, \forall v \in V,</Display></Alt>
<Alt Only="HTML noMathJax"><Display>Q(&#955; v) = &#955;&lt;sup>2&lt;/sup> Q(v), for all &#955; in F, for all v in V,</Display></Alt>
and, the map <M>f</M> defined from <M>V\times V</M> to <M>F</M> as follows,
<Display>f(v,w) := Q(v+w) - Q(v) - Q(w),</Display>
is a bilinear form on <M>V</M>. From this definition it follows that <M>f(v,v) =
Q(2v) - 2Q(v) = 2Q(v)</M>. 
<P/>
The associated bilinear form <M>f</M> (which is called the <E>polar form</E> of <M>Q</M> in <Cite Key="Atlas"/>)
is clearly reflexive. When the
characteristic of the field is odd, it is clear that <M>f</M> 
is a symmetric bilinear form. The equation <M>f(v,v) = 2Q(v)</M> allows us to
reconstruct the quadratic form from the bilinear form, and hence there is a 
one-to-one correspondence between quadratic forms and symmetric bilinear forms. When the characteristic 
of the field equals 2, the bilinear form <M>f</M> is alternating (from the fact
that <M>f(v,v) = 2Q(v) = 0</M>). Note, however, that different quadratic forms can determine the
same alternating form. 
<P/>
As in the case of sesquilinear forms, we will associate a matrix to a quadratic
form. Choosing a basis of the vector space <M>V</M>, it is clear that an <M>n
\times n</M> matrix determines the quadratic form completely. In
<Package>Forms</Package>, the <E>Gram matrix</E> of a quadratic form is always an upper
triangle matrix <M>M</M>, such that
<Alt Only="Text"><Display>Q(v) = vMv^T,</Display></Alt><Alt Only="LaTeX"><Display>Q(v) = vMv^T,</Display></Alt>
<Alt Only="HTML MathJax"><Display>Q(v) = vMv^T,</Display></Alt><Alt Only="HTML noMathJax">&lt;center>Q(v)=vMv&lt;sup>T&lt;/sup>,&lt;/center></Alt>
where the basis of <M>V</M> is the standard basis. Although the Gram matrix
stored with the quadratic form is always an upper triangle matrix, the user is
allowed to use any matrix to define the quadratic form, since any matrix
<M>M</M> defines a quadratic form <Alt Only="Text"><M>Q(v) := vMv^T</M></Alt>
<Alt Only="LaTeX"><M>Q(v) := vMv^T</M></Alt><Alt Only="HTML MathJax"><M>Q(v) := vMv^T</M></Alt>
<Alt Only="HTML noMathJax">Q(v):=vMv&lt;sup>T&lt;/sup></Alt>. During the construction,
an appropriate upper triangle matrix is computed and stored as the Gram matrix. 
So the Gram matrix of the associated bilinear form is <Alt Only="Text"><M>M+M^T</M>.</Alt>
<Alt Only="LaTeX"><M>M+M^T</M>.</Alt><Alt Only="HTML MathJax"><M>M+M^T</M>.</Alt>
<Alt Only="HTML noMathJax">M+M&lt;sup>T&lt;/sup>.</Alt>
<P/>
The associated bilinear form could be used to define the notions ``isotropic'',
``totally isotropic'' and ``non-degenerate'', however, under these restrictions
the geometry of quadratic forms in even characteristic is lost. In most of the 
literature, these notions refer indeed to the associated
bilinear form, and the notion of ``singularity'' is added to regain
the geometrical structure. 
<P/>In <Package>Forms</Package>, we use the above described approach. This means
that a vector is isotropic if and only if it is isotropic with respect to the
associated bilinear form. A subspace is totally isotropic if and only if it is
totally isotropic with respect to the associated bilinear form, and we call the
quadratic form degenerate if and only if the associated bilinear form is
degenerate. 
<P/>
A vector <M>v</M> is called <E>singular</E> with relation to the
quadratic form <M>Q</M> if and only if <M>Q(v)=0</M>. two vectors <M>v</M> and
<M>w</M> are <E>orthogonal</E><Index Key="Form" Subkey="orthogonal">Form</Index> with respect to <M>Q</M>
if and only if they are orthogonal with respect to the associated bilinear form
<M>f</M>. The <E>radical</E> of the quadratic form <M>Q</M>, is the intersection
of the set of all singular vectors with relation to <M>Q</M> and the radical of
the associated bilinear form <M>f</M>, i.e.
<Alt Only="Text"><Display>Rad(Q) = \{v \in V | Q(v) = 0\,\, \mathrm{and}\,\, v \in Rad(f)\}.</Display></Alt>
<Alt Only="LaTeX"><Display>&rad;(Q) = \{v \in V | Q(v) = 0\,\, \mathrm{and}\,\, v \in &rad;(f)\}.</Display></Alt>
<Alt Only="HTML MathJax"><Display>&rad;(Q) = \{v \in V | Q(v) = 0\,\, \mathrm{and}\,\, v \in &rad;(f)\}.</Display></Alt>
<Alt Only="HTML noMathJax">&lt;center>Rad(Q) = {v &#8712; V | Q(v) = 0 and v &#8712; Rad(f)}.&lt;/center></Alt>
We call a quadratic form <M>Q</M> <E>non-singular</E> if and only if the radical
contains only the zero vector, and <E>singular</E> otherwise.
<P/>
A subspace <M>W</M> of the
vector space is called <E>totally singular</E> if and only if all vectors of
<M>W</M> are singular, i.e., <M>Q</M> vanishes totally on <M>W</M>. Necessarily,
a totally singular subspace is also totally isotropic with relation to the
associated bilinear form <M>f</M>, but the converse is only true when the
characteristic of the field is odd.
<P/>Suppose now that <M>Q</M> is a non-singular quadratic form. The <E>Witt
index</E> of <M>Q</M> is the maximum dimension of a totally singular subspace with
respect to <M>Q</M>.
<P/>
Let <M>Q</M> be a quadratic form on <M>V(n,q)</M>, with radical <M>R</M>, a
<M>k</M>-dimensional subspace of <M>V(n,q)</M>, <M>0 \leq k \leq n</M>.
Then <M>Q</M> induces a non-singular form <M>Q'</M> on <M>V/R</M>.
When <M>dim(R)=0</M>, then <M>Q=Q'</M> and <M>Q</M> is non-singular.
Notice that all totally singular subspaces of maximal dimension of a singular
form <M>Q</M> contain the radical of <M>Q</M>. In <Package>Forms</Package>, the notion
Witt index will <B>always refer to the induced non-singular form</B> <M>Q'</M>.
Hence, given a singular form <M>Q</M>, computing its Witt index will return the Witt index
of the induced form <M>Q'</M>. <B>This also holds for the notions elliptic, parabolic
and hyperbolic for a quadratic form, which are notions defined using the Witt index, see below</B>.
<P/>

The terminology<E>hyperbolic</E><Index Key="Form" Subkey="hyperbolic">Form</Index>,
<E>elliptic</E><Index Key="Form" Subkey="elliptic">Form</Index> and
<E>parabolic</E><Index Key="Form" Subkey="parabolic">Form</Index> is also used
for quadratic forms, and is defined analogously as for the bilinear forms using the
Witt index. Also in the case of quadratic forms, this terminology is related to the theory of
polar spaces. Recall that, as explained above, the Witt index refers to the Witt index
of the <B>induced non-singular form</B> <M>Q</M> when <M>Q'</M> is singular.
<Table Align="l|l|l">
<Caption>Posibilites for a quadratic form <M>Q</M> on a vector space <M>V</M></Caption>
<HorLine/>
<Row>
  <Item>Hyperbolic</Item><Item>Orthogonal of + type</Item><Item>&vmodradq; has even dimension, <M>Q'</M> has maximal Witt index</Item>
</Row>
<Row>
  <Item>Elliptic</Item><Item>Orthogonal of - type</Item><Item>&vmodradq; has even dimension, <M>Q'</M> has non-maximal Witt index</Item>
</Row>
<Row>
  <Item>Parabolic</Item><Item>Orthogonal of o type</Item><Item>&vmodradq; has odd dimension</Item>
</Row>
<HorLine/>
</Table>

From the above definitions, it follows that, when the characteristic of the field
differs from 2, a quadratic form <M>Q</M> is non-singular if and only if its
associated bilinear form <M>f</M> is non-degenerate. When the characteristic of
the field is 2, one can easily construct non-singular quadratic forms, with a
degenerate associated bilinear form. We will give an example of this situation
in the next section.
<Subsection>
<Heading>Examples</Heading>
We construct some quadratic forms to demonstrate some funcionality of
<Package>Forms</Package>. As in the previous example section, they are intended
to allow the user to gain some familiarity. All the functionality
for quadratic forms will be listed in detail in the next chapter.
<P/>
The user can construct quadratic forms using any matrix (provided it has the
right dimension). The Gram matrix is always stored as an upper triangle matrix,
as explained above.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex6.include"> 
</Example>
In the previous example, we saw how we used a polynomial to display a
quadratic form. Conversely, <Package>Forms</Package> allows the user to
construct (quadratic) forms using a polynomial.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex7.include"> 
</Example>
We construct now two different quadratic forms with the same associated bilinear form.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex8.include"> 
</Example>
We end with an example of a non-singular quadratic form with a degenerate
associated bilinear form.
<Example>
<#Include SYSTEM "../examples/include/bg_th_ex9.include"> 
</Example>

</Subsection>
</Section>
</Chapter>
