Function: bnfisnorm
Section: number_fields
C-Name: bnfisnorm
Prototype: GGD1,L,
Help: bnfisnorm(bnf,x,{flag=1}): tries to tell whether x (in Q) is the norm
 of some fractional y (in bnf). Returns a vector [a,b] where x=Norm(a)*b.
 Looks for a solution which is a S-unit, with S a certain list of primes (in
 bnf) containing (among others) all primes dividing x. If bnf is known to be
 Galois, set flag=0 (in this case, x is a norm iff b=1). If flag is non zero
 the program adds to S all the primes: dividing flag if flag<0, or less than
 flag if flag>0. The answer is guaranteed (i.e x norm iff b=1) under GRH, if
 S contains all primes less than 12.log(disc(Bnf))^2, where Bnf is the Galois
 closure of bnf.
Doc: tries to tell whether the
 rational number $x$ is the norm of some element y in $\var{bnf}$. Returns a
 vector $[a,b]$ where $x=Norm(a)*b$. Looks for a solution which is an $S$-unit,
 with $S$ a certain set of prime ideals containing (among others) all primes
 dividing $x$. If $\var{bnf}$ is known to be \idx{Galois}, set $\fl=0$ (in
 this case, $x$ is a norm iff $b=1$). If $\fl$ is non zero the program adds to
 $S$ the following prime ideals, depending on the sign of $\fl$. If $\fl>0$,
 the ideals of norm less than $\fl$. And if $\fl<0$ the ideals dividing $\fl$.

 Assuming \idx{GRH}, the answer is guaranteed (i.e.~$x$ is a norm iff $b=1$),
 if $S$ contains all primes less than $12\log(\disc(\var{Bnf}))^2$, where
 $\var{Bnf}$ is the Galois closure of $\var{bnf}$.

 See also \tet{bnfisintnorm}.
