modulus, [base_ring=None], [zeta=None], [zeta_order=None]) |
One can create the group of Dirichlet characters modulo
with values in the subgroup
of the
multiplicative group of the
base_ring
. If the
base_ring is omitted then we use
, where
is
the exponent of
. If
is omitted then we
compute and use a maximal-order zeta in base_ring, if
possible.
INPUT: modulus -- int base_ring -- Ring (optional), where characters take their values (should be an integral domain). zeta -- Element (optional), element of base_ring; zeta is a root of unity zeta_order -- int (optional), the order of zeta OUTPUT: DirichletGroup -- a group of Dirichlet characters.
NOTES: Uniqueness - If a group is created with the same parameters as another DirichletGroup still in memory, then the same group is returned instead of a new group defined by the same parameters.
The default base ring is a cyclotomic field of order the exponent
of
.
sage: DirichletGroup(20) Group of Dirichlet characters of modulus 20 over Cyclotomic Field of order 4 and degree 2
We create the group of Dirichlet character mod 20 with values in the rational numbers:
sage: G = DirichletGroup(20, rings.RationalField()); G Group of Dirichlet characters of modulus 20 over Rational Field sage: G.order() 4 sage: G.base_ring() Rational Field
The elements of G print as lists giving the values of the
character on the generators of
:
sage: list(G) [[1,1], [-1,1], [1,-1], [-1,-1]]
Next we construct the group of Dirichlet character mod 20, but with values in Q(zeta_n):
sage: G = DirichletGroup(20) sage: G.list() [[1,1], [-1,1], [1,zeta_4], [-1,zeta_4], [1,-1], [-1,-1], [1,-zeta_4], [-1,-zeta_4]]
We next compute several invariants of G:
sage: G.gens() [[-1,1], [1,zeta_4]] sage: G.unit_gens() [11, 17] sage: G.zeta() zeta_4 sage: G.zeta_order() 4
In this example we create a Dirichlet character with values in a number field. We have to give zeta, but not its order.
sage: R = rings.PolynomialRing(rings.RationalField()); x = R.gen() sage: K = rings.NumberField(x**4 + 1); a = K.gen(0) sage: G = DirichletGroup(5, K, a); G Group of Dirichlet characters of modulus 5 over Number Field with defining polynomial x^4 + 1 sage: G.list() [[1], [a^2], [-1], [-a^2]]
base_ring,
change_base,
decomposition,
galois_orbits,
gens,
integers_mod,
modulus,
ngens,
primitive_character,
unit_gens,
zeta,
zeta_order
These methods are defined as follows:
) |
Returns the base ring of self.
R) |
Returns the Dirichlet group over R with the same modulus as self.
) |
Returns the Dirichlet groups of prime power modulus corresponding to primes dividing modulus.
) |
Return a list of the Galois orbits of Dirichlet characters in self.
The Galois group is the absolute Galois group of the prime subfield of Frac(R).
) |
Returns generators of self.
) |
Returns the group of integers
where
is the
modulus of self.
) |
Returns the modulus of self.
) |
Returns the number of generators of self.
) |
Returns the primitive character associated to self.
) |
Returns the minimal generators for the units of
,
where
is the modulus of self.
) |
Returns the chosen root zeta of unity in the base ring
.
) |
Returns the order of the chosen root zeta of unity in the base
ring
.
See About this document... for information on suggesting changes.