|
|
|
|
Quelle chap7_mj.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/fining/doc/chap7_mj.html |
 |
<? ":/w3org/TRxhtml1//xhtml1xhtml1-strict.td"
<! DOCTYPEhtml xmlnshttp:/.rg 1999/ html xml:lang=e "
"http://www. src":/../ajaxajaxlibs/ 2./athJaxj?config=TeX- "
< html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en">
< head>
< script type= "text/javascript"
src= "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</ script>
< title>GAP (FinInG) - Chapter 7: Finite Classical Polar Spaces</ title>
< meta http-equiv= "content-type" content= "text/html; charset=UTF-8" />
< meta name= "meta name="generatorcontent=GAPDoc2HTML" /
<ink=s " ="text/ss = "."/
< script src= "manual.scriptsrc="manual.js =text/avascript>/cript
<;<script>
</ head>
< body
< div class= "chlinktop">< span class= "chlink1">Goto java.lang.StringIndexOutOfBoundsExcep tion: Index 56 out of bounds for length 0
<div class="chlinkprevnexttop">nbsp;a href=".">TopofBook<a < href"chap0_mj.#contents"[Contents</a>nbsp; &;<a href=chap6_mj."[Chapter]/a> href="hap8_mj.html">NextChapter]/>&bsp;<div>
<p id="mathjaxlink" class="pcenter"><a href="chap7.html">[MathJax off]</a></p>
<p><a id="X7F96B1327C022A28" name="X7F96B1327C022A28"></a></p>
<div class="ChapSects"><a href="chap7_mj.html#X7F96B1327C022A28">7 <span class="Heading">Finite Classical Polar Spaces</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7F96B1327C022A28">7.1 <span class="Heading">Finite Classical Polar Spaces</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X83A92A177BE4E0BB">7.1-1 java.lang.StringIndexOutOfBoundsException: Range [0, 135) out of bounds for length 0
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X863BC8E57C98A471">7.1-2 PolarSpace</a></span>
</div></div>
<div class="ContSect"><span class="tocline">
<span>
<div class="p><a id="X7F96B1327C022A name=X7F96B1327C022A28">/</p
< class=C"br >span "nocss"&; </span>a href="chap7_mj.X850980EF8607BDA7">7.2-1 SymplecticSpace</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href">. <class="Heading"Finite Spaces<span>/>
< ""<br/< class=""&; </span>ahref=chap7_mj.#X7CEDD5CC7A6B0E64>.23 </a></span
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X7CF248A2864BCD8F">7.2-4 HyperbolicQuadric</a></java.lang.StringIndexOutOfBoundsException: Range [1, 141) out of bounds for length 135
<span class="ContSS"><br /><span class="java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 12
<span ">7.2-6 IsCanonicalPolarSpace</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X8240380A7F8B6EC3">7.2-7 CanonicalPolarSpace</a/pan
<java.lang.StringIndexOutOfBoundsException: Range [143, 144) out of bounds for length 143
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7A04340A7EC9215B">7.3 <span class=span class=ContSS> >spanclass"">&;nbsp;</span>ahref=chap7_mj.htmlXACF840833D3D8B"722HermitianPolarSpacea>/>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </spanspan class=ContSS">br/< class=""&&;/>ah=chap7_mj.tml#"72- </</span
< =""> /<panclass=nocss"&;&bsp<span>a "chap7_mjhX8606750A8586DF8D3-2 </>/>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#span =ContSS">br /span class=n"&;n;span> =c.#">26 IsCanonicalPolarSpace<a</java.lang.StringIndexOutOfBoundsException: Index 146 out of bounds for length 146
<span class="ContSS"><br /><span class="nocss"> &<span class="ContSS"><br /><span class="nocss">   href=chtml#7E25EDF7ADC30D77. </a<span>
<span class="ContSS"><br
<span class="ContSS"><br /><span class="nocss"> d class=ContSect>spanclass="< "nocss>nbsp;/span><a href="chap7_mjhtmlX7"73 span ""Basic operations finite spaces<span></java.lang.StringIndexOutOfBoundsException: Index 206 out of bounds for length 206
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X85386DAB8056E316">7.3-7 span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X8606750A8586DF8D">7.3-2 AmbientSpace
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X87ADB8B5790776C7">7.3-8 IsParabolicQuadric</aspan class=span =nocss" &bsp;<span>a ="hap7_mj.htmlX"34Rank</a>/span
</div></div>
<div class="ContSect"><span class="tocline"><span class=span class="< /< class=n">&bsp;nbsp;/>a =chap7_mj.tmlX8412E6307ACC82C2>.- IsHyperbolicQuadric/>/java.lang.StringIndexOutOfBoundsException: Index 144 out of bounds for length 144
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss<span class=="ontSS>br /span =nocss"&; <span< href=chap7_mj.tml#java.lang.StringIndexOutOfBoundsException: Range [107, 106) out of bounds for length 143
<class="ContSS"< >span "nocss"nbspnbsp<span<href"hap7_mj.tml#8461BCEF862B9A7B">7.4- </a>/span>
<span class="div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X87657AEF7E2C50F9">7.4-4 ElementsOfIncidenceStructure</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X8606750A8586DF8D">7.4-5 AmbientSpace</a></span>
<span class
</div></div>
<div class="ContSect"><span class="spanclass"ContSS"< >< class="ocss"&;nbsp;</><a href=chap7_mj.#84"7.- ProjectiveDimensiona<span>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html.4-5AmbientSpace/java.lang.StringIndexOutOfBoundsException: Range [130, 129) out of bounds for length 137
</span>
< =/<java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 129
< java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 129
<panclass=C"><br />< class="nocss"&;&;/span>a href=chap7_mj.#81760447java.lang.StringIndexOutOfBoundsException: Range [108, 106) out of bounds for length 136
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X7EBD8C07802562B7">7.5-5 PolarityOfProjectiveSpace</a></span>
< class"ContSS"<br >spanclass"nocss>nbsp;nbsp;/><a href=c.html#X863F1924805F6C63">7.5-6TypeOfSubspace>/>
< class=C"</< class=nocss">nbsp;&bsp<java.lang.StringIndexOutOfBoundsException: Range [67, 65) out of bounds for length 137
<span class="ContSS"><br /div ="ontSSBlock">
<java.lang.StringIndexOutOfBoundsException: Range [45, 5) out of bounds for length 137
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7AA14EDF7B0B1569">7.6 <span class="Heading">Shadow of elements</span></a>
<span>
<div class="ContSSBlock">
<>
<span class="ContSS"><br/<class=nocss"&; <span>href="chap7_mj.html#81A8365A7FE68447>.-2 ElementsIncidentWithElementOfIncidenceStructure<a</span
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7988AF9978E75E37">7.7 <span class="Heading">Projective Orthogonal/Unitary/Symplectic groups in <strong class="pkg">FinInG</strong></span></a>
</span>
<divclass"">
< class"ontSS">br >=nocss"& <span< href=chap7_mjhtml#"771 <a</spanjava.lang.StringIndexOutOfBoundsException: Index 145 out of bounds for length 145
<pan class=C"< /></>span =nocss" &;/pan>a ".#X87708229834E4C44>.-2 IsometryGroup/a>/span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X812836E48364AE6D">7.7-3 SimilarityGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a/div>/
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X855D48A07E0BBCDB">7.8 <span java.lang.StringIndexOutOfBoundsException: Index 133 out of bounds for length 7
<spanjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
<class"ontSSBlock
<span class="ContSS"><br/>/div
<span>
<span /span
<java.lang.StringIndexOutOfBoundsException: Range [24, 5) out of bounds for length 173
</pan>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html#X83ADF8287ED0668E">7.8-4 Iterator</a></span>
< =">br /< ="ocss"  <java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 131
</div></div>
</div>
<h3>7 <span class="Heading">Finite Classical Polar Spaces</span></h3>
<p>In this chapterspan class">br >span class="&;&;/<ajava.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 140
<><id" "X7F96B1327C022A28>a>/>
<h4>7.1 <span class="Heading<div><div>
<p>A/span>
<java.lang.StringIndexOutOfBoundsException: Range [10, 2) out of bounds for length 611
<p>From the axiomatic point of view, a polar space is a point-line geometry, and has rank at least 2. Considering a sesquilinearspan "">br/<c""&&<span>a =chap7_mjhtml#7AB1BA95825BDE71">.- span class=Heading"> <span>/>
<p><a id="X83A92A177BE4E0BB" name="X83A92A177BE4E0BB"></a></p>
<h5>7.1-1 IsClassicalPolarSpace</h5>
<div class="func"><tablespan class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.span class="ContSS"><br /><span class="nocss"> </span><a href="chap7_mj.html.- AsList<a</java.lang.StringIndexOutOfBoundsException: Index 131 out of bounds for length 131
<p>This p>In this describehow < class=p">inInG</strong>to workwith inite classical polar .p>
<>The vector and matrixgroup re our in the ofclassicalpolar . the <href="chapBib_mj.html#biBHirschfeldThas">[HT91]</a> and <a href="chapBib_mj.html#biBCameron">[Cam00b]</a> for the necessary background theory (if it is not otherwise provided), and we follow the java.lang.StringIndexOutOfBoundsException: Range [0, 342) out of bounds for length 0
<p>Consider the projective space <span class="SimpleMath">\(\mathrm{PG}(n,q)\)</span> with underlying vector
<p>Symmetric bilinear forms have completely different geometric properties in even characteristic than in odd characteristic. On the other hand, polar spaces geometrically comparable to orthogonal polar spaces in odd characteristic, do exist in even characteristic. The algebraic background is now established by quadratic forms on a vector space instead of bilinear forms. Consider a non-singular quadratic form <span class="SimpleMath">\(q\)</span> on a vector space <span class="SimpleMath">\(V(n+1,q)\)</span>. The classical polar space associated with <span class="SimpleMath">\(f\)</span> is the incidence geometry whose elements are the subspaces of <span class="SimpleMath">\(\mathrm{PG}(n,q)\)</span> whose underlying vector subspace is totally singular with relation to <span class="SimpleMath">\(q\)</span>. The connection with orthogonal polar spaces in odd characteristic is clear, since in odd characteristic, quadratic forms and symmetric bilinear forms are equivalent. Therefore, we call polar spaces with an underlying quadratic form in even characteristic also <em>orthogonal</em> polar spaces.</p>
<p><a id="X863BC8E57C98A471" name="X863BC8E57C98A471"></a></p>
<h5>7.1-2 PolarSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PolarSpace</code>( <var class="Arg">form</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PolarSpace</code>( <var class="Arg">pol</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a classical polar space</p>
<p><var class="Arg">form</var> must be a sesquilinear or quadratic form created by use of the GAP package <strong class="pkg">Forms</strong>. In the second variant, the argument <var class="Arg">pol</var> must be a polarity of a projective space. An error message will be displayed if <var class="Arg">pol</var> is a pseudo polarity. We refer to Chapter <a href="chap6_mj.html#X87BA55CB86B110EC"><span class="RefLink">6</span></a> for more information on polarities of projective spaces, and more particularly to Section <a href="chap6_mj.html#X83F8149B7D23301E"><span class="RefLink">6.3</span></a> for the connection between polarities and forms.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[0,0,0,1],[0,0,-2,0],[0,2,0,0],[-1,0,0,0]]*Z(5)^0;</span>
[ [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5)^0 ], [ 0*Z(5), 0*Z(5), Z(5)^3, 0*Z(5) ],
[ 0*Z(5), Z(5), 0*Z(5), 0*Z(5) ], [ Z(5)^2, 0*Z(5), 0*Z(5), 0*Z(5) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">form := BilinearFormByMatrix(mat,GF(25));</span>
< bilinear form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(
3,GF(5^2)): x1*y4+Z(5)^3*x2*y3+Z(5)*x3*y2-x4*y1=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">r := PolynomialRing(GF(32),4);</span>
GF(2^5)[x_1,x_2,x_3,x_4]
<span class="GAPprompt">gap></span> <span class="GAPinput">poly := r.3*r.2+r.1*r.4;</span>
x_1*x_4+x_2*x_3
<span class="GAPprompt">gap></span> <span class="GAPinput">form := QuadraticFormByPolynomial(poly,r);</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(3,GF(2^5)): x_1*x_4+x_2*x_3=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := IdentityMat(5,GF(7));</span>
[ [ Z(7)^0, 0*Z(7), 0*Z(7), 0*Z(7), 0*Z(7) ],
[ 0*Z(7), Z(7)^0, 0*Z(7), 0*Z(7), 0*Z(7) ],
[ 0*Z(7), 0*Z(7), Z(7)^0, 0*Z(7), 0*Z(7) ],
[ 0*Z(7), 0*Z(7), 0*Z(7), Z(7)^0, 0*Z(7) ],
[ 0*Z(7), 0*Z(7), 0*Z(7), 0*Z(7), Z(7)^0 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := PolarityOfProjectiveSpace(mat,GF(7));</span>
<polarity of PG(4, GF(7)) >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(phi);</span>
<polar space in ProjectiveSpace(4,GF(7)): x_1^2+x_2^2+x_3^2+x_4^2+x_5^2=0 >
</pre></div>
<p><strong class="pkg">FinInG</strong> relies on the package <strong class="pkg">Forms</strong> for its facility with sesquilinear and quadratic forms. One can specify a polar space with a user-defined form, and we refer to the documentation for <strong class="pkg">Forms</strong> for information on how one can create and use forms. Here we just display a worked example.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">id := IdentityMat(7, GF(3));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">form := QuadraticFormByMatrix(id, GF(3));</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace( form );</span>
<polar space in ProjectiveSpace(
6,GF(3)): x_1^2+x_2^2+x_3^2+x_4^2+x_5^2+x_6^2+x_7^2=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">psl32 := PSL(3,2);</span>
Group([ (4,6)(5,7), (1,2,4)(3,6,5) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">reps:=[[1,1,1,0,0,0,0], [-1,1,1,0,0,0,0], [1,-1,1,0,0,0,0], [1,1,-1,0,0,0,0]]*Z(3)^0;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ovoid := Union( List(reps, x-> Orbit(psl32, x, Permuted)) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ovoid := List(ovoid, x -> VectorSpaceToElement(ps, x));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">planes := AsList( Planes( ps ) );;</span>
#I Computing collineation group of canonical polar space...
<span class="GAPprompt">gap></span> <span class="GAPinput">ForAll(planes, p -> Number(ovoid, x -> x in p) = 1);</span>
true
</pre></div>
<p><a id="X850CD32686B0656B" name="X850CD32686B0656B"></a></p>
<h4>7.2 <span class="Heading">Canonical and standard Polar Spaces</span></h4>
<p>To introduce the classification of polar spaces, we use the classification of the underlying forms in similarity classes. We follow mostly the approach and terminology of <a href="chapBib_mj.html#biBKleidmanLiebeck">[KL90]</a>, as we did in the manual of the package <strong class="pkg">Forms</strong>.</p>
<p>Consider a vector space <span class="SimpleMath">\(V=V(n+1,q)\)</span> and a sesquilinear form <span class="SimpleMath">\(f\)</span> on <span class="SimpleMath">\(V\)</span>. The pair <span class="SimpleMath">\((V,f)\)</span> is called a formed space. Consider now two formed spaces <span class="SimpleMath">\((V,f)\)</span> and <span class="SimpleMath">\((V,f')\)</span>, where <span class="SimpleMath">\(f\)</span> and <span class="SimpleMath">\(f'\)</span> are two sesquilinear forms on <span class="SimpleMath">\(V\)</span>. A non-singular linear map <span class="SimpleMath">\(\phi\)</span> from <span class="SimpleMath">\(V\)</span> to itself induces a <em>similarity</em> of the formed space <span class="SimpleMath">\((V,f)\)</span> to the formed space <span class="SimpleMath">\((V,f')\)</span> if and only if</p>
<p class="center">\[f(v,w) = \lambda f'(\phi(v),\phi(w)),\]</p>
<p>for all vectors <span class="SimpleMath">\(v,w\)</span> and some non-zero <span class="SimpleMath">\(\lambda \in GF(q)\)</span> . Up to similarity, there is only one class of non-degenerate Hermitian forms, and one class of non-degenerate symplectic forms on a given vector space <span class="SimpleMath">\(V\)</span>. For symmetric bilinear forms in odd characteristic, the number of similarity classes depends on the dimension of <span class="SimpleMath">\(V\)</span>. In odd dimension, there is only one similarity class, and non-degenerate forms in this class are called parabolic (bilinear) forms. In even dimension, there are two similarity classes, and non-degenerate forms are either elliptic (bilinear) forms or hyperbolic (bilinear) forms.</p>
<p>Consider now a vector space <span class="SimpleMath">\(V\)</span> and a quadratic form <span class="SimpleMath">\(q\)</span> on <span class="SimpleMath">\(V\)</span>. The pair <span class="SimpleMath">\((V,q)\)</span> is called a formed space. Consider now two formed spaces <span class="SimpleMath">\((V,q)\)</span> and <span class="SimpleMath">\((V,q')\)</span>, where <span class="SimpleMath">\(q\)</span> and <span class="SimpleMath">\(q'\)</span> are two quadratic forms on <span class="SimpleMath">\(V\)</span>. A non-degenerate linear map <span class="SimpleMath">\(\phi\)</span> from <span class="SimpleMath">\(V\)</span> to itself induces a <em>similarity</em> of the formed space <span class="SimpleMath">\((V,q)\)</span> to the formed space <span class="SimpleMath">\((V,q')\)</span> if and only if</p>
<p class="center">\[q(v) = \lambda q'(\phi(v))),\]</p>
<p>for all vectors <span class="SimpleMath">\(v\)</span> and some non-zero <span class="SimpleMath">\(\lambda \in GF(q)\)</span> . For quadratic forms in even characteristic, the number of similarity classes depends on the dimension of <span class="SimpleMath">\(V\)</span>. In odd dimension, there is only one similarity class, and non-degenerate forms in this class are called parabolic (bilinear) forms. In even dimension, there are two similarity classes, and non-degenerate forms are either elliptic (bilinear) forms or hyperbolic (bilinear) forms.</p>
<p>If <span class="SimpleMath">\(\phi\)</span> induces a similarity of a formed vector space such that <span class="SimpleMath">\(\lambda = 1\)</span>, then the similarity is called an <em>isometry</em> of the formed vector space. In almost all cases, each similarity class contains exactly one isometry class. Only the orthogonal sesquilinear forms (in odd characteristic) have two isometry classes. Consequently, if an isometry exists between formed vector spaces, they are called <em>isometric</em>. Projectively, a formed vector space becomes a classical polar space embedded in a projective space. Obviously, forms in the same similarity class determine exactly the same classical polar space. Conversely, it is well known that a classical polar space determines a form up to a constant factor, i.e. it determines a similarity class of forms. In <strong class="pkg">FinInG</strong>, the word <em>canonical</em> is used in the mathematical sense, i.e. a classical polar space is <em>canonical</em> if its determining form belongs to a fixed similarity class. A classical polar space is called <em>standard</em> if its determining form is the fixed representative of the canonical similarity class. Hence a <em>standard</em> classical polar space is always a <em>canonical</em> classical polar space, a canonical polar space is determined by a standard form up to a constant factor. In the following table, we summaries the above information on polar spaces, together with the standard forms that are chosen in <strong class="pkg">FinInG</strong>. Note that Tr refers to the absolute trace map from <span class="SimpleMath">\(\mathrm{GF}(q)\)</span> to <span class="SimpleMath">\(\mathrm{GF}(p)\)</span>.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b>finite classical polar spaces</caption>
<tr>
<td class="tdleft">polar space</td>
<td class="tdleft">standard form</td>
<td class="tdleft">characteristic <span class="SimpleMath">\(p\)</span></td>
<td class="tdleft">projective dimension</td>
</tr>
<tr>
<td class="tdleft">hermitian polar space</td>
<td class="tdleft"><span class="SimpleMath">\(X_0^{q+1} + X_1^{q+1} + \ldots + X_{n}^{q+1}\)</span></td>
<td class="tdleft">odd or even</td>
<td class="tdleft">odd or even</td>
</tr>
<tr>
<td class="tdleft">symplectic space</td>
<td class="tdleft"><span class="SimpleMath">\( X_0 Y_1 - Y_0X_1+ \ldots + X_{n-1}Y_n - Y_{n-1}X_n\)</span></td>
<td class="tdleft">odd or even</td>
<td class="tdleft">odd</td>
</tr>
<tr>
<td class="tdleft">hyperbolic quadric</td>
<td class="tdleft"><span class="SimpleMath">\( X_0 X_1 + \ldots + X_{n-1}X_n\)</span></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 3 \pmod{4}\)</span> or <span class="SimpleMath">\(p=2\)</span></td>
<td class="tdleft">odd</td>
</tr>
<tr>
<td class="tdleft">hyperbolic quadric</td>
<td class="tdleft"><span class="SimpleMath">\(2(X_0 X_1 + \ldots + X_{n-1}X_n)\)</span></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 1 \pmod{4}\)</span></td>
<td class="tdleft">odd</td>
</tr>
<tr>
<td class="tdleft">parabolic quadric</td>
<td class="tdleft">X<sub>0</sub><sup>2</sup> + X<sub>1</sub> X<sub>2</sub> + ... + X<sub>n-1</sub>X<sub>n</sub></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 1,3 \pmod{8}\)</span> or <span class="SimpleMath">\(p=2\)</span></td>
<td class="tdleft">even</td>
</tr>
<tr>
<td class="tdleft">parabolic quadric</td>
<td class="tdleft"><span class="SimpleMath">\(t(X_0^2 + X_1X_2 + \ldots + X_{n-1}X_n)\)</span>, <span class="SimpleMath">\(t\)</span> a primitive element of <span class="SimpleMath">\(\mathrm{GF}(p)\)</span></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 5,7 \pmod{8}\)</span></td>
<td class="tdleft">even</td>
</tr>
<tr>
<td class="tdleft">elliptic quadric</td>
<td class="tdleft"><span class="SimpleMath">\(X_0^2 + X_1^2 + X_2X_3 + \ldots + X_{n-1}X_n\)</span></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 3 \pmod{4}\)</span></td>
<td class="tdleft">odd</td>
</tr>
<tr>
<td class="tdleft">elliptic quadric</td>
<td class="tdleft"><span class="SimpleMath">\(X_0^2 + tX_1^2 + X_2X_3 + \ldots + X_{n-1}X_n\)</span>, <span class="SimpleMath">\(t\)</span> a primitive element of <span class="SimpleMath">\(\mathrm{GF}(p)\)</span></td>
<td class="tdleft"><span class="SimpleMath">\(p \equiv 1 \pmod{4}\)</span></td>
<td class="tdleft">odd</td>
</tr>
<tr>
<td class="tdleft">elliptic quadric</td>
<td class="tdleft"><span class="SimpleMath">\(X_0^2 + X_0X_1 + dX_1^2 + X_2X_3 + \ldots + X_{n-1}X_n\)</span>, <span class="SimpleMath">\(\mathrm{Tr}(d)=1\)</span></td>
<td class="tdleft">even</td>
<td class="tdleft">odd</td>
</tr>
</table><br />
</div>
<p>We refer to Appendix <a href="chapB_mj.html#X866C644987E43DF8"><span class="RefLink">B</span></a> for information on the operations that construct gram matrices that are used to obtain the above standard forms.</p>
<p>The <strong class="pkg">FinInG</strong> provides a wealth of flexibility in constructing polar spaces. The user may choose a particular quadratic or sesquilinear form, but may also chose to construct polars spaces that have one of the above mentioned forms as underlying form. Furthermore, <strong class="pkg">FinInG</strong> will detect when necessary if the user-constructed polar space is canonical. This mechanism gives the user complete flexibility while avoiding unnecessary computations when, for example, constructing the collineation group of a user-defined polar space.</p>
<p>The following five operations always return polar spaces induced by one of the above standard forms.</p>
<p><a id="X850980EF8607BDA7" name="X850980EF8607BDA7"></a></p>
<h5>7.2-1 SymplecticSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; SymplecticSpace</code>( <var class="Arg">d</var>, <var class="Arg">F</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; SymplecticSpace</code>( <var class="Arg">d</var>, <var class="Arg">q</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a symplectic polar space</p>
<p>This function returns the symplectic polar space of dimension <var class="Arg">d</var> over <var class="Arg">F</var> for a field <var class="Arg">F</var> or over GF(<var class="Arg">q</var>) for a prime power <var class="Arg">q</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := SymplecticSpace(3,4);</span>
W(3, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
W(3, 4)
Symplectic form
Gram Matrix:
. 1 . .
1 . . .
. . . 1
. . 1 .
Witt Index: 2
</pre></div>
<p><a id="X7A8CF840833D3D8B" name="X7A8CF840833D3D8B"></a></p>
<h5>7.2-2 HermitianPolarSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HermitianPolarSpace</code>( <var class="Arg">d</var>, <var class="Arg">F</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HermitianPolarSpace</code>( <var class="Arg">d</var>, <var class="Arg">q</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a Hermitian polar space</p>
<p>This function returns the Hermitian polar space of dimension <var class="Arg">d</var> over <var class="Arg">F</var> for a field <var class="Arg">F</var> or over GF(<var class="Arg">q</var>) for a prime power <var class="Arg">q</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HermitianPolarSpace(2,25);</span>
H(2, 5^2)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
H(2, 25)
Hermitian form
Gram Matrix:
1 . .
. 1 .
. . 1
Polynomial: [ [ x_1^6+x_2^6+x_3^6 ] ]
Witt Index: 1
</pre></div>
<p><a id="X7CEDD5CC7A6B0E64" name="X7CEDD5CC7A6B0E64"></a></p>
<h5>7.2-3 ParabolicQuadric</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ParabolicQuadric</code>( <var class="Arg">d</var>, <var class="Arg">F</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ParabolicQuadric</code>( <var class="Arg">d</var>, <var class="Arg">q</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a parabolic quadric</p>
<p><var class="Arg">d</var> must be an even positive integer. This function returns the parabolic quadric of dimension <var class="Arg">d</var> over <var class="Arg">F</var> for a field <var class="Arg">F</var> or over GF(<var class="Arg">q</var>) for a prime power <var class="Arg">q</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := ParabolicQuadric(2,9);</span>
Q(2, 9)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q(2, 9)
Parabolic bilinear form
Gram Matrix:
1 . .
. . 2
. 2 .
Polynomial: [ [ x_1^2+x_2*x_3 ] ]
Witt Index: 1
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := ParabolicQuadric(4,16);</span>
Q(4, 16)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q(4, 16)
Parabolic quadratic form
Gram Matrix:
1 . . . .
. . 1 . .
. . . . .
. . . . 1
. . . . .
Polynomial: [ [ x_1^2+x_2*x_3+x_4*x_5 ] ]
Witt Index: 2
Bilinear form
Gram Matrix:
. . . . .
. . 1 . .
. 1 . . .
. . . . 1
. . . 1 .
</pre></div>
<p><a id="X7CF248A2864BCD8F" name="X7CF248A2864BCD8F"></a></p>
<h5>7.2-4 HyperbolicQuadric</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HyperbolicQuadric</code>( <var class="Arg">d</var>, <var class="Arg">F</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HyperbolicQuadric</code>( <var class="Arg">d</var>, <var class="Arg">q</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a hyperbolic quadric</p>
<p><var class="Arg">d</var> must be an odd positive integer. This function returns the hyperbolic quadric of dimension <var class="Arg">d</var> over <var class="Arg">F</var> for a field <var class="Arg">F</var> or over GF(<var class="Arg">q</var>) for a prime power <var class="Arg">q</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HyperbolicQuadric(5,3);</span>
Q+(5, 3)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q+(5, 3)
Hyperbolic bilinear form
Gram Matrix:
. 2 . . . .
2 . . . . .
. . . 2 . .
. . 2 . . .
. . . . . 2
. . . . 2 .
Polynomial: [ [ x_1*x_2+x_3*x_4+x_5*x_6 ] ]
Witt Index: 3
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HyperbolicQuadric(3,4);</span>
Q+(3, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q+(3, 4)
Hyperbolic quadratic form
Gram Matrix:
. 1 . .
. . . .
. . . 1
. . . .
Polynomial: [ [ x_1*x_2+x_3*x_4 ] ]
Witt Index: 2
Bilinear form
Gram Matrix:
. 1 . .
1 . . .
. . . 1
. . 1 .
</pre></div>
<p><a id="X85EEF70480D7149E" name="X85EEF70480D7149E"></a></p>
<h5>7.2-5 EllipticQuadric</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; EllipticQuadric</code>( <var class="Arg">d</var>, <var class="Arg">F</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; EllipticQuadric</code>( <var class="Arg">d</var>, <var class="Arg">q</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: an elliptic quadric</p>
<p><var class="Arg">d</var> must be an odd positive integer. This function returns the elliptic quadric of dimension <var class="Arg">d</var> over <var class="Arg">F</var> for a field <var class="Arg">F</var> or over GF(<var class="Arg">q</var>) for a prime power <var class="Arg">q</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(3,27);</span>
Q-(3, 27)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q-(3, 27)
Elliptic bilinear form
Gram Matrix:
1 . . .
. 1 . .
. . . 2
. . 2 .
Polynomial: [ [ x_1^2+x_2^2+x_3*x_4 ] ]
Witt Index: 1
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,8);</span>
Q-(5, 8)
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(ps);</span>
Q-(5, 8)
Elliptic quadratic form
Gram Matrix:
1 1 . . . .
. 1 . . . .
. . . 1 . .
. . . . . .
. . . . . 1
. . . . . .
Polynomial: [ [ x_1^2+x_1*x_2+x_2^2+x_3*x_4+x_5*x_6 ] ]
Witt Index: 2
Bilinear form
Gram Matrix:
. 1 . . . .
1 . . . . .
. . . 1 . .
. . 1 . . .
. . . . . 1
. . . . 1 .
</pre></div>
<p>The following operations are applicable on any classical polar space in <strong class="pkg">FinInG</strong>.</p>
<p><a id="X7F6D25D57BC697B5" name="X7F6D25D57BC697B5"></a></p>
<h5>7.2-6 IsCanonicalPolarSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsCanonicalPolarSpace</code>( <var class="Arg">ps</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: true or false</p>
<p>Thisjava.lang.StringIndexOutOfBoundsException: Range [60, 8) out of bounds for length 92
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[0,1,0,0],[0,0,0,0],[0,0,0,1],[0,0,0,0]]*Z(5)^0;</span>
[ [ 0*Z(5), Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ],
[ 0*Z(5), 0*Z(5), 0*Z(5), Z(5)^0 ], [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">form := QuadraticFormByMatrix(mat,GF(5));</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(3,GF(5)): x_1*x_2+x_3*x_4=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCanonicalPolarSpace(ps);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">ps;</span>
Q+(3, 5): x_1*x_2+x_3*x_4=0
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[1,0,0],[0,0,1],[0,1,0]]*Z(3)^0;</span>
[ [ Z(3)^0, 0*Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3), Z(3)^0 ],
[ 0*Z(3), Z(3)^0, 0*Z(3) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">form := QuadraticFormByMatrix(mat,GF(3));</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(2,GF(3)): x_1^2-x_2*x_3=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCanonicalPolarSpace(ps);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">ps;</span>
Q(2, 3): x_1^2-x_2*x_3=0
</pre></div>
<p><a id="X8240380A7F8B6EC3" name="X8240380A7F8B6EC3"></a></p>
<h5>7.2-7 CanonicalPolarSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; CanonicalPolarSpace</code>( <var class="Arg">form</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; CanonicalPolarSpace</code>( <var class="Arg">P</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a classical polar space</p>
<p>the canonical polar space isometric to the given polar space <var class="Arg">P</var> or the classical polar space with underlying form <var class="Arg">form</var>.</p>
<p><a id="X7EE25EDF7ADC30D7" name="X7EE25EDF7ADC30D7"></a></p>
<h5>7.2-8 StandardPolarSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; StandardPolarSpace</code>( <var class="Arg">form</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; StandardPolarSpace</code>( <var class="Arg">P</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a classical polar space</p>
<p>the polar space induced by a standard form and similar to the given polar space <var class="Arg">P</var> or the classical polar space with underlying form <var class="Arg">form</var>.</p>
<p><a id="X7A04340A7EC9215B" name="X7A04340A7EC9215B"></a></p>
<h4>7.3 <span class="Heading">Basic operations for finite classical polar spaces</span></h4>
<p><a id="X7D544D7985A4572D" name="X7D544D7985A4572D"></a></p>
<h5>7.3-1 UnderlyingVectorSpace</h5>
<div class="func"UnderlyingVectorSpace</h5>
<p>Returns: a vector space</p>
<p>The polar space <var class="Arg">ps</var> is the geometry associated with a sesquilinear or quadratic form <span class="SimpleMath">\(f\)</span>. The vector space on which <span class="SimpleMath">\(f\)</span> is acting is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,4);</span>
Q-(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">vs := UnderlyingVectorSpace(ps);</span>
( GF(2^2)^6 )
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := SymplecticSpace(3,81);</span>
W(3, 81)
<span class="GAPprompt">gap></span> <span class="GAPinput">vs := UnderlyingVectorSpace(ps);</span>
( GF(3^4)^4 )
</pre></div>
<p><a id="X8606750A8586DF8D" name="X8606750A8586DF8D"></a></p>
<h5>7.3-2 AmbientSpace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; AmbientSpace</code>( <var class="Arg">ps</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the ambient projective space</p>
<p>When <var class="Arg">ps</var> is a polar space, this operation returns the ambient projective space, i.e. the underlying projective space of the sesquilinear or quadratic form that defines <var class="Arg">ps</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,4);</span>
Q-(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientSpace(ps);</span>
ProjectiveSpace(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := SymplecticSpace(3,81);</span>
W(3, 81)
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientSpace(ps);</span>
ProjectiveSpace(3, 81)
</pre></div>
<p><a id="X84FDF25D797B874B" name="X84FDF25D797B874B"></a></p>
<h5>7.3-3 ProjectiveDimension</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ProjectiveDimension</code>( <var class="Arg">ps</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Dimension</code>( <var class="Arg">ps</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the dimension of the ambient projective space of <var class="Arg">ps</var></p>
<p>When <var class="Arg">ps</var> is a polar space, an ambient projective space <span class="SimpleMath">\(P\)</span> is uniquely defined and can be asked using <code class="file">AmbientSpace</code>. This operation and its synonym <code class="file">Dimension</code> returns the dimension of <span class="SimpleMath">\(P\)</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,4);</span>
Q-(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">ProjectiveDimension(ps);</span>
5
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := SymplecticSpace(3,81);</span>
W(3, 81)
<span class="GAPprompt">gap></span> <span class="GAPinput">ProjectiveDimension(ps);</span>
3
</pre></div>
<p><a id="X827146F37E2AA841" name="X827146F37E2AA841"></a></p>
<h5>7.3-4 Rank</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Rank</code>( <var class="Arg">ps</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the rank of <var class="Arg">ps</var></p>
<p>When <var class="Arg">ps</var> is a polar space, its rank, i.e. the number of different java.lang.StringIndexOutOfBoundsException: Range [218, 94) out of bounds for length 218
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,4);</span>
Q-(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">Rank(ps);</span>
2
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HyperbolicQuadric(5,4);</span>
Q+(5, 4)
<span class="GAPprompt">gap></span> <span class="GAPinput">Rank(ps);</span>
3
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := SymplecticSpace(7,81);</span>
W(7, 81)
<span class="GAPprompt">gap></span> <span class="GAPinput">Rank(ps);</span>
4
</pre></div>
<p><a id="X7BCBA564829D9E89" name="X7BCBA564829D9E89"></a></p>
<h5>7.3-5 BaseField</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BaseField</code>( <var class="Arg">ps</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the base field of the polar space <var class="Arg">ps</var></p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HyperbolicQuadric(5,7);</span>
Q+(5, 7)
<span class="GAPprompt">gap></span> <span class="GAPinput">BaseField(ps);</span>
GF(7)
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := HermitianPolarSpace(2,256);</span>
H(2, 16^2)
<span class="GAPprompt">gap></span> <span class="GAPinput">BaseField(ps);</span>
GF(2^8)
</pre></div>
<p><a id="X8412E6307ACC82C2" name="X8412E6307ACC82C2"></a></p>
<h5>7.3-6 IsHyperbolicQuadric</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsHyperbolicQuadric</code>( <var class="Arg">ps</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: true or false</p>
<p>returns true if and only if <var class="Arg">ps</var> is a hyperbolic quadric.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := IdentityMat(6,GF(5));</span>
< mutable compressed matrix 6x6 over GF(5) >
<span class="GAPprompt">gap></span> <span class="GAPinput">form := BilinearFormByMatrix(mat,GF(5));</span>
< bilinear form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(
5,GF(5)): x_1^2+x_2^2+x_3^2+x_4^2+x_5^2+x_6^2=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolicQuadric(ps);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := IdentityMat(6,GF(7));</span>
< mutable compressed matrix 6x6 over GF(7) >
<span class="GAPprompt">gap></span> <span class="GAPinput">form := BilinearFormByMatrix(mat,GF(7));</span>
< bilinear form >
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(
5,GF(7)): x_1^2+x_2^2+x_3^2+x_4^2+x_5^2+x_6^2=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolicQuadric(ps);</span>
false
</pre></div>
<p><a id="X85386DAB8056E316" name="X85386DAB8056E316"></a></p>
<h5>7.3-7 IsEllipticQuadric</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsEllipticQuadric</code>( <var class="Arg">ps</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: true or false</p>
<p>returns true if and only if <var class="Arg<>Returns the of theambient projective space of <var class=Arg"ps/>/>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span v"rg"p/ space, its rank, ie.theofdifferent equals the the Wittindex of or form./>
< mutable compressed matrix 6x6 over GF(5) >
< "APprompt">>gt;</pan><span =GAPinput> =BilinearFormByMatrix(,());/pan>
< bilinear span class="GAPprompt">gap></span> <span class="GAPinput">ps := EllipticQuadric(5,4);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ps := PolarSpace(form);</span>
<polar space in ProjectiveSpace(
5GF(5): x_12x2^+^2x_42x5^2x_620>
<span class=2
false
<span(7));</span>
< mutable compressed matrix 6x6 over GF(7) >
<span classspan class"">&<s> < =GAPinput"Rank(ps;/>
< bilinear form >
<>gt;</pan>< =GAPinput>s= PolarSpace()<s>
<polar space in ProjectiveSpace(
5,GF(7)): x_1^2+x_2^2+x_3^2<span "APprompt">ap&;<span> s =APinput">(ps;/java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 78
<span class="GAPprompt">gap></java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
true
</pre></div>
<p><a id="X87ADB8B5790776C7" div class="func"><table class="func="100%>t>t ="dleft>code =func">#8227 <code> var =Argvar> )/>< =""> on;)<td<tr<table<div>
<h5>7.3-8 java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
c"> ="unc"width="%<class"dleft"< class"unc"&8227; IsParabolicQuadric/code>( <varclass"Arg>s</ )/d><td ="tdright>&bsp;propertyn;<td>/tr>/able></div>
<p>Returns: true or false</p>
<p>returns true if and only if <var class="Arg"><span class="GAPprompt">gap></span> <span classBaseField(ps;/panjava.lang.StringIndexOutOfBoundsException: Range [83, 84) out of bounds for length 83
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := java.lang.StringIndexOutOfBoundsException: Range [0, 80) out of bounds for length 0
[ [ Z(3)^0, 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
, 0*(3),0Z3, Z( ],
[ 0*Z(3)
*() *3) *() 3^ ,java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
[ 0
="GAPprompt>gap&;/span><pan "GAPinput"form : (,();/spanjava.lang.StringIndexOutOfBoundsException: Range [109, 110) out of bounds for length 109
< bilinear form >
<span class="p>returns true ifonly if v class="rg"ps<var>is hyperbolic quadric./>
<polar space in<iv =example"prejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
<span class="GAPprompt">gap></span> <span class="GAPinput">IsParabolicQuadric(ps);</span>
true
<span class="span class="GAPprompt">gap></span> <span class="GAPinput">form := BilinearFormByMatrix(mat,GF(5));</span>
[ [ Z(2)^0, 0*Z(&t gt;
0Z(),0Z(),Z(2)^0, 0*Z(2), 0*Z() ,
0*() 0Z(2,0*(),0*Z() Z( ]
[ 0*Z(25,GF5):x_1^x_2^2+_3^+2+x_5^2x_6^2= gt;
*Z(2) *(,0*(2)
<span class="java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 4
& quadratic >
<span class="GAPprompt">gap></span> <span class="lt matrix 6x6 over GF(7) >
<polar space in ProjectiveSpace(4,GF(2^3)): x_1^2+x_2*x_3+x_4*x_5=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsParabolicQuadric(ps);</span>
/pre></div>
<p><a id="X787E0AEA8284B34B" name="X787E0AEA8284B34B"></a></p>
<h4>7.4 <span class=true
<p>The elements of a finite classical polar space <span class="java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 46
p<id"X82E9593B8074AECB"name="E9593B8074AECB><a>/>
<h57.41 ectorSpaceToElement<h5>
blejava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 255
<pRjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 72
<p>Let <var class="Arg">ps</var> be a polar space, and <var class="Arg">v</var> is either a row[0Z2,0*(2), 0*() 0*() 0Z2 ]]
<div class="example"><pre>
class=">>/pan> <class="GAPinput"ps =SymplecticSpace(,);/panjava.lang.StringIndexOutOfBoundsException: Range [96, 97) out of bounds for length 96
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 7
<gt;<span <span =GAPinput>:[,,1,]Z(40<span>
[ Z(2)^0, 0*Z(2), Z(2)^0, 0*Z(2) ]
<spanclass="GAPprompt">gapg;/span span""p: VectorSpaceToElement(,v;/>
<a point in W(3, 4)>
<java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 1
[ [ Z(2)^0, Z(2)^0
<java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 106
Error, <x> does not generate an element of <geom&java.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 0
<function "unknown">( <arguments> )
called from read-eval loop at line 12 of *stdin*
you can'uit; toquit outer loop, or
you can 'return;' to continue
<span class="GAPbrkprompt">brk></span> <span class="GAPinput">quit;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[1,1,0,0]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[ [ Z(2)^0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 106
<a line in W(3, 4)>
<> <span class=GAPinput"p = (,0000*(4^)<s>
< java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
</pre></div>
p<a"8461java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 62
<h5>7.4-2 EmptySubspace</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; EmptySubspace</code>( <var class="Arg">ps</var> )</td><td class=" | | |