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

 


AbelianGroupEnumNext

Computes "the next" element of an abelian group.

Syntax:

flag := AbelianGroupEnumNext(s);

boolean
  flag  
true iff there is a valid element in s
record
  s  
generated by AbelianGroupEnumInit
AbelianGroupElt
  s.elt  

See also:  AbelianGroupEnumInit

Description:

no detailed description available yet


Example:

We'll produce an ideal in every ray modulo 9 in Q(\sqrt {10}):

kash> o := OrderMaximal(Z, 2, 10);
Generating polynomial: x^2 - 10
Discriminant: 40 

kash> G := RayClassGroupToAbelianGroup(9*o);
RayClassGroupToAbelianGroup(<9>, [  ])
Group with relations:
[2 0]
[0 3]
kash> s := AbelianGroupEnumInit(G);
Record of type AbelianGroupEnum

kash> while AbelianGroupEnumNext(s) do
> Print(s.elt, "\t", AbelianGroupDiscreteExp(s.elt), "\n");
> od;
> [0 0]	<1>
[1 1]	<[818, 168], [840, 409]>
[0 2]	<[409, 84]>
[1 0]	<[14, 12], [60, 7]>
[0 1]	<[7, 6]>
[1 2]	<[15806, 6084], [30420, 7903]>


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