[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Function Fields over the Rationals

Subfields(F) : FldFun -> SeqEnum[FldFun]
All algebraic function fields G with k(x) subset G subseteq F. For non relative algebraic function fields whose constant field is the rational field only.

Example FldFunG_Subfields (H57E11)

A subfield computation is shown below.

> k<x>:= FunctionField(Rationals());
> R<y>:= PolynomialRing(k);
> f:= y^14 - 3234*y^12 + (8*x + 123480)*y^11 + (-696*x - 1152480)*y^10 + 
> (27672*x - 43563744)*y^9 + (-663544*x + 1795525424)*y^8 + (10660416*x - 
>  33905500608)*y^7 + (-120467088*x + 409661347536)*y^6 + (976911040*x - 
>  3428257977088)*y^5 + (-5684130144*x + 20264929189344)*y^4 + (23251514496*x -
>  83582683562112)*y^3 + (-63672983360*x + 229899367865216)*y^2 + 
>  (105037027200*x - 380160309247488)*y - 79060128000*x + 286518963720192;
> F:= FunctionField(f);
> Subfields(F);
[
    <Algebraic function field defined over Univariate rational function field 
    over Rational Field
    Variables: x by
    y^14 - 3234*y^12 + (8*x + 123480)*y^11 + (-696*x - 1152480)*y^10 + (27672*x 
        - 43563744)*y^9 + (-663544*x + 1795525424)*y^8 + (10660416*x - 
        33905500608)*y^7 + (-120467088*x + 409661347536)*y^6 + (976911040*x - 
        3428257977088)*y^5 + (-5684130144*x + 20264929189344)*y^4 + 
        (23251514496*x - 83582683562112)*y^3 + (-63672983360*x + 
        229899367865216)*y^2 + (105037027200*x - 380160309247488)*y - 
        79060128000*x + 286518963720192, Mapping from: FldFun: F to FldFun: F>,
    <Algebraic function field defined over Univariate rational function field 
    over Rational Field
    Variables: x by
    y^7 + 294*y^6 - 107016*y^5 + (2744*x + 576240)*y^4 + (-806736*x + 
        2469418896)*y^3 + (88740960*x - 312072913824)*y^2 + (-4329483200*x + 
        15606890921216)*y + 79060128000*x - 286518963720192, Mapping from: 
    Algebraic function field defined over Univariate rational function field 
    over Rational Field
    Variables: x by
    y^7 + 294*y^6 - 107016*y^5 + (2744*x + 576240)*y^4 + (-806736*x + 
        2469418896)*y^3 + (88740960*x - 312072913824)*y^2 + (-4329483200*x + 
        15606890921216)*y + 79060128000*x - 286518963720192 to FldFun: F>
]

Automorphisms(K) : FldFun -> [Map]
Computes all Q(t) automorphisms of the absolute finite extension K.

Example FldFunG_Automorphisms (H57E12)

We will define an extension of degree 7 over Q(t) and compute the automorphims.

> Q:=Rationals();
> Qt<t>:=PolynomialRing(Q);
> Qtx<x>:=PolynomialRing(Qt);
> f := x^7 + (t^3 + 2*t^2 - t + 13)*x^6 + (3*t^5 - 3*t^4 
>     + 9*t^3 + 24*t^2 - 21*t + 54)*x^5 + (3*t^7 - 
>     9*t^6 + 27*t^5 - 22*t^4 + 6*t^3 + 84*t^2 - 
>     121*t + 75)*x^4 + (t^9 - 6*t^8 + 22*t^7 - 
>     57*t^6 + 82*t^5 - 70*t^4 - 87*t^3 + 140*t^2 - 
>     225*t - 2)*x^3 + (-t^10 + 5*t^9 - 25*t^8 + 
>     61*t^7 - 126*t^6 + 117*t^5 - 58*t^4 - 155*t^3 
>     + 168*t^2 - 80*t - 44)*x^2 + (-t^10 + 8*t^9 - 
>     30*t^8 + 75*t^7 - 102*t^6 + 89*t^5 + 34*t^4 - 
>     56*t^3 + 113*t^2 + 42*t - 17)*x + t^9 - 7*t^8 
>     + 23*t^7 - 42*t^6 + 28*t^5 + 19*t^4 - 60*t^3 -
>     2*t^2 + 16*t - 1;
> K:=FunctionField(f);
> A:=Automorphisms(K);
> #A;
7
Now we will transform this list into a group to see that it is really cyclic. We pass in special functions for equality testing and multiplication to speed the algorithm up.

> G := GenericGroup(A: Eq := func<a,b | a`Images eq b`Images>,
>                    Mult := func<a,b | hom<K -> K | a`Images @ b>>);
> G;
Finitely presented group G on 2 generators
Relations
    G.1 = Id(G)
    G.1 * G.2 = G.2 * G.1
    G.1 * G.2^2 = G.2^2 * G.1
    G.1 * G.2^3 = G.2^3 * G.1
    G.1 * G.2^4 = G.2^4 * G.1
    G.1 * G.2^5 = G.2^5 * G.1
    G.1 * G.2^6 = G.2^6 * G.1
    G.1 = G.2^7

IsSubfield(K, L) : FldFun, FldFun -> BoolElt, Map
Given two absolute finite extensions K and L of Q(t), decide if L is an extension of K. If this is the case, return an embedding map from K into L.
IsIsomorphic(K, L) : FldFun, FldFun -> BoolElt, Map
Given two absolute finite extensions K and L of Q(t), decide if L is Q(t) isomorphic to K. If this is the case, return a map from K onto L.

Example FldFunG_IsSubfield (H57E13)

Subfields and IsIsomorphic are illustrated below.

> Q:=Rationals();
> Qt<t>:=PolynomialRing(Q);
> Qtx<x>:=PolynomialRing(Qt);
> K:=FunctionField(x^4-t^3);
> L:=Subfields(K);
> #L;
2
> L:=L[2][1]; L;
Algebraic function field defined over Univariate
rational function field over Rational Field
Variables: t by
x^2 - t^3
Now we will check if L is indeed a subfield of K:

> IsSubfield(L,K);
true Mapping from: FldFun: L to FldFun: K
Obviously, L can be defined with a more simple polynomial:

> LL:=FunctionField(x^2-t);
> IsIsomorphic(LL,L); 
true Mapping from: FldFun: LL to FldFun: L


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]