<h3>58 <span class="Heading">Fields and Division Rings</span></h3>
<p>A <em>division ring</em> is a ring (see Chapter <a href="chap56.html#X81897F6082CACB59"><span class="RefLink">56</span></a>) in which every non-zero element has an inverse. The most important class of division rings are the commutative ones, which are called <em>fields</em>.</p>
<p><strong class="pkg">GAP</strong> supports finite fields (see Chapter <a href="chap59.html#X7893ABF67A028802"><span class="RefLink">59</span></a>) and abelian number fields (see Chapter <a href="chap60.html#X80510B5880521FDC"><span class="RefLink">60</span></a>), in particular the field of rationals (see Chapter <a href="chap17.html#X87003045878E74DF"><span class="RefLink">17</span></a>).</p>
<p>This chapter describes the general <strong class="pkg">GAP</strong> functions for fields and division rings.</p>
<p>If a field <var class="Arg">F</var> is a subfield of a commutative ring <var class="Arg">C</var>, <varclass="Arg">C</var> can be considered as a vector space over the (left) acting domain <var class="Arg">F</var> (see Chapter <a href="chap61.html#X7DAD6700787EC845"><span class="RefLink">61</span></a>). In this situation, we call <var class="Arg">F</var> the <em>field of definition</em> of <var class="Arg">C</var>.</p>
<p>Each field in <strong class="pkg">GAP</strong> is represented as a vector space over a subfield (see <code class="func">IsField</code> (<a href="chap58.html#X7A5AE30E7C0F457C"><span class="RefLink">58.1-2</span></a>)), thus each field is in fact a field extension in a natural way, which is used by functions such as <code class="func">Norm</code> (<a href="chap58.html#X838515278587FF01"><span class="RefLink">58.3-4</span></a>) and <code class="func">Trace</code> (<a href="chap58.html#X7DD17EB581200AD6"><span class="RefLink">58.3-5</span></a>) (see <a href="chap58.html#X7D9A02B07D08FA40"><span class="RefLink">58.3</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDivisionRing</code>( <var class="Arg">D</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A <em>division ring</em> in <strong class="pkg">GAP</strong> is a nontrivial associative algebra <var class="Arg">D</var> with a multiplicative inverse for each nonzero element. In <strong class="pkg">GAP</strong> every division ring is a vector space over a division ring (possibly over itself). Note that being a division ring is thus not a property that a ring can get, because a ring is usually not represented as a vector space.</p>
<p>The field of coefficients is stored as the value of the attribute <code class="func">LeftActingDomain</code> (<a href="chap57.html#X86F070E0807DC34E"><span class="RefLink">57.1-11</span></a>) of <var class="Arg">D</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Field</code>( <var class="Arg">z</var>, <var class="Arg">...</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Field</code>( [<var class="Arg">F</var>, ]<var class="Arg">list</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">Field</code> returns the smallest field <span class="SimpleMath">K</span> that contains all the elements <span class="SimpleMath"><var class="Arg">z</var>, ...</span>, or the smallest field <span class="SimpleMath">K</span> that contains all elements in the list <var class="Arg">list</var>. If no subfield <var class="Arg">F</var> is given, <span class="SimpleMath">K</span> is constructed as a field over itself, i.e. the left acting domain of <span class="SimpleMath">K</span> is <span class="SimpleMath">K</span>. Called with a field <var class="Arg">F</var> and a list <varclass="Arg">list</var>, <code class="func">Field</code> constructs the field generated by <var class="Arg">F</var> and the elements in <var class="Arg">list</var>, as a vector space over <var class="Arg">F</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DefaultField</code>( <var class="Arg">z</var>, <var class="Arg">...</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DefaultField</code>( <var class="Arg">list</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">DefaultField</code> returns a field <span class="SimpleMath">K</span> that contains all the elements <span class="SimpleMath"><var class="Arg">z</var>, ...</span>, or a field <span class="SimpleMath">K</span> that contains all elements in the list <var class="Arg">list</var>.</p>
<p>This field need not be the smallest field in which the elements lie, cf. <code class="func">Field</code> (<a href="chap58.html#X871AA7D58263E9AC"><span class="RefLink">58.1-3</span></a>). For example, for elements from cyclotomic fields <code class="func">DefaultField</code> returns the smallest cyclotomic field in which the elements lie, but the elements may lie in a smaller number field which is not a cyclotomic field.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DefaultFieldByGenerators</code>( [<var class="Arg">z</var>, <var class="Arg">...</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>returns the default field containing the elements <var class="Arg">z</var>, <span class="SimpleMath">...</span>. This field may be bigger than the smallest field containing these elements.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfField</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>generators with respect to addition, multiplication, and taking inverses. This attribute is the same as <code class="func">GeneratorsOfDivisionRing</code> (<a href="chap58.html#X7EF624958648D0FA"><span class="RefLink">58.1-6</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DivisionRingByGenerators</code>( [<var class="Arg">F</var>, ]<var class="Arg">gens</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">‣ FieldByGenerators</code>( [<var class="Arg">F</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Called with a field <var class="Arg">F</var> and a list <var class="Arg">gens</var> of scalars, <codeclass="func">DivisionRingByGenerators</code> returns the division ring over <var class="Arg">F</var> generated by <var class="Arg">gens</var>. The unary version returns the division ring as vector space over <code class="code">FieldOverItselfByGenerators( <var class="Arg">gens</var> )</code>.</p>
<p><code class="func">FieldByGenerators</code> is just a synonym for <code class="func">DivisionRingByGenerators</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AsDivisionRing</code>( [<var class="Arg">F</var>, ]<var class="Arg">C</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">‣ AsField</code>( [<var class="Arg">F</var>, ]<var class="Arg">C</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>If the collection <var class="Arg">C</var> can be regarded as a division ring then <code class="code">AsDivisionRing( <var class="Arg">C</var> )</code> is the division ring that consists of the elements of <var class="Arg">C</var>, viewed as a vector space over its prime field; otherwise <code class="keyw">fail</code> is returned.</p>
<p>In the second form, if <var class="Arg">F</var> is a division ring contained in <var class="Arg">C</var> then the returned division ring is viewed as a vector space over <var class="Arg">F</var>.</p>
<p><code class="func">AsField</code> is just a synonym for <code class="func">AsDivisionRing</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FieldOverItselfByGenerators</code>( [<var class="Arg">z</var>, <var class="Arg">...</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>This operation is needed for the call of <code class="func">Field</code> (<a href="chap58.html#X871AA7D58263E9AC"><span class="RefLink">58.1-3</span></a>) or <code class="func">FieldByGenerators</code> (<a href="chap58.html#X8641861A8550F8BE"><span class="RefLink">58.1-8</span></a>) without explicitly given subfield, in order to construct a left acting domain for such a field.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrimitiveElement</code>( <var class="Arg">D</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is an element of <var class="Arg">D</var> that generates <var class="Arg">D</var> as a division ring together with the left acting domain.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrimeField</code>( <var class="Arg">D</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <em>prime field</em> of a division ring <var class="Arg">D</var> is the smallest field which is contained in <var class="Arg">D</var>. For example, the prime field of any field in characteristic zero is isomorphic to the field of rational numbers.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPrimeField</code>( <var class="Arg">D</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A division ring is a prime field if it is equal to its prime field (see <code class="func">PrimeField</code> (<a href="chap58.html#X7DD27F927BD57FDE"><span class="RefLink">58.2-4</span></a>)).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DegreeOverPrimeField</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the degree of the field <var class="Arg">F</var> over its prime field (see <code class="func">PrimeField</code> (<a href="chap58.html#X7DD27F927BD57FDE"><span class="RefLink">58.2-4</span></a>)).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DefiningPolynomial</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the defining polynomial of the field <var class="Arg">F</var> as a field extension over the left acting domain of <var class="Arg">F</var>. A root of the defining polynomial can be computed with <code class="func">RootOfDefiningPolynomial</code> (<a href="chap58.html#X8173DA4982DB1E8A"><span class="RefLink">58.2-8</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RootOfDefiningPolynomial</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is a root in the field <var class="Arg">F</var> of its defining polynomial as a field extension over the left acting domain of <var class="Arg">F</var>. The defining polynomial can be computed with <code class="func">DefiningPolynomial</code> (<a href="chap58.html#X7ADDCBF47E2ED3D4"><span class="RefLink">58.2-7</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FieldExtension</code>( <var class="Arg">F</var>, <var class="Arg">poly</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>is the field obtained on adjoining a root of the irreducible polynomial <var class="Arg">poly</var> to the field <var class="Arg">F</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Subfields</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the set of all subfields of the field <var class="Arg">F</var>.</p>
<p>Let <span class="SimpleMath">L > K</span> be a field extension of finite degree. Then to each element <span class="SimpleMath">α ∈ L</span>, we can associate a <span class="SimpleMath">K</span>-linear mapping <span class="SimpleMath">φ_α</span> on <span class="SimpleMath">L</span>, and for a fixed <span class="SimpleMath">K</span>-basis of <span class="SimpleMath">L</span>, we can associate to <span class="SimpleMath">α</span> the matrix <span class="SimpleMath">M_α</span> (over <span class="SimpleMath">K</span>) of this mapping.</p>
<p>The <em>norm</em> of <span class="SimpleMath">α</span> is defined as the determinant of <span class="SimpleMath">M_α</span>, the <em>trace</em> of <span class="SimpleMath">α</span> is defined as the trace of <span class="SimpleMath">M_α</span>, the <em>minimal polynomial</em> <span class="SimpleMath">μ_α</span> and the <em>trace polynomial</em> <span class="SimpleMath">χ_α</span> of <span class="SimpleMath">α</span> are defined as the minimal polynomial (see <a href="chap58.html#X8738C6687D784BB5"><span class="RefLink">58.3-2</span></a>) and the characteristic polynomial (see <code class="func">CharacteristicPolynomial</code> (<a href="chap24.html#X87FA0A727CDB060B"><span class="RefLink">24.13-1</span></a>) and <code class="func">TracePolynomial</code> (<a href="chap58.html#X80FE7E017C2D255C"><span class="RefLink">58.3-3</span></a>)) of <span class="SimpleMath">M_α</span>. (Note that <span class="SimpleMath">μ_α</span> depends only on <span class="SimpleMath">K</span> whereas <span class="SimpleMath">χ_α</span> depends on both <span class="SimpleMath">L</span> and <span class="SimpleMath">K</span>.)</p>
<p>Thus norm and trace of <span class="SimpleMath">α</span> are elements of <span class="SimpleMath">K</span>, and <span class="SimpleMath">μ_α</span> and <span class="SimpleMath">χ_α</span> are polynomials over <span class="SimpleMath">K</span>, <span class="SimpleMath">χ_α</span> being a power of <spanclass="SimpleMath">μ_α</span>, and the degree of <span class="SimpleMath">χ_α</span> equals the degree of the field extension <span class="SimpleMath">L > K</span>.</p>
<p>The <em>conjugates</em> of <span class="SimpleMath">α</span> in <span class="SimpleMath">L</span> are those roots of <span class="SimpleMath">χ_α</span> (with multiplicity) that lie in <span class="SimpleMath">L</span>; note that if only <span class="SimpleMath">L</span> is given, there is in general no way to access the roots outside <span class="SimpleMath">L</span>.</p>
<p>Analogously, the <em>Galois group</em> of the extension <span class="SimpleMath">L > K</span> is defined as the group of all those field automorphisms of <span class="SimpleMath">L</span> that fix <span class="SimpleMath">K</span> pointwise.</p>
<p>If <span class="SimpleMath">L > K</span> is a Galois extension then the conjugates of <span class="SimpleMath">α</span> are all roots of <span class="SimpleMath">χ_α</span> (with multiplicity), the set of conjugates equals the roots of <span class="SimpleMath">μ_α</span>, the norm of <span class="SimpleMath">α</span> equals the product and the trace of <span class="SimpleMath">α</span> equals the sum of the conjugates of <span class="SimpleMath">α</span>, and the Galois group in the sense of the above definition equals the usual Galois group,</p>
<p>Note that <code class="code">MinimalPolynomial( <var class="Arg">F</var>, <var class="Arg">z</var> )</code> is a polynomial <em>over</em> <var class="Arg">F</var>, whereas <code class="code">Norm( <varclass="Arg">F</var>, <var class="Arg">z</var> )</code> is the norm of the element <var class="Arg">z</var> <em>in</em> <var class="Arg">F</var> w.r.t. the field extension <code class="code"><var class="Arg">F</var> > LeftActingDomain( <var class="Arg">F</var> )</code>.</p>
<p>The default methods for field elements are as follows. <code class="func">MinimalPolynomial</code> (<a href="chap66.html#X8643915A8424DAF8"><span class="RefLink">66.8-1</span></a>) solves a system of linear equations, <code class="func">TracePolynomial</code> (<a href="chap58.html#X80FE7E017C2D255C"><span class="RefLink">58.3-3</span></a>) computes the appropriate power of the minimal polynomial, <code class="func">Norm</code> (<a href="chap58.html#X838515278587FF01"><span class="RefLink">58.3-4</span></a>) and <code class="func">Trace</code> (<a href="chap58.html#X7DD17EB581200AD6"><span class="RefLink">58.3-5</span></a>) values are obtained as coefficients of the characteristic polynomial, and <code class="func">Conjugates</code> (<a href="chap58.html#X837A4A5781F8EE92"><span class="RefLink">58.3-6</span></a>) uses the factorization of the characteristic polynomial.</p>
<p>For elements in finite fields and cyclotomic fields, one wants to do the computations in a different way since the field extensions in question are Galois extensions, and the Galois groups are well-known in these cases. More general, if a field is in the category <code class="code">IsFieldControlledByGaloisGroup</code> then the default methods are the following. <code class="func">Conjugates</code> (<a href="chap58.html#X837A4A5781F8EE92"><span class="RefLink">58.3-6</span></a>) returns the sorted list of images (with multiplicity) of the element under the Galois group, <code class="func">Norm</code> (<a href="chap58.html#X838515278587FF01"><span class="RefLink">58.3-4</span></a>) computes the product of the conjugates, <code class="func">Trace</code> (<a href="chap58.html#X7DD17EB581200AD6"><span class="RefLink">58.3-5</span></a>) computes the sum of the conjugates, <code class="func">TracePolynomial</code> (<a href="chap58.html#X80FE7E017C2D255C"><span class="RefLink">58.3-3</span></a>) and <code class="func">MinimalPolynomial</code> (<a href="chap66.html#X8643915A8424DAF8"><span class="RefLink">66.8-1</span></a>) compute the product of linear factors <span class="SimpleMath">x - c</span> with <span class="SimpleMath">c</span> ranging over the conjugates and the set of conjugates, respectively.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GaloisGroup</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <em>Galois group</em> of a field <var class="Arg">F</var> is the group of all field automorphisms of <var class="Arg">F</var> that fix the subfield <span class="SimpleMath">K =</span><code class="code">LeftActingDomain( <var class="Arg">F</var> )</code> pointwise.</p>
<p>Note that the field extension <span class="SimpleMath"><var class="Arg">F</var> > K</span> need <em>not</em> be a Galois extension.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinimalPolynomial</code>( <var class="Arg">F</var>, <var class="Arg">z</var>[, <var class="Arg">ind</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>returns the minimal polynomial of <var class="Arg">z</var> over the field <var class="Arg">F</var>. This is a generator of the ideal in <span class="SimpleMath"><var class="Arg">F</var>[x]</span> of all polynomials which vanish on <var class="Arg">z</var>. (This definition is consistent with the general definition of <code class="func">MinimalPolynomial</code> (<a href="chap66.html#X8643915A8424DAF8"><span class="RefLink">66.8-1</span></a>) for rings.)</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TracePolynomial</code>( <var class="Arg">L</var>, <var class="Arg">K</var>, <var class="Arg">z</var>[, <var class="Arg">inum</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>returns the polynomial that is the product of <span class="SimpleMath">(X - c)</span> where <spanclass="SimpleMath">c</span> runs over the conjugates of <var class="Arg">z</var> in the field extension <var class="Arg">L</var> over <var class="Arg">K</var>. The polynomial is returned as a univariate polynomial over <var class="Arg">K</var> in the indeterminate number <var class="Arg">inum</var> (defaulting to 1).</p>
<p>This polynomial is sometimes also called the <em>characteristic polynomial</em> of <var class="Arg">z</var> w.r.t. the field extension <span class="SimpleMath"><var class="Arg">L</var> > <var class="Arg">K</var></span>. Therefore methods are installed for <code class="func">CharacteristicPolynomial</code> (<a href="chap24.html#X87FA0A727CDB060B"><span class="RefLink">24.13-1</span></a>) that call <code class="func">TracePolynomial</code> in the case of field extensions.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Norm</code>( [<var class="Arg">L</var>, [<var class="Arg">K</var>, ]]<var class="Arg">z</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="func">Norm</code> returns the norm of the field element <var class="Arg">z</var>. If two fields <var class="Arg">L</var> and <var class="Arg">K</var> are given then the norm is computed w.r.t. the field extension <var class="Arg">L</var><span class="SimpleMath">></span><var class="Arg">K</var>, if only one field <var class="Arg">L</var> is given then <code class="code">LeftActingDomain( <var class="Arg">L</var> )</code> is taken as default for the subfield <var class="Arg">K</var>, and if no field is given then <code class="code">DefaultField( <var class="Arg">z</var> )</code> is taken as default for <var class="Arg">L</var>.</p>
<h5>58.3-5 <span class="Heading">Traces of field elements and matrices</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Trace</code>( [<var class="Arg">L</var>, [<var class="Arg">K</var>, ]]<var class="Arg">z</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Trace</code>( <var class="Arg">mat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="func">Trace</code> returns the trace of the field element <var class="Arg">z</var>. If two fields <var class="Arg">L</var> and <var class="Arg">K</var> are given then the trace is computed w.r.t. the field extension <span class="SimpleMath"><var class="Arg">L</var> > <var class="Arg">K</var></span>, if only one field <var class="Arg">L</var> is given then <code class="code">LeftActingDomain( <var class="Arg">L</var> )</code> is taken as default for the subfield <var class="Arg">K</var>, and if no field is given then <code class="code">DefaultField( <var class="Arg">z</var> )</code> is taken as default for <var class="Arg">L</var>.</p>
<p>The <em>trace of a matrix</em> is the sum of its diagonal entries. Note that this is <em>not</em> compatible with the definition of <code class="func">Trace</code> for field elements, so the one-argument version is not suitable when matrices shall be regarded as field elements.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Conjugates</code>( [<var class="Arg">L</var>, [<var class="Arg">K</var>, ]]<var class="Arg">z</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="func">Conjugates</code> returns the list of <em>conjugates</em> of the field element <var class="Arg">z</var>. If two fields <var class="Arg">L</var> and <var class="Arg">K</var> are given then the conjugates are computed w.r.t. the field extension <var class="Arg">L</var><span class="SimpleMath">></span><var class="Arg">K</var>, if only one field <var class="Arg">L</var> is given then <code class="code">LeftActingDomain( <var class="Arg">L</var> )</code> is taken as default for the subfield <var class="Arg">K</var>, and if no field is given then <code class="code">DefaultField( <var class="Arg">z</var> )</code> is taken as default for <var class="Arg">L</var>.</p>
<p>The result list will contain duplicates if <var class="Arg">z</var> lies in a proper subfield of <var class="Arg">L</var>, or of the default field of <var class="Arg">z</var>, respectively. The result list need not be sorted.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NormalBase</code>( <var class="Arg">F</var>[, <var class="Arg">elm</var>] )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">F</var> be a field that is a Galois extension of its subfield <code class="code">LeftActingDomain( <var class="Arg">F</var> )</code>. Then <code class="func">NormalBase</code> returns a list of elements in <var class="Arg">F</var> that form a normal basis of <var class="Arg">F</var>, that is, a vector space basis that is closed under the action of the Galois group (see <code class="func">GaloisGroup</code> (<a href="chap58.html#X80CAA5BA82F09ED2"><span class="RefLink">58.3-1</span></a>)) of <var class="Arg">F</var>.</p>
<p>If a second argument <var class="Arg">elm</var> is given, it is used as a hint for the algorithm to find a normal basis with the algorithm described in <a href="chapBib.html#biBArt68">[Art73]</a>.</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 ist noch experimentell.