# 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]] - Sqrt[3+Sqrt]]] 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]] - Sqrt[3 + Sqrt]]

(* Out= 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= {2, 3, 5, 43} *)

(* Out= 1/16 (-2 + Sqrt + 2 Sqrt - Sqrt[
10] + (-2 Sqrt + 2 Sqrt) x - 2 x^2) (-2 - Sqrt -
2 Sqrt - Sqrt + (2 Sqrt + 2 Sqrt) x - 2 x^2) (2 +
Sqrt - 2 Sqrt - Sqrt + (-2 Sqrt + 2 Sqrt) x +
2 x^2) (2 - Sqrt + 2 Sqrt - Sqrt[
10] + (2 Sqrt + 2 Sqrt) 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.

• 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