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

 


OrderMaximal

Returns the maximal overorder of an order.

Syntax:

O := OrderMaximal( def);
O := OrderMaximal( def, str);

order
  O  
see below
   def  
up to 4 optional strings
   str  

See also:  OrderPMaximal, Order

Description:

The OrderMaximal function returns the maximal overorder of the order o by using the algorithm and techniques which are specified in the optional strings. The argument def may be the order o or one of the argument lists of the function Order which defines the order o. The optional argument list str (1-4 strings) is used to control the algorithm: You can choose the "Round2" XOR "Round4" algorithm for the computation with additional techniques "Split" to use the algebra splitting due to the Round4-Algorithm or "NoSplit" to avoid this. The reduced discriminant can be useful to factorize the discriminant of the order o, which is necessary if you want to compute the maximal order. "RD" uses the reduced discriminant and "NoRD" avoids the reduced discriminant. The Dedekind-test allows a short-cut if o is an equation order, a simple test if o is already p-maximal. Using the Round2-Algorithm, we implemented the extended Dedekind-test which computes an overorder of the equation order if it is not p-maximal. If you want the Dedekind-test use "Dedekind", otherwise type "NoDedekind". A special order of these strings is not necessary, but you can use just one of the above mentioned devices in each string. If you leave one of them unspecified, the algorithm tries to find the best solution (with respect to the running time). At present we use "Round4" and "Split" only for absolute equation orders and RD only for equation orders, so that these devices are changed to "Round2", "NoSplit" and "NoRD" in the other cases. If you want further information about the Round2-Algorithm and the Dedekind-test, see Fr1, about the Round4-Algorithm, algebra-splitting and the reduced-discriminant see Bai1.


Example:

Compute the maximal order of x^4 + 73x^2 - 280x - 2399 with the Round4-Algorithm

kash> f := Poly (Zx,[1,0, 73, -280, -2399]);
x^4 + 73*x^2 - 280*x - 2399
kash> O := OrderMaximal (f, "Round4");
>    F[1]
    |
   F[2]
  /
 /
Q
F  [ 1]     Given by transformation matrix
F  [ 2]     x^4 + 73*x^2 - 280*x - 2399
Discriminant: -997975 



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