1Function: bnrclassnolist
2Section: number_fields
3C-Name: bnrclassnolist
4Prototype: GG
5Help: bnrclassnolist(bnf,list): if list is as output by ideallist or
6 similar, gives list of corresponding ray class numbers.
7Doc: $\var{bnf}$ being as
8 output by \kbd{bnfinit}, and \var{list} being a list of moduli (with units) as
9 output by \kbd{ideallist} or \kbd{ideallistarch}, outputs the list of the
10 class numbers of the corresponding ray class groups. To compute a single
11 class number, \tet{bnrclassno} is more efficient.
12
13 \bprog
14 ? bnf = bnfinit(x^2 - 2);
15 ? L = ideallist(bnf, 100, 2);
16 ? H = bnrclassnolist(bnf, L);
17 ? H[98]
18 %4 = [1, 3, 1]
19 ? l = L[1][98]; ids = vector(#l, i, l[i].mod[1])
20 %5 = [[98, 88; 0, 1], [14, 0; 0, 7], [98, 10; 0, 1]]
21 @eprog
22 The weird \kbd{l[i].mod[1]}, is the first component of \kbd{l[i].mod}, i.e.
23 the finite part of the conductor. (This is cosmetic: since by construction
24 the Archimedean part is trivial, I do not want to see it). This tells us that
25 the ray class groups modulo the ideals of norm 98 (printed as \kbd{\%5}) have
26 respectively order $1$, $3$ and $1$. Indeed, we may check directly:
27 \bprog
28 ? bnrclassno(bnf, ids[2])
29 %6 = 3
30 @eprog
31