Function: bnflog
Section: number_fields
C-Name: bnflog
Prototype: GG
Help: bnflog(bnf,l): let bnf be attached to a number field F and let l be
 a prime number. Return the subgroup of degree 0 classes in the
 logarithmic l-class group Cl~_F.
Doc: let \var{bnf} be a \var{bnf} structure attached to the number field $F$
 and let $l$ be a prime number, hereafter denoted $\ell$ for typographical
 reasons. One define the logarithmic $\ell$-class group
 $\widetilde{Cl}_{F}$ of $F$, which is an infinite abelian group, and
 a logarithmic degree map with values in $\Z_{\ell}$.

 The function \kbd{bnflog} computes the subgroup $\widetilde{Cl}^{0}_{F}$ of
 classes of logarithmic degree $0$ in $\widetilde{Cl}_{F}$.
 This is a finite abelian group if $F/\Q$ is abelian and conjecturally
 finite for all number fields. The function returns if and only if
 the group is indeed finite (otherwise it would run into an infinite loop).
 Let $S = \{ \goth{p}_{1},\dots, \goth{p}_{k}\}$ be the set of $\ell$-adic
 places (maximal ideals containing $\ell$).
 The function returns $[D, G(\ell), G']$, where

 \item $D$ is the vector of elementary divisors for $\widetilde{Cl}_{F}$.

 \item $G(\ell)$ is the vector of elementary divisors for
 the (conjecturally finite) abelian group
 $$\widetilde{\Cl}(\ell) =
 \{ \goth{a} = \sum_{i \leq k} a_{i} \goth{p}_{i} :~\deg_{F} \goth{a} = 0\},$$
 where the $\goth{p}_{i}$ are the $\ell$-adic places of $F$; this is a
 subgroup of $\widetilde{\Cl}$.

 \item $G'$ is the vector of elementary divisors for the $\ell$-Sylow $Cl'$
 of the $S$-class group of $F$; the group $\widetilde{\Cl}$ maps to $Cl'$
 with a simple co-kernel.
