<p>In <strong class="pkg">FinInG</strong> we provide some basic functionality for algebraic varieties defined over finite fields. The algebraic varieties in <strong class="pkg">FinInG</strong> are defined by a list of multivariate polynomials over a finite field, and an ambient geometry. This ambient geometry is either a projective space, and then the algebraic variety is called a <em>projective variety</em>, or an affine geometry, and then the algebraic variety is called an <em>affine variety</em>. In this chapter we give a brief overview of the features of <strong class="pkg">FinInG</strong> concerning these two types of algebraic varieties. The package <strong class="pkg">FinInG</strong> also contains the Veronese varieties <code class="func">VeroneseVariety</code> (<a href="chap11_mj.html#X85CBADAD7A18BB19"><span class="RefLink">11.7-1</span></a>), the Segre varieties <code class="func">SegreVariety</code> (<a href="chap11_mj.html#X7F3EBD5487340078"><span class="RefLink">11.6-1</span></a>) and the Grassmann varieties <code class="func">GrassmannVariety</code> (<a href="chap11_mj.html#X81872E5D843373C8"><span class="RefLink">11.8-1</span></a>); three classical projective varieties. These varieties have an associated <em>geometry map</em> (the <code class="func">VeroneseMap</code> (<a href="chap11_mj.html#X816B9AB287EEF9A5"><span class="RefLink">11.7-3</span></a>), <code class="func">SegreMap</code> (<a href="chap11_mj.html#X7B7DDDA17837AEF5"><span class="RefLink">11.6-3</span></a>) and <code class="func">GrassmannMap</code> (<a href="chap11_mj.html#X7C6ED0B284833878"><span class="RefLink">11.8-3</span></a>)) and <strong class="pkg">FinInG</strong> also provides some general functionality for these.</p>
<p>An <em>algebraic variety</em> in <strong class="pkg">FinInG</strong> is an algebraic variety in a projective space or affine space, defined by a list of polynomials over a finite field.</p>
<p>The argument <var class="Arg">space</var> is an affine or projective space over a finite field <var class="Arg">F</var>, the argument <var class="Arg">pring</var> is a multivariate polynomial ring defined over (a subfield of) <var class="Arg">F</var>, and <var class="Arg">pollist</var> is a list of polynomials in <var class="Arg">pring</var>. If the <var class="Arg">space</var> is a projective space, then <var class="Arg">pollist</var> needs to be a list of homogeneous polynomials. In <strong class="pkg">FinInG</strong> there are two types of projective varieties: projective varieties and affine varieties. The following operations apply to both types.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DefiningListOfPolynomials</code>( <var class="Arg">var</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of polynomials</p>
<p>The argument <var class="Arg">var</var> is an algebraic variety. This attribute returns the list of polynomials that was used to define the variety <var class="Arg">var</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AmbientSpace</code>( <var class="Arg">var</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: an affine or projective space</p>
<p>The argument <var class="Arg">var</var> is an algebraic variety. This attribute returns the affine or projective space in which the variety <var class="Arg">var</var> was defined.</p>
<p>The argument <var class="Arg">var</var> is an algebraic variety. This operation returns the list of points of the <code class="func">AmbientSpace</code> (<a href="chap11_mj.html#X8606750A8586DF8D"><span class="RefLink">11.1-3</span></a>) of the algebraic variety <var class="Arg">var</var> whose coordinates satisfy the <code class="func">DefiningListOfPolynomials</code> (<a href="chap11_mj.html#X7D9C2FA47BCDEBDB"><span class="RefLink">11.1-2</span></a>) of the algebraic variety <var class="Arg">var</var>.</p>
<p>The argument <var class="Arg">pts</var> is the set of <code class="func">PointsOfAlgebraicVariety</code> (<a href="chap11_mj.html#X86605DF87C562635"><span class="RefLink">11.1-4</span></a>) of an algebraic variety <var class="Arg">var</var>. This operation returns an iterator for the points of an algebraic variety.</p>
<p>The argument <var class="Arg">x</var> is a point of the <code class="func">AmbientSpace</code> (<a href="chap11_mj.html#X8606750A8586DF8D"><span class="RefLink">11.1-3</span></a>) of an algebraic variety <code class="func">AlgebraicVariety</code> (<a href="chap11_mj.html#X85B05D0385B6032A"><span class="RefLink">11.1-1</span></a>). This operation also works for a point <var class="Arg">x</var> and the collection <var class="Arg">pts</var> returned by <code class="func">PointsOfAlgebraicVariety</code> (<a href="chap11_mj.html#X86605DF87C562635"><span class="RefLink">11.1-4</span></a>).</p>
<p>A <em>projective variety</em> in <strong class="pkg">FinInG</strong> is an algebraic variety in a projective space defined by a list of homogeneous polynomials over a finite field.</p>
<h4>11.3 <span class="Heading">Quadrics and Hermitian varieties</span></h4>
<p>Quadrics (<code class="func">QuadraticVariety</code> (<a href="chap11_mj.html#X850EDF127B1A2C4D"><span class="RefLink">11.3-2</span></a>)) and Hermitian varieties (<code class="func">HermitianVariety</code> (<a href="chap11_mj.html#X7E233D1979CEB18B"><span class="RefLink">11.3-1</span></a>)) are projective varieties that have the associated quadratic or hermitian formas an extra attribute installed. Furthermore, we provide a method for <code class="file">PolarSpace</code> taking as an argument a projective algebraic variety.</p>
<p>For the first two methods, the argument <var class="Arg">pg</var> is a projective space, <var class="Arg">pring</var> is a polynomial ring, and <var class="Arg">pol</var> is polynomial. For the third and fourth variations, the argument <var class="Arg">n</var> is an integer, the argument <var class="Arg">F</var> is a finite field, and the argument <var class="Arg">q</var> is a prime power. These variations of the operation return the hermitian variety associated to the standard hermitian form in the projective space of dimension <span class="SimpleMath">\(n\)</span> over the field <spanclass="SimpleMath">\(F\)</span> of order <span class="SimpleMath">\(q\)</span>.</p>
<p>In the first two methods, the argument <var class="Arg">pg</var> is a projective space, <var class="Arg">pring</var> is a polynomial ring, and <var class="Arg">pol</var> is a polynomial. The latter four return a standard non-degenerate quadric. The argument <var class="Arg">n</var> is a projective dimension, <var class="Arg">F</var> is a field, and <var class="Arg">q</var> is a prime power that gives just the order of the defining field. If the <var class="Arg">type</var> is given, then it will return a quadric of a particular type as follows:</p>
<p>If no type is given, and only the dimension and field/field order are given, then it is assumed that the dimension is even and the user wants a standard parabolic quadric.</p>
<p>When the argument <var class="Arg">var</var> is a <code class="func">QuadraticVariety</code> (<a href="chap11_mj.html#X850EDF127B1A2C4D"><span class="RefLink">11.3-2</span></a>), this returns the associated quadratic form.</p>
<p>If the argument <var class="Arg">var</var> is a <code class="func">HermitianVariety</code> (<a href="chap11_mj.html#X7E233D1979CEB18B"><span class="RefLink">11.3-1</span></a>), this returns the associated hermitian form.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PolarSpace</code>( <var class="Arg">var</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>the argument <var class="Arg">var</var> is a projective algebraic variety. When its list of defining polynomial contains exactly one polynomial, depending on its degree, the operation <code class="file">QuadraticFormByPolynomial</code> or <code class="file">HermitianFormByPolynomial</code> is used to compute a quadratic form or a hermitian form. These operations check whether this is possible, and produce an error message if not. If the conversion is possible, then the appropriate polar space is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">f := GF(25);</span>
GF(5^2)
<span class="GAPprompt">gap></span> <span class="GAPinput">r := PolynomialRing(f,4);</span>
GF(5^2)[x_1,x_2,x_3,x_4]
<span class="GAPprompt">gap></span> <span class="GAPinput">ind := IndeterminatesOfPolynomialRing(r);</span>
[ x_1, x_2, x_3, x_4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">eq1 := Sum(List(ind,t->t^2));</span>
x_1^2+x_2^2+x_3^2+x_4^2
<span class="GAPprompt">gap></span> <span class="GAPinput">var := ProjectiveVariety(PG(3,f),[eq1]); </span>
Projective Variety in ProjectiveSpace(3, 25)
<span class="GAPprompt">gap></span> <span class="GAPinput">PolarSpace(var);</span>
<polar space in ProjectiveSpace(3,GF(5^2)): x_1^2+x_2^2+x_3^2+x_4^2=0 >
<span class="GAPprompt">gap></span> <span class="GAPinput">eq2 := Sum(List(ind,t->t^4));</span>
x_1^4+x_2^4+x_3^4+x_4^4
<span class="GAPprompt">gap></span> <span class="GAPinput">var := ProjectiveVariety(PG(3,f),[eq2]);</span>
Projective Variety in ProjectiveSpace(3, 25)
<span class="GAPprompt">gap></span> <span class="GAPinput">PolarSpace(var);</span>
Error, <poly> does not generate a Hermitian matrix called from
GramMatrixByPolynomialForHermitianForm( pol, gf, n, vars ) called from
HermitianFormByPolynomial( pol, pring, n ) called from
HermitianFormByPolynomial( eq, r ) called from
<function "unknown">( <arguments> )
called from read-eval loop at line 16 of *stdin*
you can 'quit;' to quit to 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">eq3 := Sum(List(ind,t->t^6));</span>
x_1^6+x_2^6+x_3^6+x_4^6
<span class="GAPprompt">gap></span> <span class="GAPinput">var := ProjectiveVariety(PG(3,f),[eq3]);</span>
Projective Variety in ProjectiveSpace(3, 25)
<span class="GAPprompt">gap></span> <span class="GAPinput">PolarSpace(var);</span>
<polar space in ProjectiveSpace(3,GF(5^2)): x_1^6+x_2^6+x_3^6+x_4^6=0 >
<p>An <em>affine variety</em> in <strong class="pkg">FinInG</strong> is an algebraic variety in an affine space defined by a list of polynomials over a finite field.</p>
<p>The argument <var class="Arg">ag</var> is an affine space over a finite field <var class="Arg">F</var>, the argument <var class="Arg">pring</var> is a multivariate polynomial ring defined over (a subfield of) <var class="Arg">F</var>, and <var class="Arg">pollist</var> is a list of polynomials in <var class="Arg">pring</var>.</p>
<p>A <var class="Arg">geometry map</var> is a map from a set of elements of a geometry to a set of elements of another geometry, which is not necessarily a geometry morphism. Examples are the <code class="func">SegreMap</code> (<a href="chap11_mj.html#X7B7DDDA17837AEF5"><span class="RefLink">11.6-3</span></a>), the <code class="func">VeroneseMap</code> (<a href="chap11_mj.html#X816B9AB287EEF9A5"><span class="RefLink">11.7-3</span></a>), and the <code class="func">GrassmannMap</code> (<a href="chap11_mj.html#X7C6ED0B284833878"><span class="RefLink">11.8-3</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Range</code>( <var class="Arg">gm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the range of a geometry map</p>
<p>The argument <var class="Arg">gm</var> is a geometry map.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ImageElm</code>( <var class="Arg">gm</var>, <var class="Arg">x</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the image of an element under a geometry map</p>
<p>The argument <var class="Arg">gm</var> is a geometry map, the element <var class="Arg">x</var> is an element of the <code class="func">Source</code> (<a href="chap11_mj.html#X7DE8173F80E07AB1"><span class="RefLink">11.5-1</span></a>) of the geometry map <var class="Arg">gm</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ImagesSet</code>( <var class="Arg">gm</var>, <var class="Arg">elms</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the image of a subset of the source under a geometry map</p>
<p>The argument <var class="Arg">gm</var> is a geometry map, the elements <var class="Arg">elms</var> is a subset of the <code class="func">Source</code> (<a href="chap11_mj.html#X7DE8173F80E07AB1"><span class="RefLink">11.5-1</span></a>) of the geometry map <var class="Arg">gm</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ \^</code>( <var class="Arg">x</var>, <var class="Arg">gm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the image of an element of the source under a geometry map</p>
<p>The argument <var class="Arg">gm</var> is a geometry map, the element <var class="Arg">x</var> is an element of the <code class="func">Source</code> (<a href="chap11_mj.html#X7DE8173F80E07AB1"><span class="RefLink">11.5-1</span></a>) of the geometry map <var class="Arg">gm</var>.</p>
<p>A <em>Segre variety</em> in <strong class="pkg">FinInG</strong> is a projective algebraic variety in a projective space over a finite field. The set of points that lie on this variety is the image of the <em>Segre map</em>.</p>
<p>The argument <var class="Arg">listofpgs</var> is a list of projective spaces defined over the same finite field, say [PG(n<sub>1 </sub>-1,q), PG(n<sub>2 </sub>-1,q), ..., PG(n<sub>k </sub>-1,q)]. The operation also takes as input the list of dimensions (<var class="Arg">listofdims</var>) and a finite field <var class="Arg">field</var> (e.g. [n<sub>1</sub>, n<sub>2</sub>, ..., n<sub>k</sub>,GF(q)]). A Segre variety with only two factors (<span class="SimpleMath">\(k=2\)</span>), can also be constructed using the operation with two projective spaces <var class="Arg">pg1</var> and <var class="Arg">pg2</var> as arguments, or with two dimensions <var class="Arg">d1</var>, <var class="Arg">d2</var>, and a finite field <var class="Arg">field</var>(or a prime power <var class="Arg">q</var>). The operation returns a projective algebraic variety in the projective space of dimension n<sub>1</sub> n<sub>2</sub> ... n<sub>k</sub>-1.</p>
<p>The argument <var class="Arg">sv</var> is a Segre variety. This operation returns a set of points of the <code class="func">AmbientSpace</code> (<a href="chap11_mj.html#X8606750A8586DF8D"><span class="RefLink">11.1-3</span></a>) of the Segre variety. This set of points corresponds to the image of the <code class="func">SegreMap</code> (<a href="chap11_mj.html#X7B7DDDA17837AEF5"><span class="RefLink">11.6-3</span></a>).</p>
<p>The argument <var class="Arg">listofpgs</var> is a list of projective spaces defined over the same finite field, say [PG(n<sub>1 </sub>-1,q), PG(n<sub>2 </sub>-1,q), ..., PG(n<sub>k </sub>-1,q)]. The operation also takes as input the list of dimensions (<var class="Arg">listofdims</var>) and a finite field <var class="Arg">field</var> (e.g. [n<sub>1</sub>, n<sub>2</sub>, ..., n<sub>k</sub>,GF(q)]). A Segre map with only two factors (<span class="SimpleMath">\(k=2\)</span>), can also be constructed using the operation with two projective spaces <var class="Arg">pg1</var> and <var class="Arg">pg2</var> as arguments, or with two dimensions <var class="Arg">d1</var>, <var class="Arg">d2</var>, and a finite field <var class="Arg">field</var>(or a prime power <var class="Arg">q</var>). The operation returns a function with domain the product of the point sets of projective spaces in the list [PG(n<sub>1 </sub>-1,q), PG(n<sub>2 </sub>-1,q), ..., PG(n<sub>k </sub>-1,q)] and image the set of points of the Segre variety (<code class="func">PointsOfSegreVariety</code> (<a href="chap11_mj.html#X82AD64F47B418E4F"><span class="RefLink">11.6-2</span></a>)) in the projective space of dimension n<sub>1</sub> n<sub>2</sub> ... n<sub>k</sub>-1. When a Segre variety <var class="Arg">sv</var> is given as input, the operation returns the associated Segre map.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">sv:=SegreVariety(2,2,9);</span>
Segre Variety in ProjectiveSpace(8, 9)
<span class="GAPprompt">gap></span> <span class="GAPinput">sm:=SegreMap(sv);</span>
Segre Map of [ <points of ProjectiveSpace(2, 9)>,
<points of ProjectiveSpace(2, 9)> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">cart1:=Cartesian(Points(PG(2,9)),Points(PG(2,9)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">im1:=ImagesSet(sm,cart1);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Span(im1);</span>
ProjectiveSpace(8, 9)
<span class="GAPprompt">gap></span> <span class="GAPinput">l:=Random(Lines(PG(2,9)));</span>
<a line in ProjectiveSpace(2, 9)>
<span class="GAPprompt">gap></span> <span class="GAPinput">cart2:=Cartesian(Points(l),Points(PG(2,9)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">im2:=ImagesSet(sm,cart2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Span(im2);</span>
<a proj. 5-space in ProjectiveSpace(8, 9)>
<span class="GAPprompt">gap></span> <span class="GAPinput">x:=Random(Points(PG(2,9)));</span>
<a point in ProjectiveSpace(2, 9)>
<span class="GAPprompt">gap></span> <span class="GAPinput">cart3:=Cartesian(Points(PG(2,9)),Points(x));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">im3:=ImagesSet(sm,cart3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">pi:=Span(im3);</span>
<a plane in ProjectiveSpace(8, 9)>
<span class="GAPprompt">gap></span> <span class="GAPinput">AsSet(List(Points(pi),y->y in sv));</span>
[ true ]
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Source</code>( <var class="Arg">sm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the source of a Segre map</p>
<p>The argument <var class="Arg">sm</var> is a <code class="func">SegreMap</code> (<a href="chap11_mj.html#X7B7DDDA17837AEF5"><span class="RefLink">11.6-3</span></a>). This operation returns the cartesian product of the list consisting of the pointsets of the projective spaces that were used to construct the <code class="func">SegreMap</code> (<a href="chap11_mj.html#X7B7DDDA17837AEF5"><span class="RefLink">11.6-3</span></a>).</p>
<p>A <em>Veronese variety</em> in <strong class="pkg">FinInG</strong> is a projective algebraic variety in a projective space over a finite field. The set of points that lie on this variety is the image of the <em>Veronese map</em>.</p>
<p>The argument <var class="Arg">pg</var> is a projective space defined over a finite field, say <span class="SimpleMath">\(PG(n-1,q)\)</span>. The operation also takes as input the dimension and a finite field <var class="Arg">field</var> (e.g. <span class="SimpleMath">\([n-1,q]\)</span>). The operation returns a projective algebraic variety in the projective space of dimension <span class="SimpleMath">\((n^2+n)/2-1\)</span>, known as the (quadratic) Veronese variety. It is the image of the map (x<sub>0</sub>,x<sub>1</sub>,...,x<sub>n</sub>)→ (x<sub>0</sub><sup>2</sup>,x<sub>0</sub>x<sub>1</sub>,...,x<sub>0</sub>x<sub>n</sub>,x<sub>1</sub><sup>2</sup>,x<sub>1</sub>x<sub>2</sub>,...,x<sub>1</sub>x<sub>n</sub>,...,x<sub>n</sub><sup>2</sup>)</p>
<p>The argument <var class="Arg">vv</var> is a Veronese variety. This operation returns a set of points of the <code class="func">AmbientSpace</code> (<a href="chap11_mj.html#X8606750A8586DF8D"><span class="RefLink">11.1-3</span></a>) of the Veronese variety. This set of points corresponds to the image of the <code class="func">VeroneseMap</code> (<a href="chap11_mj.html#X816B9AB287EEF9A5"><span class="RefLink">11.7-3</span></a>).</p>
<p>The argument <var class="Arg">pg</var> is a projective space defined over a finite field, say <span class="SimpleMath">\(PG(n-1,q)\)</span>. The operation also takes as input the dimension and a finite field <var class="Arg">field</var> (e.g. <span class="SimpleMath">\([n-1,q]\)</span>). The operation returns a function with domain the product of the point set of the projective space <span class="SimpleMath">\(PG(n-1,q)\)</span> and image the set of points of the Veronese variety (<code class="func">PointsOfVeroneseVariety</code> (<a href="chap11_mj.html#X78420B3B8031C6D0"><span class="RefLink">11.7-2</span></a>)) in the projective space of dimension <span class="SimpleMath">\((n^2+n)/2-1\)</span>. When a Veronese variety <var class="Arg">vv</var> is given as input, the operation returns the associated Veronese map.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">pg:=PG(2,5);</span>
ProjectiveSpace(2, 5)
<span class="GAPprompt">gap></span> <span class="GAPinput">vv:=VeroneseVariety(pg);</span>
Veronese Variety in ProjectiveSpace(5, 5)
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(Points(vv))=Size(Points(pg));</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">vm:=VeroneseMap(vv);</span>
Veronese Map of <points of ProjectiveSpace(2, 5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">r:=PolynomialRing(GF(5),3);</span>
GF(5)[x_1,x_2,x_3]
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=r.1^2-r.2*r.3;</span>
x_1^2-x_2*x_3
<span class="GAPprompt">gap></span> <span class="GAPinput">c:=AlgebraicVariety(pg,r,[f]);</span>
Projective Variety in ProjectiveSpace(2, 5)
<span class="GAPprompt">gap></span> <span class="GAPinput">pts:=List(Points(c));</span>
[ <a point in ProjectiveSpace(2, 5)>, <a point in ProjectiveSpace(2, 5)>,
<a point in ProjectiveSpace(2, 5)>, <a point in ProjectiveSpace(2, 5)>,
<a point in ProjectiveSpace(2, 5)>, <a point in ProjectiveSpace(2, 5)> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Dimension(Span(ImagesSet(vm,pts)));</span>
4
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Source</code>( <var class="Arg">vm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the source of a Veronese map</p>
<p>The argument <var class="Arg">vm</var> is a <code class="func">VeroneseMap</code> (<a href="chap11_mj.html#X816B9AB287EEF9A5"><span class="RefLink">11.7-3</span></a>). This operation returns the pointset of the projective space that was used to construct the <code class="func">VeroneseMap</code> (<a href="chap11_mj.html#X816B9AB287EEF9A5"><span class="RefLink">11.7-3</span></a>).</p>
<p>A <em>Grassmann variety</em> in <strong class="pkg">FinInG</strong> is a projective algebraic variety in a projective space over a finite field. The set of points that lie on this variety is the image of the <em>Grassmann map</em>.</p>
<p>The argument <var class="Arg">pg</var> is a projective space defined over a finite field, say <span class="SimpleMath">\(PG(n,q)\)</span>, and argument <var class="Arg">k</var> is an integer (<span class="SimpleMath">\(k\)</span> at least <span class="SimpleMath">\(1\)</span> and at most <spanclass="SimpleMath">\(n-2\)</span>) and denotes the projective dimension determining the Grassmann Variety. The operation also takes as input the set <var class="Arg">subspaces</var> of subspaces of a projective space, or the dimension <var class="Arg">k</var>, the dimension <var class="Arg">n</var> and the size <var class="Arg">q</var> of the finite field (<span class="SimpleMath">\(k\)</span> at least <span class="SimpleMath">\(1\)</span> and at most <span class="SimpleMath">\(n-2\)</span>). The operation returns a projective algebraic variety known as the Grassmann variety.</p>
<p>The argument <var class="Arg">gv</var> is a Grassmann variety. This operation returns a set of points of the <code class="func">AmbientSpace</code> (<a href="chap11_mj.html#X8606750A8586DF8D"><span class="RefLink">11.1-3</span></a>) of the Grassmann variety. This set of points corresponds to the image of the <code class="func">GrassmannMap</code> (<a href="chap11_mj.html#X7C6ED0B284833878"><span class="RefLink">11.8-3</span></a>).</p>
<p>The argument <var class="Arg">pg</var> is a projective space defined over a finite field, say <span class="SimpleMath">\(PG(n,q)\)</span>, and argument <var class="Arg">k</var> is an integer (<span class="SimpleMath">\(k\)</span> at least <span class="SimpleMath">\(1\)</span> and at most <spanclass="SimpleMath">\(n-2\)</span>), and denotes the projective dimension determining the Grassmann Variety. The operation also takes as input the set <var class="Arg">subspaces</var> of subspaces of a projective space, or the dimension <var class="Arg">k</var>, the dimension <var class="Arg">n</var> and the size <var class="Arg">q</var> of the finite field (<span class="SimpleMath">\(k\)</span> at least <span class="SimpleMath">\(1\)</span> and at most <span class="SimpleMath">\(n-2\)</span>). The operation returns a function with domain the set of subspaces of dimension <span class="SimpleMath">\(k\)</span> in the <span class="SimpleMath">\(n\)</span>-dimensional projective space over <span class="SimpleMath">\(GF(q)\)</span>, and image the set of points of the Grassmann variety (<code class="func">PointsOfGrassmannVariety</code> (<a href="chap11_mj.html#X82572EA68327F857"><span class="RefLink">11.8-2</span></a>)). When a Grassmann variety <var class="Arg">gv</var> is given as input, the operation returns the associated Grassmann map.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Source</code>( <var class="Arg">gm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the source of a Grassmann map</p>
<p>The argument <var class="Arg">gm</var> is a <code class="func">GrassmannMap</code> (<a href="chap11_mj.html#X7C6ED0B284833878"><span class="RefLink">11.8-3</span></a>). This operation returns the set of subspaces of the projective space that was used to construct the <code class="func">GrassmannMap</code> (<a href="chap11_mj.html#X7C6ED0B284833878"><span class="RefLink">11.8-3</span></a>).</p>
<p>This is the chapter of the documentation describing generalised polygons. --></p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.