Function: bnfissunit
Section: number_fields
C-Name: bnfissunit
Prototype: GGG
Help: bnfissunit(bnf,sfu,x): bnf being output by bnfinit (with flag<=2), sfu
by bnfsunit, gives the column vector of exponents of x on the fundamental
S-units and the roots of unity if x is an S-unit, the empty vector otherwise.
Doc: $\var{bnf}$ being output by
\kbd{bnfinit}, \var{sfu} by \kbd{bnfsunit}, gives the column vector of
exponents of $x$ on the fundamental $S$-units and the roots of unity, in the
following order: the fundamental units~\var{bnf.fu}, the root of
unity~\var{bnf.tu}, and the $S$-units~\var{sfu[1]}.
If $x$ is not an $S$-unit, outputs an empty vector.
\bprog
? bnf = bnfinit(x^4 - x^3 + 4*x^2 + 3*x + 9, 1);
? bnf.sign
%2 = [0, 2]
? S = idealprimedec(bnf,5); #S
%3 = 2
? sfu = bnfsunit(bnf,S);
? sfu[1]
%5 = [-5/6*x^3 + 4/3*x^2 - 4/3*x - 3/2, 5]
? u = [10,-40,24,11]~;
? bnfissunit(bnf,sfu,u)
%7 = [1, Mod(2, 6), 2, 0]~
? bnfissunit(bnf,sfu,3)
%8 = []~
@eprog