|
| 1 | +# Forms, chapter 2 |
| 2 | +# |
| 3 | +# DO NOT EDIT THIS FILE - EDIT EXAMPLES IN THE SOURCE INSTEAD! |
| 4 | +# |
| 5 | +# This file has been generated by AutoDoc. It contains examples extracted from |
| 6 | +# the package documentation. Each example is preceded by a comment which gives |
| 7 | +# the name of a GAPDoc XML file and a line range from which the example were |
| 8 | +# taken. Note that the XML file in turn may have been generated by AutoDoc |
| 9 | +# from some other input. |
| 10 | +# |
| 11 | +gap> START_TEST( "forms01.tst"); |
| 12 | + |
| 13 | +# doc/examples.xml:37-66 |
| 14 | +gap> gf := GF(8); |
| 15 | +GF(2^3) |
| 16 | +gap> vec := gf^3; |
| 17 | +( GF(2^3)^3 ) |
| 18 | +gap> r := PolynomialRing( gf, 3);; |
| 19 | +gap> poly := r.1^2 + r.2 * r.3; |
| 20 | +x_1^2+x_2*x_3 |
| 21 | +gap> form := QuadraticFormByPolynomial( poly, r ); |
| 22 | +< quadratic form > |
| 23 | +gap> Display( form ); |
| 24 | +Quadratic form |
| 25 | +Gram Matrix: |
| 26 | + 1 . . |
| 27 | + . . 1 |
| 28 | + . . . |
| 29 | +Polynomial: x_1^2+x_2*x_3 |
| 30 | + |
| 31 | +gap> IsDegenerateForm( form ); |
| 32 | +#I Testing degeneracy of the *associated bilinear form* |
| 33 | +true |
| 34 | +gap> IsSingularForm( form ); |
| 35 | +false |
| 36 | +gap> WittIndex( form ); |
| 37 | +1 |
| 38 | +gap> IsParabolicForm( form ); |
| 39 | +true |
| 40 | +gap> RadicalOfForm( form ); |
| 41 | +<vector space over GF(2^3), with 0 generators> |
| 42 | + |
| 43 | +# doc/examples.xml:72-77 |
| 44 | +gap> canonical := IsometricCanonicalForm( form ); |
| 45 | +< parabolic quadratic form > |
| 46 | +gap> form = canonical; |
| 47 | +true |
| 48 | + |
| 49 | +# doc/examples.xml:79-99 |
| 50 | +gap> go := GO(3,8); |
| 51 | +GO(0,3,8) |
| 52 | +gap> mat := InvariantQuadraticForm( go )!.matrix; |
| 53 | +[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2) ], |
| 54 | + [ 0*Z(2), Z(2)^0, 0*Z(2) ] ] |
| 55 | +gap> gapform := QuadraticFormByMatrix( mat, GF(8) ); |
| 56 | +< quadratic form > |
| 57 | +gap> b := BaseChangeToCanonical( gapform ); |
| 58 | +[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], |
| 59 | + [ 0*Z(2), 0*Z(2), Z(2)^0 ] ] |
| 60 | +gap> hom := BaseChangeHomomorphism( b, GF(8) ); |
| 61 | +^[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], |
| 62 | + [ 0*Z(2), 0*Z(2), Z(2)^0 ] ] |
| 63 | +gap> newgo := Image(hom, go); |
| 64 | +Group( |
| 65 | +[ [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2^3), 0*Z(2) ], [ 0*Z(2), 0*Z(2), |
| 66 | + Z(2^3)^6 ] ], |
| 67 | + [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ Z(2)^0, Z(2)^0, Z(2)^0 ], |
| 68 | + [ 0*Z(2), Z(2)^0, 0*Z(2) ] ] ]) |
| 69 | + |
| 70 | +# doc/examples.xml:103-110 |
| 71 | +gap> conic := Filtered(vec, x -> IsZero( x^form ));; |
| 72 | +gap> Size(conic); |
| 73 | +64 |
| 74 | +gap> orbs := Orbits(newgo, conic, OnRight);; |
| 75 | +gap> List(orbs,Size); |
| 76 | +[ 1, 63 ] |
| 77 | + |
| 78 | +# doc/examples.xml:138-182 |
| 79 | +gap> f := GF(3); |
| 80 | +GF(3) |
| 81 | +gap> gram := [ |
| 82 | +> [0,0,0,1,0,0], |
| 83 | +> [0,0,0,0,1,0], |
| 84 | +> [0,0,0,0,0,1], |
| 85 | +> [-1,0,0,0,0,0], |
| 86 | +> [0,-1,0,0,0,0], |
| 87 | +> [0,0,-1,0,0,0]] * One(f);; |
| 88 | +gap> form := BilinearFormByMatrix( gram, f ); |
| 89 | +< bilinear form > |
| 90 | +gap> IsSymplecticForm( form ); |
| 91 | +true |
| 92 | +gap> Display( form ); |
| 93 | +Symplectic form |
| 94 | +Gram Matrix: |
| 95 | + . . . 1 . . |
| 96 | + . . . . 1 . |
| 97 | + . . . . . 1 |
| 98 | + 2 . . . . . |
| 99 | + . 2 . . . . |
| 100 | + . . 2 . . . |
| 101 | +gap> b := BaseChangeToCanonical( form ); |
| 102 | +[ [ Z(3)^0, 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ], |
| 103 | + [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3), 0*Z(3) ], |
| 104 | + [ 0*Z(3), Z(3)^0, 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ], |
| 105 | + [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3) ], |
| 106 | + [ 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3), 0*Z(3), 0*Z(3) ], |
| 107 | + [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0 ] ] |
| 108 | +gap> Display( b ); |
| 109 | + 1 . . . . . |
| 110 | + . . . 1 . . |
| 111 | + . 1 . . . . |
| 112 | + . . . . 1 . |
| 113 | + . . 1 . . . |
| 114 | + . . . . . 1 |
| 115 | +gap> Display( b * gram * TransposedMat(b) ); |
| 116 | + . 1 . . . . |
| 117 | + 2 . . . . . |
| 118 | + . . . 1 . . |
| 119 | + . . 2 . . . |
| 120 | + . . . . . 1 |
| 121 | + . . . . 2 . |
| 122 | + |
| 123 | +# doc/examples.xml:197-219 |
| 124 | +gap> go := GO(5, 5); |
| 125 | +GO(0,5,5) |
| 126 | +gap> x := |
| 127 | +> [ [ Z(5)^0, Z(5)^3, 0*Z(5), Z(5)^3, Z(5)^3 ], |
| 128 | +> [ Z(5)^2, Z(5)^3, 0*Z(5), Z(5)^2, Z(5) ], |
| 129 | +> [ Z(5)^2, Z(5)^2, Z(5)^0, Z(5), Z(5)^3 ], |
| 130 | +> [ Z(5)^0, Z(5)^3, Z(5), Z(5)^0, Z(5)^3 ], |
| 131 | +> [ Z(5)^3, 0*Z(5), Z(5)^0, 0*Z(5), Z(5) ] |
| 132 | +> ];; |
| 133 | +gap> go2 := go^x; |
| 134 | +<matrix group of size 18720000 with 2 generators> |
| 135 | +gap> forms := PreservedSesquilinearForms( go2 ); |
| 136 | +[ < bilinear form > ] |
| 137 | +gap> Display( forms[1] ); |
| 138 | +Bilinear form |
| 139 | +Gram Matrix: |
| 140 | + 4 2 4 3 3 |
| 141 | + 2 2 2 3 3 |
| 142 | + 4 2 3 1 4 |
| 143 | + 3 3 1 2 4 |
| 144 | + 3 3 4 4 3 |
| 145 | + |
| 146 | +# |
| 147 | +gap> STOP_TEST("forms01.tst", 1 ); |
0 commit comments