Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 207

gap-system-4.4.12-5mdv2010.0.i586.rpm

<html><head><title>[ref] 65 Algebraic extensions of fields</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP064.htm">Previous</a>] [<a href ="CHAP066.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>65 Algebraic extensions of fields</h1><p>
<P>
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP065.htm#SECT001">Creation of Algebraic Extensions</a>
<li> <A HREF="CHAP065.htm#SECT002">Elements in Algebraic Extensions</a>
</ol><p>
<p>
If we adjoin a root &#945; of an irreducible polynomial <i>f</i>  &#8712; <i>K</i>[<i>x</i>] to
the field <i>K</i> we get an <strong>algebraic extension</strong> <i>K</i>(&#945;), which is again
a field. We call <i>K</i> the <strong>base field</strong> of <i>K</i>(&#945;).
<p>
By Kronecker's construction, we may identify <i>K</i>(&#945;) with
the factor ring <i>K</i>[<i>x</i>]/(<i>f</i>), 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>
Currently <font face="Gill Sans,Helvetica,Arial">GAP</font> only allows extension fields of fields <i>K</i>, when <i>K</i>
itself is not an extension field.
<p>
<p>
<h2><a name="SECT001">65.1 Creation of Algebraic Extensions</a></h2>
<p><p>
<a name = "SSEC001.1"></a>
<li><code>AlgebraicExtension( </code><var>K</var><code>, </code><var>f</var><code> ) O</code>
<p>
constructs an extension <var>L</var> of the field <var>K</var> by one root of the irreducible
polynomial <var>f</var>, using Kronecker's construction. <var>L</var> is a
field whose <code>LeftActingDomain</code> is <var>K</var>. The  polynomial <var>f</var> is the
<code>DefiningPolynomial</code> of <var>L</var> and the attribute <code>RootOfDefiningPolynomial</code>
of <var>L</var> holds a root of <var>f</var> in <var>L</var> (see&nbsp;<a href="CHAP056.htm#SSEC002.8">RootOfDefiningPolynomial</a>).
<p>
<pre>
gap&gt; x:=Indeterminate(Rationals,"x");;
gap&gt; p:=x^4+3*x^2+1;;
gap&gt; e:=AlgebraicExtension(Rationals,p);
&lt;algebraic extension over the Rationals of degree 4&gt;
gap&gt; IsField(e);
true
gap&gt; a:=RootOfDefiningPolynomial(e);
a
</pre>
<p>
<a name = "SSEC001.2"></a>
<li><code>IsAlgebraicExtension( </code><var>obj</var><code> ) C</code>
<p>
is the category of algebraic extensions of fields.
<p>
<pre>
gap&gt; IsAlgebraicExtension(e);
true
gap&gt; IsAlgebraicExtension(Rationals);
false
</pre>
<p>
<p>
<h2><a name="SECT002">65.2 Elements in Algebraic Extensions</a></h2>
<p><p>
<a name = "I0"></a>

According to Kronecker's construction, the elements of an algebraic
extension considered to be polynomials in the primitive element. The
elements of the base field are represented as polynomials of degree 0.
<font face="Gill Sans,Helvetica,Arial">GAP</font> 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 0 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>
<pre>
gap&gt; a^3/(a^2+a+1);
-1/2*a^3+1/2*a^2-1/2*a
gap&gt; a*(1/a);
!1
</pre>
<p>
The external representation of algebraic extension elements are the
polynomial coefficients in the primitive element <code>a</code>, the operations
<code>ExtRepOfObj</code> and <code>ObjByExtRep</code> can be used for conversion.
<p>
<pre>
gap&gt; ExtRepOfObj(One(a));
[ 1, 0, 0, 0 ]
gap&gt; ExtRepOfObj(a^3+2*a-9);
[ -9, 2, 0, 1 ]
gap&gt; ObjByExtRep(FamilyObj(a),[3,19,-27,433]);
433*a^3-27*a^2+19*a+3
</pre>
<p>
<font face="Gill Sans,Helvetica,Arial">GAP</font> does <strong>not</strong> embed 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 <code>One</code> of the extension which will embed all entries in the
extension.
<pre>
gap&gt; m:=[[1,a],[0,1]];
[ [ 1, a ], [ 0, 1 ] ]
gap&gt; IsMatrix(m);
false
gap&gt; m:=m*One(e);
[ [ !1, a ], [ !0, !1 ] ]
gap&gt; IsMatrix(m);
true
gap&gt; m^2;
[ [ !1, 2*a ], [ !0, !1 ] ]
</pre>
<p>
<a name = "SSEC002.1"></a>
<li><code>IsAlgebraicElement( </code><var>obj</var><code> ) C</code>
<p>
is the category for elements of an algebraic extension.
<p>
<p>
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP064.htm">Previous</a>] [<a href ="CHAP066.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<font face="Gill Sans,Helvetica,Arial">GAP 4 manual<br>December 2008
</font></body></html>