Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 1481

gap-system-4.4.12-5mdv2010.0.i586.rpm

  
  2. Examples
  
  Here  we give some simple examples that display some of the functionality of
  Forms.
  
  
  2.1 A conic of PG(2,8)
  
  Consider  the  three-dimensional  vector  space  V=GF(8)^3  over  GF(8), and
  consider the following quadratic polynomial in 3 variables:
  
  \[
       x_1^2+x_2x_3.
  \]
  
  Then  this  polynomial  defines  a  quadratic form in V and the zeros form a
  conic  of  the  associated projective plane. So in particular, our quadratic
  form defines a degenerate parabolic quadric of Witt Index 1. We will see now
  how we can use Forms to view this example.
  
  ---------------------------  Example  ----------------------------
    gap> gf := GF(8);
    GF(2^3)
    gap> vec := gf^3;
    ( GF(2^3)^3 )
    gap> r := PolynomialRing( gf, 3 );
    GF(2^3)[x_1,x_2,x_3]
    gap> poly := r.1^2 + r.2 * r.3;
    x_1^2+x_2*x_3
    gap> form := QuadraticFormByPolynomial( poly, r );
    < quadratic form >
    gap> Display( form );
    Quadratic form
    Gram Matrix:
     1 . .
     . . 1
     . . .
    Polynomial: x_1^2+x_2*x_3
    gap> IsDegenerateForm( form );
    true
    gap> WittIndex( form );
    1
    gap> IsParabolicForm( form );
    true
    gap> RadicalOfForm( form );
    <vector space of dimension 1 over GF(2^3)>
  ------------------------------------------------------------------
  
  Now  our  conic  is  stabilised by GO(3,8), but not the same GO(3,8) that is
  installed in GAP. However, our conic is the canonical conic given in Forms.
  
  ---------------------------  Example  ----------------------------
    gap> canonical := IsometricCanonicalForm( form );
    < quadratic form >
    gap> form = canonical;
    true
  ------------------------------------------------------------------
  
  So we ``change forms''...
  
  ---------------------------  Example  ----------------------------
    gap> go := GO(3,8);
    GO(0,3,8)
    gap> mat := InvariantQuadraticForm( go )!.matrix;
    [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2) ], 
    [ 0*Z(2), Z(2)^0, 0*Z(2) ] ]
    gap> gapform := QuadraticFormByMatrix( mat, GF(8) );
    < quadratic form >
    gap> b := BaseChangeToCanonical( gapform );
    [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], 
    [ 0*Z(2), 0*Z(2), Z(2)^0 ]  ]
    gap> hom := BaseChangeHomomorphism( b, GF(8) );
    ^[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], 
    [ 0*Z(2), 0*Z(2), Z(2)^0 ] ]
    gap> newgo := Image(hom, go);
    Group([ [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2^3), 0*Z(2) ], 
    [ 0*Z(2), 0*Z(2), Z(2^3)^6 ] ],  [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], 
    [ Z(2)^0, Z(2)^0, Z(2)^0 ], [ 0*Z(2), Z(2)^0, 0*Z(2) ] ] ])
  ------------------------------------------------------------------
  
  Now we look at the action of our new GO(3,8) on the conic.
  
  ---------------------------  Example  ----------------------------
    gap> conic := Filtered(vec, x -> IsZero( x^form ));;
    gap> Size( conic );
    64
    gap> orbs := Orbits(newgo, conic, OnRight);;
    gap> List(orbs, Size);
    [ 1, 63 ]
  ------------------------------------------------------------------
  
  So  we see that there is a fixed point, which is actually the nucleus of the
  conic, or in other words, the radical of the form.
  
  
  2.2 A form for W(5,3)
  
  The  symplectic  polar  space  W(5,q) is defined by an alternating reflexive
  bilinear  form  on  the six-dimensional vector space GF(q)^6. Any invertible
  6times 6 matrix A which satisfies A+A^T=0 is a candidate for the Gram matrix
  of  a  symplectic  polarity.  The  canonical  form  we adopt in Forms for an
  alternating form is
  
  \[
       f(x,y)=x_1y_2-x_2y_1+x_3y_4-x_4y_3\cdots+x_{2n-1}y_{2n}-x_{2n}y_{2n-1}.
  \]
  
  ---------------------------  Example  ----------------------------
    gap> f := GF(3);
    GF(3)
    gap> gram := [
    [0,0,0,1,0,0], 
    [0,0,0,0,1,0],
    [0,0,0,0,0,1],
    [-1,0,0,0,0,0],
    [0,-1,0,0,0,0],
    [0,0,-1,0,0,0]] * One(f);;
    gap> form := BilinearFormByMatrix( gram, f );
    < bilinear form >
    gap> IsSymplecticForm( form );
    true
    gap> Display( form );
    Bilinear form
    Gram Matrix:
     . . . 1 . .
     . . . . 1 .
     . . . . . 1
     2 . . . . .
     . 2 . . . .
     . . 2 . . .
    gap> b := BaseChangeToCanonical( form );;
    gap> Display( b );
     . . . . . 1
     . . 2 . . .
     . . . . 1 .
     . 2 . . . .
     . . . 1 . .
     2 . . . . .
    gap> Display( b * gram * TransposedMat(b) );
     . 1 . . . .
     2 . . . . .
     . . . 1 . .
     . . 2 . . .
     . . . . . 1
     . . . . 2 .
  ------------------------------------------------------------------