  
  [1X1 [33X[0;0YIntroduction[133X[101X
  
  
  [1X1.1 [33X[0;0YPhilosophy[133X[101X
  
  [33X[0;0Y[5XForms[105X  is  a  package for computing with sesquilinear and quadratic forms on
  finite  vector  spaces.  It provides users with the basic algebraic tools to
  work  with classical groups and polar geometries, and enables one to specify
  a  form  and  its  corresponding  geometry. The functionality of the package
  includes:[133X
  
  [30X    [33X[0;6Ythe construction of sesquilinear and quadratic forms;[133X
  
  [30X    [33X[0;6Yoperations  which  allow  a  user  to  change coordinates, that is, to
        ``change  form''  and  work in an isometric (or similar) formed vector
        space; and[133X
  
  [30X    [33X[0;6Ya way to determine the form(s) left invariant by a matrix group (up to
        a scalar).[133X
  
  
  [1X1.2 [33X[0;0YOverview over this manual[133X[101X
  
  [33X[0;0YThe  next  chapter ([14X2[114X) gives some basic examples of the use of this package.
  In  "Background  Theory of Forms" (Chapter [14X3[114X) we revise the basic notions of
  the  theory  of  sesquilinear  and  quadratic  forms,  where we also set the
  notation and conventions adopted by this package. In "Constructing forms and
  basic  functionality"  (Chapter  [14X4[114X), we describe all operations to construct
  sesquilinear and quadratic forms and basic attributes and properties that do
  not  require  morphisms.  In  "Morphims  of forms" (Chapter [14X5[114X) we revise the
  basic  notions of morphisms of forms, and the classification of sesquilinear
  and  quadratic  forms  on  vector  spaces  over  finite  fields. Operations,
  attributes  and  properties that are related to the computation of morphisms
  of forms, are also described in this chapter.[133X
  
  
  [1X1.3 [33X[0;0YHow to read this manual[133X[101X
  
  [33X[0;0YWe  have  tried to make this manual pleasant to read for the general reader.
  So  it  is inevitable that we will use Greek symbols and simple mathematical
  formulas.  To  make these visible in the HTML version of this documentation,
  you may have to change the default character set of your browser to UTF-8.[133X
  
  
  [1X1.4 [33X[0;0YWeb resources[133X[101X
  
  [30X    [33X[0;6YFind   [5XForms[105X   on   the   Packages   section   of   the   GAP-website:
        [7Xhttps://www.gap-system.org/Packages/forms.html[107X.[133X
  
  [30X    [33X[0;6YFind [5XForms[105X on its homepage: [7Xhttps://gap-packages.github.io/forms[107X.[133X
  
  [30X    [33X[0;6YReport  bugs,  questions  and  issues  on  the  [5XForms[105X  issue  tracker:
        [7Xhttps://github.com/gap-packages/forms/issues[107X[133X
  
  
  [1X1.5 [33X[0;0YRelease notes[133X[101X
  
  [33X[0;0YVersion  1.2.1  of  [5XForms[105X contains some changed and extra functionality with
  relation  to  trivial  forms. The changed and new functionality is described
  completely  in Section [14X4.9[114X. We gratefully acknowledge the useful feedback of
  Alice Niemeyer.[133X
  
  [33X[0;0YIn  version  1.2.2 of [5XForms[105X a minor bug, pointed out by John Bamberg, in the
  code  of  [11XIsTotallyIsotropicSubspace[111X  is  repaired.  On  the occasion of the
  release  of  the first beta versions of GAP4r5, we changed the names of some
  global  functions  such that a name clash becomes unlikely. Version 1.2.2 of
  [5XForms[105X is compatible with GAP4r4 and GAP4r5.[133X
  
  [33X[0;0YVersion  1.2.3  contains  a  new  operation  [11XTypeOfForm[111X.  Together with this
  addition,  some parts of the documentation, especially concerning degenerate
  and  singular  forms,  have  been  edited. A bug found in the methods for [11X\^[111X
  applicable on a pair of vectors and a hermitian form, and a pair of matrices
  and  a hermitian form has been fixed. A series of test files is now included
  in  the  tst  directory.  Alexander Konovalov pointed out the the init.g and
  read.g  files  had  windows  line  breaks,  this is also fixed. Finally, the
  documentation has been recompiled with the MathJax option.[133X
  
  [33X[0;0YMax  Horn pointed out that we still used the deprecated GAP_ROOT_PATHS. This
  has  been  changed  now  into GAPInfo.RootPaths in version 1.2.4. More tests
  have  been  added to reach a better code coverage. Due to these tests, a bug
  in  one  of the methods for [10XEvaluateForm[110X was discovered and fixed. Alexander
  Konovalov noted that we used the deprecated [11XReadTest[111X in our test files. This
  has  been  changed  to  [11XTest[111X. Finally some LaTeX issues were resolved in the
  documentation.[133X
  
  [33X[0;0YIn version 1.2.5, some small changes were made to the recognition part. Some
  new examples in the documentation explain better the functionality.[133X
  
  [33X[0;0YVersion   1.2.6   is  an  intermediate  update.  It  contains  a  number  of
  corrections/additions  suggested/implemented  by Thomas Breuer and Max Horn,
  including  an  extension  of  some GAP library functions to create classical
  matrix groups. These additions are not yet documented.[133X
  
  [33X[0;0YIn version 1.2.7, only an issue with the automatic release was fixed.[133X
  
  [33X[0;0YVersion  1.2.8  optimizes the computation of base change matrices, making it
  faster  by  several orders of magnitude for large inputs. Moreover, Max Horn
  was  added  to  the list of maintainers. Finally, various janitorial changes
  were made.[133X
  
  [33X[0;0YVersion  1.2.9  fixes  an  unexpected  error in [10XBaseChangeToCanonical[110X if the
  input was over a finite field with more than 256 elements.[133X
  
  [33X[0;0YVersion  1.2.10  optimizes  the  computation  of  base  change  matrices for
  symplectic and quadratic forms.[133X
  
  [33X[0;0YVersion  1.2.11  optimizes  the  computation  of  base  change  matrices for
  hermitian and quadratic forms. It also fixes a regression in the base change
  computation for bilinear forms introduced in 1.2.10; and a long-standing bug
  in the base change computation for degenerate alternating forms.[133X
  
