Ask Your Question
0

restricting a NumberField to the reals for the calculation of a Galois group

asked 2021-01-02 14:18:14 +0100

Tintin1 gravatar image

updated 2021-01-02 14:18:52 +0100

I am trying to calculate a Galois Group. I have the following code

x=QQbar(7**(1/8))
L.<x>=NumberField(x.minpoly())
G=L.galois_group(names='x')
print(G)

The output is

Galois group of Galois closure in x of Number Field in x with defining polynomial x^8 - 7

I would like to restrict the number field L to the reals. My number field should be non-complex and contain the real root of the minimum polynomial only. How do I acchieve that in my code?

Thanks

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2021-01-02 17:25:16 +0100

Tintin1 gravatar image

The question might be addressed by considering a specific subfield:

 x=QQbar(7**(1/8))
 L.<x>=NumberField(x.minpoly())
 Ls=L.subfields(degree=2)           
 print(Ls)
 G=Ls[0][0].galois_group(names='x')
 print(G.list())

In this case, the subfield which is real is of degree 2, seen as a vector space. The number field can be restricted to the reals by considering the appropriate subfield which is a proper subset of the reals. The output of the above code is

[
(Number Field in x0 with defining polynomial x^2 - 7, Ring morphism:
  From: Number Field in x0 with defining polynomial x^2 - 7
  To:   Number Field in x with defining polynomial x^8 - 7
  Defn: x0 |--> -x^4, None)
]
[(), (1,2)]
edit flag offensive delete link more
0

answered 2021-01-04 14:38:36 +0100

dan_fulea gravatar image

We can ask sage for all subfields, take then those that are totally real among them. This first try gives:

sage: var('x');
sage: L.<a> = NumberField(x^8-7)
sage: [F_data for F_data in L.subfields() if F_data[0].is_totally_real()]
[(Number Field in a0 with defining polynomial x,
  Ring morphism:
    From: Number Field in a0 with defining polynomial x
    To:   Number Field in a with defining polynomial x^8 - 7
    Defn: 0 |--> 0,
  None),
 (Number Field in a1 with defining polynomial x^2 - 7,
  Ring morphism:
    From: Number Field in a1 with defining polynomial x^2 - 7
    To:   Number Field in a with defining polynomial x^8 - 7
    Defn: a1 |--> -a^4,
  None)]

So the totally real subfields in the list come with their embeddings. I.e. the F_data is a tuple with three components, the pythonically 0.th component is the field.

The first field listed above is $\Bbb Q=\Bbb Q(0)$, where $0$ is the root of $x$, the second field is the field $\Bbb Q(\sqrt 7)$, where $\sqrt 7$ (considered algebraically) is the root of $x^2-7$. We want the maximal degree, so an idea is to sort w.r.t. the degrees and take the maximal degree. The code doing this is:

sage: var('x');
sage: L.<a> = NumberField(x^8-7)
sage: L_totally_real_subfields = [(F, emb) for (F, emb, _) in L.subfields() if F.is_totally_real()]
sage: L_totally_real_subfields.sort(key=lambda data: data[0].degree())
sage: L_totally_real_subfields[-1]
(Number Field in a1 with defining polynomial x^2 - 7,
 Ring morphism:
   From: Number Field in a1 with defining polynomial x^2 - 7
   To:   Number Field in a with defining polynomial x^8 - 7
   Defn: a1 |--> -a^4)

Let's "do the same" with some nice cyclotomic field...

sage: K.<z> = CyclotomicField(17)
sage: K_totally_real_subfields = [F for (F, emb, _) in K.subfields() if F.is_totally_real()]
sage: len(K_totally_real_subfields)
4
sage: K_totally_real_subfields.sort(key=lambda F: F.degree())
sage: K_totally_real_subfields[-1]
Number Field in z3 with defining polynomial x^8 + x^7 - 7*x^6 - 6*x^5 + 15*x^4 + 10*x^3 - 10*x^2 - 4*x + 1 with z3 = 1.864944458808712?
sage: _.defining_polynomial().roots(ring=QQbar, multiplicities=False)
[-1.965946199367804?,
 -1.700434271459229?,
 -1.205269272758513?,
 -0.5473259801441657?,
 0.1845367189266040?,
 0.8914767115530766?,
 1.478017834441319?,
 1.864944458808712?]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-01-02 14:18:14 +0100

Seen: 347 times

Last updated: Jan 04 '21