[back] [prev] [next] [index] [root]
OrderPMaximal
Computes the p-maximal overorder of an order.
Syntax:
op := OrderPMaximal(o,p, str);
op := OrderPMaximal(o,p,b, str);
order |
op |
|
order |
o |
|
rational prime or prime ideal |
p |
|
integer |
b |
|
up to 3 optional strings |
str |
|
See also: OrderMaximal, Order
Description:
Let o be an arbitrary order and let p be a prime
(in the absolute case: a rational prime number, in the relative
case a prime ideal).
OrderPMaximal computes the p-maximal
overorder o_p of o subject to the constraint
\nu_p(o_p:o) \le b. If the third argument b is
omitted, its default value is \infty.
You can control the algorithm and additional techniques
using the optional argument list str (1-3 strings)
with the values {\tt "Round2" XOR "Round4", "Split" XOR "NoSplit",
"Dedekind" XOR "NoDedekind".}
Their behavior is explained in the description of
OrderMaximal.
A special order of these strings is not necessary, but
you can use just one of these 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).
If you want further information about the Round2-Algorithm
and the Dedekind-test, see Fr1,
about the Round4-Algorithm and algebra-splitting
see Bai1.
Example:
Compute a maximal order by computing p-maximal orders:
kash> o := Order (Poly (Zx,[1,0, 73, -280, -2399]));
Generating polynomial: x^4 + 73*x^2 - 280*x - 2399
kash> Factor (Abs (Disc (o)));
[ [ 2, 4 ], [ 5, 2 ], [ 11, 1 ], [ 19, 1 ], [ 191, 1 ], [ 823, 2 ] ]
kash> O := OrderPMaximal (o, 2, 4,"Round4");;
kash> O := OrderPMaximal (O, 5, 2,"Round2", "NoSplit");;
kash> O := OrderPMaximal (O, 823);;
kash> Disc (O);
-997975
Example:
We test our results:
kash> O := OrderMaximal (O);;
kash> Disc (O);
> -997975
<- back[back] [prev] [next] [index] [root]