[back] [prev] [next] [index] [root]

 


OrderSubfield

Returns all non-trivial subfields of given degree m. If no m is specified, all subfields are calculated.

Syntax:

L := OrderSubfield(o);
L := OrderSubfield(o, m);

list
  L  
list of suborders
order
  O  
the given order
small integer
  m  
the prescribed degree of subfields

See also:  OrderSubfieldSub

Description:

This function calculates all non-trivial subfields of given degree m. If no m is specified, all non-trivial subfields are calculated. The result is a list L, which contains the calculated subfields as orders. The function uses the algorithms described in Kl1,KlPo1,Kl2\par It is possible that this function returns the same order for two subfields. In this case, these subfields are isomorphic, but not identical. In the example below, the three subfields are isomorphic If the running time for this function seems too long, the user may want to try OrderSubfieldSub.


Example:

Computation of subfields of given degree.

kash> O:=Order(Poly(Zx,[1,-3,5,-5,5,-3,1]));
Generating polynomial: x^6 - 3*x^5 + 5*x^4 - 5*x^3 + 5*x^2 - 3*x + 1

kash> L:=OrderSubfield(O,3);
[ Generating polynomial: x^2 + 23
    , Generating polynomial: x^3 - 3*x^2 + 2*x - 1
    , Generating polynomial: x^3 - 2*x^2 + 3*x - 1
    , Generating polynomial: x^3 - 3*x^2 + 2*x - 1
     ]
kash> elt:=Elt(L[2],[1,1,1]);
[1, 1, 1]
kash> EltMove(elt,O);
> [2, -3, 3, -5, 3, -2]


<- back[back] [prev] [next] [index] [root]