Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/doc/ref/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 18 kB image not shown  

Quelle  chap67.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/doc/ref/chap67.html


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (ref) - Chapter 67: Algebraic extensions of fields</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap67"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chap41.html">41</a>  <a href="chap42.html">42</a>  <a href="chap43.html">43</a>  <a href="chap44.html">44</a>  <a href="chap45.html">45</a>  <a href="chap46.html">46</a>  <a href="chap47.html">47</a>  <a href="chap48.html">48</a>  <a href="chap49.html">49</a>  <a href="chap50.html">50</a>  <a href="chap51.html">51</a>  <a href="chap52.html">52</a>  <a href="chap53.html">53</a>  <a href="chap54.html">54</a>  <a href="chap55.html">55</a>  <a href="chap56.html">56</a>  <a href="chap57.html">57</a>  <a href="chap58.html">58</a>  <a href="chap59.html">59</a>  <a href="chap60.html">60</a>  <a href="chap61.html">61</a>  <a href="chap62.html">62</a>  <a href="chap63.html">63</a>  <a href="chap64.html">64</a>  <a href="chap65.html">65</a>  <a href="chap66.html">66</a>  <a href="chap67.html">67</a>  <a href="chap68.html">68</a>  <a href="chap69.html">69</a>  <a href="chap70.html">70</a>  <a href="chap71.html">71</a>  <a href="chap72.html">72</a>  <a href="chap73.html">73</a>  <a href="chap74.html">74</a>  <a href="chap75.html">75</a>  <a href="chap76.html">76</a>  <a href="chap77.html">77</a>  <a href="chap78.html">78</a>  <a href="chap79.html">79</a>  <a href="chap80.html">80</a>  <a href="chap81.html">81</a>  <a href="chap82.html">82</a>  <a href="chap83.html">83</a>  <a href="chap84.html">84</a>  <a href="chap85.html">85</a>  <a href="chap86.html">86</a>  <a href="chap87.html">87</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap66.html">[Previous Chapter]</a>    <a href="chap68.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap67_mj.html">[MathJax on]</a></p>
<p><a id="X85732CEF7ECFCA68" name="X85732CEF7ECFCA68"></a></p>
<div class="ChapSects"><a href="chap67.html#X85732CEF7ECFCA68">67 <span class="Heading">Algebraic extensions of fields</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap67.html#X7AD9B24E78ADC27F">67.1 <span class="Heading">Creation of Algebraic Extensions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap67.html#X7CDA90537D2BAC8A">67.1-1 AlgebraicExtension</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap67.html#X811F10217F12B3F9">67.1-2 IsAlgebraicExtension</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap67.html#X819C7E6F78817F1E">67.2 <span class="Heading">Elements in Algebraic Extensions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap67.html#X79695C887FD0AEAB">67.2-1 IsAlgebraicElement</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap67.html#X8529BB22865273B1">67.3 <span class="Heading">Finding Subfields</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap67.html#X7FCAEFBC87651BDD">67.3-1 IdealDecompositionsOfPolynomial</a></span>
</div></div>
</div>

<h3>67 <span class="Heading">Algebraic extensions of fields</span></h3>

<p>If we adjoin a root <span class="SimpleMath">α</span> of an irreducible polynomial <span class="SimpleMath">f ∈ K[x]</span> to the field <span class="SimpleMath">K</span> we get an <em>algebraic extension</em> <span class="SimpleMath">K(α)</span>, which is again a field. We call <span class="SimpleMath">K</span> the <em>base field</em> of <span class="SimpleMath">K(α)</span>.</p>

<p>By Kronecker's construction, we may identify K(α) with the factor ring K[x]/(f), an identification that also provides a method for computing in these extension fields.



<p>It is important to note that different extensions of the same field are entirely different (and its elements lie in different families), even if mathematically one could be embedded in the other one.</p>

<p>Currently <strong class="pkg">GAP</strong> only allows extension fields of fields <span class="SimpleMath">K</span>, when <span class="SimpleMath">K</span> itself is not an extension field.</p>

<p><a id="X7AD9B24E78ADC27F" name="X7AD9B24E78ADC27F"></a></p>

<h4>67.1 <span class="Heading">Creation of Algebraic Extensions</span></h4>

<p><a id="X7CDA90537D2BAC8A" name="X7CDA90537D2BAC8A"></a></p>

