|
D.4.20.2 primitive_extra
Procedure from library primitiv.lib (see primitiv_lib).
- Usage:
- primitive_extra(i); i ideal
- Assume:
- The ground field of the basering is k=Q or k=Z/pZ and the ideal
i is given by 2 generators f,g with the following properties:
| f is the minimal polynomial of a in k[x],
g is a polynomial in k[x,y] s.th. g(a,y) is the minpoly of b in k(a)[y].
| Here, x is the name of the first ring variable, y the name of the
second.
- Return:
- ideal j in k[y] such that
| j[1] is the minimal polynomial for a primitive element c of k(a,b) over k,
j[2] is a polynomial s.th. j[2](c)=a.
|
- Note:
- While
primitive(i) may fail for finite fields,
primitive_extra(i) tries all elements of k(a,b) and, hence,
always finds a primitive element.
In order to do this (try all elements), field extensions like Z/pZ(a)
are not allowed for the ground field k.
primitive_extra(i) assumes that the second generator, g, is
monic as polynomial in (k[x])[y].
Example:
|