Download User`s Guide to Pari-GP
Transcript
3.6.26 bnrisconductor(a1, {a2}, {a3}): a1, a2, a3 represent an extension of the base field, given
by class field theory for some modulus encoded in the parameters. Outputs 1 if this modulus is the
conductor, and 0 otherwise. This is slightly faster than bnrconductor.
The library syntax is bnrisconductor(a1, a2, a3) and the result is a long.
3.6.27 bnrisprincipal(bnr , x, {flag = 1}): bnr being the number field data which is output by
bnrinit and x being an ideal in any form, outputs the components of x on the ray class group
generators in a way similar to bnfisprincipal. That is a 3-component vector v where v[1] is the
vector of components of x Q
on the ray class group generators, v[2] gives on the integral basis an
element α such that x = α i gixi . Finally v[3] indicates the number of bits of accuracy left in the
result. In any case the result is checked for correctness, but v[3] is included to see if it is necessary
to increase the accuracy in other computations.
If flag = 0, outputs only v1 .
The settings flag = 2 or 3 are not available in this case.
The library syntax is isprincipalrayall(bnr , x, flag).
3.6.28 bnrrootnumber(bnr
, chi , {flag = 0}): if χ = chi is a (not necessarily primitive) character
P
over bnr , let L(s, χ) = id χ(id)N (id)−s be the associated Artin L-function. Returns the so-called
Artin root number, i.e. the complex number W (χ) of modulus 1 such that
Λ(1 − s, χ) = W (χ)Λ(s, χ)
where Λ(s, χ) = A(χ)s/2 γχ (s)L(s, χ) is the enlarged L-function associated to L.
The generators of the ray class group are needed, and you can set flag = 1 if the character is
known to be primitive. Example:
bnf = bnfinit(x^2 - 145);
bnr = bnrinit(bnf,7,1);
bnrrootnumber(bnr, [5])
√
returns the root number of the character χ of Cl7 (Q( 145)) such that χ(g) = ζ 5 , where g is the
generator of the ray-class field and ζ = e2iπ/N where N is the order of g (N = 12 as bnr.cyc
readily tells us).
The library syntax is bnrrootnumber(bnf , chi , flag)
3.6.29 bnrstark(bnr , subgroup, {flag = 0}): bnr being as output by bnrinit(,,1), finds a relative
equation for the class field corresponding to the modulus in bnr and the given congruence subgroup
using Stark units (set subgroup = 0 if you want the whole ray class group). The main variable of
bnr must not be x, and the ground field and the class field must be totally real and not isomorphic
to Q (over the rationnals, use polsubcyclo or galoissubcyclo). flag is optional and may be set
to 0 to obtain a reduced relative polynomial, 1 to be satisfied with any relative polynomial, 2 to
obtain an absolute polynomial and 3 to obtain the irreducible relative polynomial of the Stark unit,
0 being default. Example:
bnf = bnfinit(y^2 - 3);
bnr = bnrinit(bnf, 5, 1);
bnrstark(bnr, 0)
√
returns the ray class field of Q( 3) modulo 5.
91