<p id="mathjaxlink" class="pcenter"><a href="chap58.html">[MathJax off]</a></p>
<p><a id="X80A8E676814A19FD" name="X80A8E676814A19FD"></a></p>
<div class="ChapSects"><a href="chap58_mj.html#X80A8E676814A19FD">58 <span class="Heading">Fields and Division Rings</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap58_mj.html#X82B74B458705B3CE">58.1 <span class="Heading">Generating Fields</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7F2CAA9E7A16913D">58.1-1 IsDivisionRing</a></span>
<pan class"ContSS"< /><pan="">&;&bsp/spana hrefchap58_mjhtmlX7A5AE30E7C0F457C">58.1-2 IsField</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X871AA7D58263E9AC">58.1-3 Field</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7D9F7FD4786691EE">58.1-4 DefaultField</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7C298A40852C2AFF">58.1-5 DefaultFieldByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7EF624958648D0FA">58.1-6 GeneratorsOfDivisionRing</a></span>
<pan="ContSS"><br >span="nocss">&bsp<>ahrefchap58_mj.htmlX7AA715317A81261B">58.1-7 GeneratorsOfField</a>/span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X8641861A8550F8BE">58.1-8 DivisionRingByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7C193B7D7AFB29BE">58.1-9 AsDivisionRing</a></span>
<div>/div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap58_mj.html#X7C53566A839B57F6">58.2 <span class="Heading">Subfields of Fields</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> p><codeclassfunc<codesorts listclass</> in order the form<ode="">Sort> the codeclass"lt/code to comparethe elementsIf list is not homogeneous it is theuser'sresponsibility ensurethat < class=code>;</code> definedfor allelement pairs < ="chap31_mj#">< class="RefLink11/>> In code"">Sort>uses function class</> to elementsvar""></var be taking two returns class""></code the is strictlysmaller , and=""></>otherwise/java.lang.StringIndexOutOfBoundsException: Index 806 out of bounds for length 806
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X82A0E79A7B9799E0">58.2-2 FieldOverItselfByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X86DB31B57FB4F570">58.2-3 PrimitiveElement</a></span>
< class"><br /<span class=""> &;</span><a ="chap58_mj#X7DD27F927BD57FDE">8.- PrimeField</a>/span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X84B6F1E67AD0E33D">58.2-5 IsPrimeField</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7845CECE86A83219">58.2-6 DegreeOverPrimeField</a></span>
<span class="ContSS"><br /><span class="nocss"> &
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X8173DA4982DB1E8A">58.2-8 RootOfDefiningPolynomial</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X82718B3B818DC699">58.2-9 FieldExtension</a></span>
<an="ContSS"><br />span="nocss">&; </span><a hrefchap58_mj#X83490C65819D85FE">8.2-0Subfields</a>/span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap58_mj.html#X7D9A02B07D08FA40">58.3 <span class="Heading">Galois Action</span></a>
</span>
<div class
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X80CAA5BA82F09ED2">58.3-1 GaloisGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X8738C6687D784BB5">58.3-2 MinimalPolynomial</a></span>
<panclass="ContSS"><br/<span class="nocss"> &bsp/span><a ="chap58_mj.html#X80FE7E017C2D255C"">58.3-3 TracePolynomial/a</pan>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X838515278587FF01">58.3-4 Normjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X7DD17EB581200AD6">58.3-5 <span class="Heading">Traces of field elements and matrices</span></a>
<span
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X837A4A5781F8EE92">58.3-6 Conjugates</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap58_mj.html#X8236A8B47E6AAD93">58.3-7 NormalBase</a></span>
</div></div>
</div>
<h3>58 <span class="Heading">Fields and Division Rings</span></h3>
<p>A <em>division ring</em> is java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p><strong class="pkg">GAP</strong> supports finite fields (see Chapter <a href="chap59_mj.html#X7893ABF67A028802"><span class="RefLink">59</span></a>) and abelian number fields (<div class="example">pre>
<p>This chapter describes the general <strong class="pkg">GAP</strong> functions for fields<pan="GAPprompt">gap>/span> < classGAPinputlist [ 5,46,1,,5];Sort(list )list;/>
<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 1 ,5,5 ,7 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
<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_mj.html#X7A5AE30E7C0F457C"><span class="RefLink">58.1-2</span classGAPpromptgap&;</spanspan="GAPinput">list # bymod 3/>
<div class="func">spanclassGAPpromptgapgt</pan>span ="GAPinput>ort ,function; *;end )/pan
<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<span class=GAPprompt">gap></pan span ="GAPinput;# sortedto [,]<span
<p>The field of coefficients is stored as the value of the attribute <code class="func">LeftActingDomain</code> (<a href="chap57_mj.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">an style='color: green'>8227; IsField</code>( <var class="Arg">D</var> )</td><td class="tdright<span class="GAPprompt">gap></span> <span class="GAPinput">list; # sorted accordingto Manhattan distancefrom[0,0</panjava.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127
<p> <em>fieldem> is a commutative ring (see <code class="unc>IsDivisionRing</code>(ahref"chap58_mj.htmlX7F2CAA9E7A16913D"><pan class="RefLink">58.1-1</span></>) and <code class="func>IsCommutative</code>(<a hrefchap35_mj.htmlX830A4A4C795FBC2D"<span class=RefLink">35.-9<span/>)<p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsField( GaloisField(16) ); # the field with 16 elements</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsField( Rationals ); # the field of rationals</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">q:= QuaternionAlgebra( Rationals );; # noncommutative division ring</span>
< class">gapgt;/span> <span class=GAPinput">IsFieldq ); IsDivisionRing( q);/span>
false
true
<span class="GAPprompt">gap></span> <span class="GAPinput">mat:= [ [ 1 ] ];; a:= Algebra( Rationals, [ mat ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsDivisionRing( a ); # algebra not constructed as a division ring</span>
false
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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">an style='color: green'>8227; 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">\(\textit{z}, \ldots\)</span>, or the smallest field <span class="SimpleMath">\(K\)</span> that contains all elements in the list <varclass="Arg">list</var></re</div
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DefaultField</code>( <var class="Arg">z</var>, <var class="Arg"><p>><a id"X791F2B2C7E9B9A46"name"X791F2B2C7E9B9A46"></a>/p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227
<p><code class="func">DefaultField</code> returns a field <span class="SimpleMath">\(K\)</span> that contains all the elements <span class="SimpleMath">\(\textit{z}, \ldots\)</span>, or a field <<h5>21.18- SortParallel/>
<div class="func"><table class="func" width="100%"><tr><td=></> increasing order as < class"func">Sort>(a ="chap21_mj.#X7FE4975F8166884D"< class".18<span/>does.In parallel the exchangesthatare tosort< class=Arg"></var the <var="Arg">list2>, which must course at as elements <var="rg"list1> doesp>
<p>returns the default field containing the elements <var class="Arg">z</var>, <span class="SimpleMath">\(\ldots\)</span>. This field may be bigger than the smallest field containing these elements.</p>
<div class="func"><table class="func" width="100%"><trp>code classfuncStableSortParallel</codebehaves to<code class="func"SortParallelcode,except keeps invar="Arg"list1var> which equal in same relative.</p>
<p>generators with respect to addition, multiplication, and taking inverses (the identity cannot be omitted ...)</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; FieldOverItselfByGenerators</code>(> the <var class"Arg"list/> andreturns a permutation can appliedto var="">listvar>to the list The one argumentform via operator ="code">ltcode twoform w.t.the var"func</>.The permutation returned by<odeclass="func<code elementswhich comparein order.( the is thesresponsibility ensure<ode"code">lt;/ode defined all pairs <ahref=chap31_mj.#X7B3BC7BA7BB2646D">spanclass="RefLink"3111/></a)/p>
<p>This operation is needed for the call of <code class="func">Field</code> (<a href="chap58_mj.html#X871AA7D58263E9AC"><span class=<>code class"Permuted/ode> (<a href="chap21_mj.html#X7B5A19098406347A>(ahref.html#X7B5A19098406347A"<span class=RefLink">21.2017<spana> youto list according a given.<p>
<div class="func"><table class="func<pan class="APpromptgap;</pan>span class=GAPinputlist2ShallowCopy(list1;<span
<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 anyspan="GAPprompt"gap;<spanspan class"">perm Sortex list1 )<span
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsPrimeField</code>( <<spanclassGAPprompt><span>< classGAPinput;</span>
<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_mj.html#X7DD27F927BD57FDE"><span class="RefLink">58.2-4</span></a>)).</p>
<div class="func"><table class="func" width
<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 canh521184 SortingPerm</>
<p><a id="X8173DA4982DB1E8A" name
<h5>58.2-8 RootOfDefiningPolynomial</h5>
<divdiv="">table ="func"width%><><td="tdleft">< class"&8227;SortingPerm/> var =Arg></ar <td<d ="">( attribute )<td>tr</able></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_mj.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">an style='color: green'>8227; FieldExtension</code>( <var class="Arg">F</var>, <var class="Arg">poly</var> )
<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>
<p>Let <span class="SimpleMath">\(L > K\)</span> be a field extension of finite degree. Then to each element <span class="SimpleMath">\(\alpha \in L\)</span>, we can associate a <span class="SimpleMath"spanclass="GAPprompt>gap><span spanclass"GAPinput">perm :=SortingPerm list1 );<span>
<p>The <em>norm</em> of <span class="SimpleMath">\(\alpha\)</span> is defined as the determinant of <span class="SimpleMath">\(M_{\alpha}\)</span>, the <em>trace</em> of <span class="SimpleMath">\(\alpha\)</span> is defined as the trace of <span class="SimpleMath">\(M_{\alpha}\)</span>, the <em>minimal polynomial</em> <span class="SimpleMath">\(\mu_{\alpha}\)</span> and the <em>trace<pan class="GAPprompt">gapgt/> <span class="APinput>list1;</span>
<p>Thus norm and trace of <span class="SimpleMath">\(\alpha\)</span> are elements of <span class="SimpleMath">\(K\)</span>, and <span class="SimpleMath">\(\mu_{\alpha class="GAPprompt">gap>/span <span class="GAPinput>Permuted( list2, perm );</pan>
<p>The <em>conjugates</em>1,4,5,5,6 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
<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
<p>If <span class="SimpleMath">\(L > K\)</span> is a Galois extension then the conjugatesp>a id"X80ABC25582343910" name"X80ABC25582343910>/a><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
<
<> elementsin fields andcyclotomic,onewants todo thecomputations a different waysince thefield in question areGalois, and the Galois groups well-nown in these cases More general, a field inthe categorycode="ode"IsFieldControlledByGaloisGroup</ode the methods are the following.<code classfuncConjugates/> (<a href="chap58_mj.html#X837A4A5781F8EE92"spanclassRefLink>.36<span/> returns sortedof( multiplicityof under theGalois,<codeclass">Norm</ode>(<a href=chap58_mj.html#X838515278587FF01"><span="RefLink">834<span>/a)computes the product of the conjugates, <ode ="">Trace<code (a ="chap58_mj.#X7DD17EB581200AD6"><span="">.-5<></> computesthe of conjugates<ode class="func">TracePolynomial<code (a href=chap58_mjhtmlX80FE7E017C2D255C<span="">583->/> and ="">MinimalPolynomialcode < hrefchap66_mj#X8643915A8424DAF8>panclassRefLink6681/></> compute productoflinear factors span="">( - c)/span withspan class=SimpleMath>(\)/span> ranging the and set conjugatesrespectively./pjava.lang.StringIndexOutOfBoundsException: Index 1347 out of bounds for length 1347
<p><a idpIn propersets represented by sorted lists without holes duplicates < class=""GAP>.Noteguarantee representation may of a set bysortedin functionsp>
<h5>58.3-2 MinimalPolynomial</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; MinimalPolynomial</code>( <var class
<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">\(\textit{F}[x]\)</span> of all polynomials which<p>Insome contexts example <ahref=chap16_mj.htmlX7BDA99EE7CEADA7C"< class=RefLink>16<span><a>) talk about multisets A <em>ultiset<em> aset,except that elementmayappear severaltimesin amultiset.Such multisets representedby without mayhaveduplicates<p
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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">( >There are nondestructive counterparts ofthefunctions < ="">niteSet/>(< href="chap21_mj.htmlX7B3469CD7EFC1A87"<span=RefLink21.6/></>,<ode ="IntersectSetcode (a href=chap21_mj.#X8473AA657FEC3D4D"> class".19-</spanspan>/a>) and <code class="uncSubtractSet/><a =chap21_mj#">span class="RefLink"21198/pan></> available forproper sets. These are <code ="code>UnionSet> codeclass"IntersectionSet</>, and <odeclass"">Difference/> (<a href"chap30_mjhtmlX825AC0F07E010B07spanRefLink>05-</pan>.Thetwo methodsthemoreoperations<ode="func">Union/> (ahrefchap30_mj.#X799F0E2F7A502DBA>< class"RefLink">305-<span>a) < class""><code < =".html#X851069107CACF98E"><pan="">3052/></a) latter itself ( < class""Differencecode<href"hap30_mj.html#X825AC0F07E010B07>spanclass="RefLink">30.-<>a>)./>
p that ofspan="SimpleMath>((X -c)\)</> where<span ="">\(c\</>runsoverthe conjugates of var class"Arg<> in field <var="Arg">L/> over classArg<var>. polynomialis as univariatepolynomial <var ="Arg"K<> inindeterminatenumber class">inum</> (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">\(\textit{L} > \textit{K}\)</span>. Therefore methods are installed for <code class="func">CharacteristicPolynomial</code> (<a href="chap24_mj.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">an style='color: green'>8227; Norm</code>( [<var class="Arg">L</var>, [<var class="Arg">K</var>, ]]<var class="Arg">z</var> )</td><td class="tdright">( attribute java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p classfunc</code returns thenorm the field element var="Arg"z/> Iffieldsclass">L/var> and< class="rg/> are giventhen normis computed .rt field <var class="">L/var<pan="SimpleMath">( gt \)</span><var class"Arg>K</var,if only one field<varclass="></varis thencodeclasscode>eftActingDomain< =Arg<var)<code isasdefault <ar"Arg"K/arandif fieldis given then classcode>( <varclassArg<var</> is asdefault <var=""><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">an style='color: green'>8227; 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="func><table ="unc"%"<><tdclasstdleftcode="func>#8227 </>(var =Arg>mat<var>)/d<td class=tdright> attributenbsp;)<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">\(\textit{L} > \textit{K}\)</span>, if
<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">an style='color: green'>8227; Conjugates</code>( [<var class="Arg">L</var>, [<var class="Arg">java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p>codeclassfunc>onjugates</code the list <em></em> of thefield element <var="Arg"></ar>. If twofields <varclassArg>/var < class="Arg><var>are given then the conjugates are w.r.t. thefieldextension<var class="ArgL<>span=SimpleMath>\( > \)</panvarclass"rg"></var ifonlyfield class"Arg">L</var is giventhencode classcode>eftActingDomain varclass="Arg"></var> )</code is takenas defaultfor the subfield <varclass="Arg>K<var> and no fieldisgiventhen<code ="code>DefaultField( <varclass="Arg>z<var </ode>is taken as default for varclass=Arg"L/>.<p>
pThe list contain duplicatesif classArg<var>lies inpropersubfield of var class=Arg<> defaultof class">z/var>, . The result list neednotbesorted.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; NormalBase</code>( <var class="Arg">F</var>[, <var class="Arg">elm</var>] )</td><td class="tdright">( attribute )</td></tr></table></divjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
<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
<p>If a second argument <var class="Arg">elm</var> p>< idX79B940567A849216name="X79B940567A849216"></></>
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.