[back] [prev] [next] [index] [root]
OrderShort
Tries to find a "better" primitive polynomial for the given order.
Syntax:
o1 := OrderShort(o);
o1 := OrderShort(o, modus);
o1 := OrderShort(o, modus, iterations);
order |
o1 |
|
order |
o |
|
integer |
modus |
|
integer |
iterations |
|
See also: Order
Description:
Tries to find a polynomial for which the corresponding equation
order is of smaller index. If modus is given
(and not zero), the search is for a polynomial for which modus does
not divide the index of the equation order. When using on large
fields, this routine may take
a long time (O(2^{deg})). You can specify an upper bound for
the number of iterations with the optional third argument.
If an invalid or no argument is given, this bound is set to 15.
Note that this function only tries
to find a better polynomial, it may fail, even if there is a better
one.
Example:
This function is useful, if you merge two fields. The final
equation order is a maximal order.
kash> o1 := Order(Z,2,2);
Generating polynomial: x^2 - 2
kash> o2:= Order(o1,2,3);
F[1]
/
/
E1[1]
/
/
Q
F [ 1] x^2 - 3
E 1[ 1] x^2 - 2
kash> o3:=OrderAbs(o2);
Generating polynomial: x^4 - 10*x^2 + 1
kash> o4:=OrderShort(o3);
> Generating polynomial: x^4 - 4*x^2 + 1
Discriminant: 2304
<- back[back] [prev] [next] [index] [root]