[Next][Prev] [Right] [Left] [Up] [Index] [Root]
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.
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>
]
Computes all Q(t) automorphisms of the absolute finite extension
K.
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
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.
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.
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]