Function: ideallog
Section: number_fields
C-Name: ideallog
Prototype: GGG
Help: ideallog(nf,x,bid): if bid is a big ideal, as given by
 idealstar(nf,I,1) or idealstar(nf,I,2), gives the vector of exponents on the
 generators bid[2][3] (even if these generators have not been computed).
Doc: $\var{nf}$ is a number field,
 \var{bid} is as output by \kbd{idealstar(nf, D, \dots)} and $x$ a
 non-necessarily integral element of \var{nf} which must have valuation
 equal to 0 at all prime ideals in the support of $\kbd{D}$. This function
 computes the discrete logarithm of $x$ on the generators given in
 \kbd{\var{bid}.gen}. In other words, if $g_i$ are these generators, of orders
 $d_i$ respectively, the result is a column vector of integers $(x_i)$ such
 that $0\le x_i<d_i$ and
 $$x \equiv \prod_i g_i^{x_i} \pmod{\ ^*D}\enspace.$$
 Note that when the support of \kbd{D} contains places at infinity, this
 congruence implies also sign conditions on the associated real embeddings.
 See \tet{znlog} for the limitations of the underlying discrete log algorithms.