<h5>67.1-1 AlgebraicExtension</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AlgebraicExtension</code>( <var class="Arg">K</var>, <var class="Arg">f</var>[, <var class="Arg">nam</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">‣ AlgebraicExtensionNC</code>( <var class="Arg">K</var>, <var class="Arg">f</var>[, <var class="Arg">nam</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>constructs an extension <var class="Arg">L</var> of the field <var class="Arg">K</var> by one root of the irreducible polynomial <var class="Arg">f</var>, using Kronecker's construction. L is a field whose LeftActingDomain (57.1-11) value is K. The polynomial f is the DefiningPolynomial (58.2-7) value of L and the attribute RootOfDefiningPolynomial (58.2-8) of L holds a root of f in L. By default this root is printed as a, this string can be overwritten with the optional argument nam.



<p>The first version of the command checks that the polynomial <var class="Arg">f</var> is an irreducible polynomial over <var class="Arg">K</var>. This check is skipped with the <code class="code">NC</code> variant.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">x:=Indeterminate(Rationals,"x");;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">p:=x^4+3*x^2+1;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">e:=AlgebraicExtension(Rationals,p);</span>
<algebraic extension over the Rationals of degree 4>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsField(e);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">a:=RootOfDefiningPolynomial(e);</span>
a
<span class="GAPprompt">gap></span> <span class="GAPinput">l := AlgebraicExtensionNC(Rationals, x^24+3*x^2+1, "alpha");;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">RootOfDefiningPolynomial(l)^50;</span>
9*alpha^6+6*alpha^4+alpha^2
</pre></div>

<p><a id="X811F10217F12B3F9" name="X811F10217F12B3F9"></a></p>

<h5>67.1-2 IsAlgebraicExtension</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAlgebraicExtension</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>is the category of algebraic extensions of fields.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAlgebraicExtension(e);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAlgebraicExtension(Rationals);</span>
false
</pre></div>

<p><a id="X819C7E6F78817F1E" name="X819C7E6F78817F1E"></a></p>

<h4>67.2 <span class="Heading">Elements in Algebraic Extensions</span></h4>

<p>According to Kronecker's construction, the elements of an algebraic extension are considered to be polynomials in the primitive element. The elements of the base field are represented as polynomials of degree zero. GAP therefore displays elements of an algebraic extension as polynomials in an indeterminate a, which is a root of the defining polynomial of the extension. Polynomials of degree zero are displayed with a leading exclamation mark to indicate that they are different from elements of the base field.



<p>The usual field operations are applicable to algebraic elements.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">a^3/(a^2+a+1);</span>
-1/2*a^3+1/2*a^2-1/2*a
<span class="GAPprompt">gap></span> <span class="GAPinput">a*(1/a);</span>
!1
</pre></div>

<p>The external representation of algebraic extension elements are the polynomial coefficients in the primitive element <code class="code">a</code>, the operations <code class="func">ExtRepOfObj</code> (<a href="chap79.html#X8542B32A8206118C"><span class="RefLink">79.8-1</span></a>) and <code class="func">ObjByExtRep</code> (<a href="chap79.html#X8542B32A8206118C"><span class="RefLink">79.8-1</span></a>) can be used for conversion.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ExtRepOfObj(One(a));</span>
[ 1, 0, 0, 0 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ExtRepOfObj(a^3+2*a-9);</span>
[ -9, 2, 0, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ObjByExtRep(FamilyObj(a),[3,19,-27,433]);</span>
433*a^3-27*a^2+19*a+3
</pre></div>

<p><strong class="pkg">GAP</strong> does <em>not</emembed the base field in its algebraic extensions and therefore lists which contain elements of the base field and of the extension are not homogeneous and thus cannot be used as polynomial coefficients or to form matrices. The remedy is to multiply the list(s) with the value of the attribute <code class="func">One</code> (<a href="chap31.html#X8046262384895B2A"><span class="RefLink">31.10-2</span></a>) of the extension which will embed all entries in the extension.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">m:=[[1,a],[0,1]];</span>
[ [ 1, a ], [ 0, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsMatrix(m);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">m:=m*One(e);</span>
[ [ !1, a ], [ !0, !1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsMatrix(m);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">m^2;</span>
[ [ !1, 2*a ], [ !0, !1 ] ]
</pre></div>

<p><a id="X79695C887FD0AEAB" name="X79695C887FD0AEAB"></a></p>

<h5>67.2-1 IsAlgebraicElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAlgebraicElement</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>is the category for elements of an algebraic extension.</p>

<p><a id="X8529BB22865273B1" name="X8529BB22865273B1"></a></p>

<h4>67.3 <span class="Heading">Finding Subfields</span></h4>

<p><a id="X7FCAEFBC87651BDD" name="X7FCAEFBC87651BDD"></a></p>

<h5>67.3-1 IdealDecompositionsOfPolynomial</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdealDecompositionsOfPolynomial</code>( <var class="Arg">pol</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">f</span> be a univariate, rational, irreducible, polynomial. A pair <span class="SimpleMath">g</span>,<span class="SimpleMath">h</span> of polynomials of degree strictly smaller than that of <span class="SimpleMath">f</span>, such that <span class="SimpleMath">f(x)|g(h(x))</span> is called an ideal decomposition. In the context of field extensions, if <span class="SimpleMath">α</span> is a root of <span class="SimpleMath">f</span> in a suitable extension and <span class="SimpleMath">Q</span> the field of rational numbers. Such decompositions correspond to (proper) subfields <span class="SimpleMath">Q < Q(β) < Q(α)</span>, where <span class="SimpleMath">g</span> is the minimal polynomial of <span class="SimpleMath">β</span>. This function determines such decompositions up to equality of the subfields <span class="SimpleMath">Q(β)</span>, thus determining subfields of a given algebraic extension. It returns a list of pairs <span class="SimpleMath">[g,h]</span> (and an empty list if no such decomposition exists). If the option <var class="Arg">onlyone</var> is given it returns at most one such decomposition (and performs faster).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">x:=X(Rationals,"x");;pol:=x^8-24*x^6+144*x^4-288*x^2+144;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l:=IdealDecompositionsOfPolynomial(pol);</span>
[ [ x^2+72*x+144, x^6-20*x^4+60*x^2-36 ],
  [ x^2-48*x+144, x^6-21*x^4+84*x^2-48 ],
  [ x^2+288*x+17280, x^6-24*x^4+132*x^2-288 ],
  [ x^4-24*x^3+144*x^2-288*x+144, x^2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List(l,x->Value(x[1],x[2])/pol);</span>
[ x^4-16*x^2-8, x^4-18*x^2+33, x^4-24*x^2+120, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IdealDecompositionsOfPolynomial(pol:onlyone);</span>
[ [ x^2+72*x+144, x^6-20*x^4+60*x^2-36 ] ]
</pre></div>

<p>In this example the given polynomial is regular with Galois group <span class="SimpleMath">Q_8</span>, as expected we get four proper subfields.</p>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap66.html">[Previous Chapter]</a>    <a href="chap68.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chap41.html">41</a>  <a href="chap42.html">42</a>  <a href="chap43.html">43</a>  <a href="chap44.html">44</a>  <a href="chap45.html">45</a>  <a href="chap46.html">46</a>  <a href="chap47.html">47</a>  <a href="chap48.html">48</a>  <a href="chap49.html">49</a>  <a href="chap50.html">50</a>  <a href="chap51.html">51</a>  <a href="chap52.html">52</a>  <a href="chap53.html">53</a>  <a href="chap54.html">54</a>  <a href="chap55.html">55</a>  <a href="chap56.html">56</a>  <a href="chap57.html">57</a>  <a href="chap58.html">58</a>  <a href="chap59.html">59</a>  <a href="chap60.html">60</a>  <a href="chap61.html">61</a>  <a href="chap62.html">62</a>  <a href="chap63.html">63</a>  <a href="chap64.html">64</a>  <a href="chap65.html">65</a>  <a href="chap66.html">66</a>  <a href="chap67.html">67</a>  <a href="chap68.html">68</a>  <a href="chap69.html">69</a>  <a href="chap70.html">70</a>  <a href="chap71.html">71</a>  <a href="chap72.html">72</a>  <a href="chap73.html">73</a>  <a href="chap74.html">74</a>  <a href="chap75.html">75</a>  <a href="chap76.html">76</a>  <a href="chap77.html">77</a>  <a href="chap78.html">78</a>  <a href="chap79.html">79</a>  <a href="chap80.html">80</a>  <a href="chap81.html">81</a>  <a href="chap82.html">82</a>  <a href="chap83.html">83</a>  <a href="chap84.html">84</a>  <a href="chap85.html">85</a>  <a href="chap86.html">86</a>  <a href="chap87.html">87</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

100%


¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.