[back] [prev] [next] [index] [root]
RayClassGroup
Returns the ray class number and the orders of the generators of
the ray class group modulo a congruence module.
Syntax:
L := RayClassGroup(m0 [,minf]);
L := RayClassGroup(o [,minf]);
list |
L |
|
ideal |
m0 |
|
list |
minf |
of integers/infinite primes |
order |
o |
|
See also: EltCon, IdealRayClassRep, OrderClassGroup, OrderPrec, RayClassGroupCyclicFactors, RayConductor
Description:
Computes the ray class group modulo a congruence module
{\goth{m}} = {\goth{m}}_0{\goth{m}}_\infty, where {\goth{m}}_0
is an integral ideal of a maximal
order O and {\goth{m}}_\infty is a formal product of primes at
infinity -- here a subset of the real embeddings of O.
{\goth{m}}_\infty is represented by a list of integers, where
each entry represents a real embedding (as given by EltCon).
RayClassGroup returns a list consisting of the ray class
number and a
list of the orders of the cyclic factors of the ray class group.
It might be necessary to use a higher precision (set by
OrderPrec) in order to get correct results when working
with primes at infinity.
Computing the class group and the units of the maximal order
first can speed up the computation of the ray class group, as
it is possible to influence the calculation of the class group,
for instance by setting a lower bound for the regulator.
For a description of the algorithm see Pau1,Pau2.
Example:
kash> O := OrderMaximal(Order(Z,2,10));;
kash> OrderClassGroup(O,500,"euler","fast");
[ 2, [ 2 ] ]
kash> m0 := 27*O;;
kash> minf := [1,2];;
kash> L := RayClassGroup(m0,minf);
[ 72, [ 36, 2 ] ]
kash> o:=OrderMaximal(Poly(Zx,[1,1,1]));
Generating polynomial: x^2 + x + 1
Discriminant: -3
kash> L:=RayClassGroup(o);
[ 1, [ 1 ] ]
Example:
compute the ray class group of an ideal in Z
kash> a := ZIdealCreate(9);
<9>
kash> RayClassGroup(a);
[ 3, [ 3 ] ]
<- back[back] [prev] [next] [index] [root]