# Constructible numbers

Can Mathematica detect constructible numbers? I know it has MinimalPolynomial but for degrees higher than 4 it's not obvious whether a given polynomial yields a constructible number or not.

• ToRadicals does not suffice. One can show that via ToRadicals[ RootReduce[Sqrt[2 + Sqrt[3+Sqrt[5]]] - Sqrt[3+Sqrt[5]]]] as this does not recover the (constructible) radical form. – Daniel Lichtblau May 20 '14 at 20:21

Well, there may be an approach that will often work. But it's slow. I'll illustrate on my own example.

rr =
RootReduce[Sqrt[2 + Sqrt[3 + Sqrt[5]]] - Sqrt[3 + Sqrt[5]]]

(* Out[58]= Root[
4 + 32 #1 + 24 #1^2 - 160 #1^3 + 86 #1^4 + 24 #1^5 - 20 #1^6 + #1^8 &, 3] *)


We wish to see if we can reconstruct this using only square roots. A way to show that would be to factor the minimal polynomial into linear factors using only square roots. So what square roots do we take? Here the heuristic is to use all those that show up in coefficients of the minimal polynomial. This is not fool proof and in a sense even fails in the example at hand.

ints =
Union[Flatten[FactorInteger[{4, 32, 24, 160, 86, 20}], 1][[All, 1]]]

(* Out[56]= {2, 3, 5, 43} *)

Factor[rr[[1]][x], Extension -> Thread[Sqrt[ints]]]

(* Out[57]= 1/16 (-2 + Sqrt[2] + 2 Sqrt[5] - Sqrt[
10] + (-2 Sqrt[2] + 2 Sqrt[10]) x - 2 x^2) (-2 - Sqrt[2] -
2 Sqrt[5] - Sqrt[10] + (2 Sqrt[2] + 2 Sqrt[10]) x - 2 x^2) (2 +
Sqrt[2] - 2 Sqrt[5] - Sqrt[10] + (-2 Sqrt[2] + 2 Sqrt[10]) x +
2 x^2) (2 - Sqrt[2] + 2 Sqrt[5] - Sqrt[
10] + (2 Sqrt[2] + 2 Sqrt[10]) x + 2 x^2) *)


So we did not get linear factors. But we did get enough information to show that the number is constructible, because all factors are quadratic, hence have linear factors in a quadratic extension field over the field in which they live (which is Q[sqrt(2),sqrt(3),sqrt(3),sqrt(43)]).

So it's not a guaranteed method but it might show some numbers are (nontrivially) constructible.

Here are some related links.

Actually nobody is sure the last are related.

• This is interesting (+1) but I was actually hoping for something that could tell me, "no, this number is not constructible" which your approach can't. – Charles May 21 '14 at 17:32
• No. One can of course rule out "most" cases based on the degree of the min poly. But I'm guessing you've done that and want to handle the rest. – Daniel Lichtblau May 21 '14 at 19:49
• I'm not sure what you mean -- surely for every integer $n>0$ there is a constructible number with minimal polynomial of degree $n$? – Charles May 22 '14 at 0:41
• Every extension step is quadratic so min poly has to be of deg 2^n for some n. – Daniel Lichtblau May 22 '14 at 1:24
• Sorry, confusing it with something else. :x – Charles May 22 '14 at 1:34