[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]