Ask Your Question

Revision history [back]

Checking the documentation for NumberField (you can use "NumberField?" to print the documentation from within sage), I found an optional argument embedding which specifies the embedding into another field -- so you have to specify which zeta6 you mean:

Here are the roots over CC:

sage: cyclotomic_polynomial(6).base_extend(CC).roots()
[(0.500000000000000 - 0.866025403784439*I, 1), (0.500000000000000 + 0.866025403784439*I, 1)]

Here we use the first root for our embedding:

sage: K.<a>=NumberField(cyclotomic_polynomial(6), embedding=cyclotomic_polynomial(6).base_extend(CC).roots()[0][0])
sage: R=K.maximal_order()

sage: A=DirichletGroup(7)
sage: character=A[1]
sage: character(3) in R.fractional_ideal(a)

Coercing to CC shows what embedding we're using:

sage: CC(a)
0.500000000000000 - 0.866025403784439*I

You can also use the other root of the cyclotomic polynomial for your embedding:

sage: K.<a>=NumberField(cyclotomic_polynomial(6), embedding=cyclotomic_polynomial(6).base_extend(CC).roots()[1][0])
sage: CC(a)
0.500000000000000 + 0.866025403784439*I

You may also be interested in CyclotomicField, which I came across while I was looking at the documentation for NumberField -- it seems to construct the nth cyclotomic field with canonical embedding to CC automatically...