2
$\begingroup$

As the heptadecagon is constructible with compass and straight-edge, this would seem to indicate that the degree 17 polynomial below $$ T_{17}(x)-1 $$ can be expressed in terms of products and compositions of quadratics, where $T_n$ denotes the $n$th Chebyshev polynomial of the first kind. In fact, the machinations of constructibility contrive to give this decomposition: $$T_{17}(x)-1=(x-1)((2x)^8+(2x)^7-7(2x)^6-6(2x)^5+15(2x)^4+10(2x)^3-10(2x)^2-4(2x)+1)^2\,.$$ Which in turn, makes us contemplate the degree 8 polynomial below

$$x^8+x^7-7x^6-6x^5+15x^4+10x^3-10x^2-4x+1\,.$$

This leads to my question:

Can this polynomial be written either as a product of quadratics, a product of quartics, or a composition of a quartic and a quadratic?...

Of course, all real-polynomials can be written as a product of linear and quadratic factors, so there's a danger of this question being uninteresting without some restrictions:

Where the products, or composites, have "reasonable" coefficients; i.e., nothing worse than a square root, or a nested root, of rational number(s) appearing.

With some hindsight(foresight?), somebody could probably reverse engineer Gauss's identity $$16\cos\left(\frac{2\pi}{17}\right)=-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}$$ to arrive at such a decomposition. However, an ideal answer here would proceed from the degree 8 polynomial above, without the gift of hindsight, and through some sort of trickery, which is portable/recyclable, arrive at a factorization or decomposition. I'm interested in technique instead of just the blind answer.

I have tried to implement the algorithm described here to write the degree 8 polynomial as a composition of a degree 4 and degree 2 polynomials (in either order) with no luck. Factoring software doesn't immediately factor it (it may even be irreducible over $\mathbb{Q}$ which would be an interesting side-question to tackle).

$\endgroup$
  • 1
    $\begingroup$ Galois Theory by Cox does the whole business in modern terms. Chapter 9 shows the setup and how to do it yourself, chapter 10 goes into detail on 17 . Also on page 18 of Reuschle books.google.com/… $\endgroup$ – Will Jagy Oct 6 '18 at 0:54
  • 1
    $\begingroup$ All in chapter 9. Page 245 (of the edition I used to photocopy those chapters) shows Gauss recipe with all the square roots. Pages 248-249, bits of detail. Finally, Exercises 8,9 on pages 252-253. $\endgroup$ – Will Jagy Oct 6 '18 at 1:11
  • $\begingroup$ this takes you to page 248. Not sure how many of the pages from there to 253 are included books.google.com/… $\endgroup$ – Will Jagy Oct 6 '18 at 1:12
1
$\begingroup$

Here is how i would proceed. There will be some human calculation routine too, but the "technique" is a combined human+machine activity. The structure will come in a second, but so far, let us experiment something.


First of all, i asked sage about the Galois group of the number field generated by a root of the polynomial $$ P = x^8 + x^7 - 7x^6 - 6x^5 + 15x^4 + 10x^3 - 10x^2 - 4x + 1 $$ to be factorized. It is a cyclic group of order eight. I also asked for the subfields, and sage mentions a subfield of degree four over $\Bbb Q$, related to the polynomial $$ Q = x^4 + x^3 - 6 x^2 - x + 1 \ . $$ (Code and results are postponed to not disturb here the flow. A structural way to see it follows below.) Let us compute its roots. This is a "twisted reciprocal" polynomial, one can substitute $X=ix$ first to get a reciprocal polynomial. The substitution $$ t = x-\frac 1x $$ allows to relate $Q/x^2$ with $$ T = t^2 + t -4\ . $$ (This polynomial is also present in the sage list of subfields...) The roots of $T$ are $t_{\pm}=(-1\pm \sqrt{17})/2$. The polynomials $x^2-t_\pm x-1$ have roots $$ \begin{aligned} x_{\boxed\pm} &=\frac 12\left(t_\pm\boxed\pm\sqrt{t_\pm^2+4}\right) \\ &=\frac 12\left(t_\pm\boxed\pm\sqrt{8-t_\pm}\right) \\ &= \frac 14\left(-1\pm\sqrt{17}\right) \boxed\pm \frac 12\sqrt{\frac 12\left(17\mp\sqrt{17}\right)} \ . \\ 4x_{\boxed\pm} &= \left(-1\pm\sqrt{17}\right) \boxed\pm \sqrt{2\left(17\mp\sqrt{17}\right)} \ . \end{aligned} $$


Time for the structure. I learned it from an older book of Hans Rademacher, typed it for myself some years ago. The idea is to use Gaussian periods. Let $K=\Bbb Q(w)$ be the cyclotomic field generated by the primitive root of order $17$, here fixed and denoted by $w$ instead of the longer $\zeta_{17}$, which is hard to type. The Galois group of $K$ over $\Bbb Q$ has elements sending $w$ to some other primitive root $w^k$, so $k\in 1,2,\dots 16$.

My choice is $3$ as a generator of the cyclic multiplicatie group $(\Bbb Z/17)^\times$, so let us use the Frobenius morphism $$ Fw = w^3\ .$$

So $F^2w = FFw=Fw^3=(w^3)^3=w^9$, and $F^3w = FF^2w=Fw^9=(w^3)^9 = w^{27}$, and in general $F^jw = w^{3^j}$.

The idea of the Gaussian periods is simple. We associate the following sums: $$ \begin{aligned} S &= F^0w + Fw + F^2w + F^3w+\dots+F^{14}w+F^{15}w\\ &=w+w^2+w^3+\dots+w^{16}\text{ (in other order)}\\ &=-1\ ,\\[2mm] &\qquad\text{ and we split it in two subsums,}\\[2mm] S_0 &= F^0w + F^2w + F^4w+\dots+F^{14}w\\ S_1 &= Fw + F^3w + F^5w+\dots+F^{15}w\\[2mm] &\qquad\text{ and we split each in two subsums,}\\[2mm] S_{00} &= F^0w + F^4w + F^8w+F^{12}w\\ S_{10} &= F^2w + F^6w + F^{10}w+F^{14}w\\[2mm] S_{01} &= Fw + F^5w + F^9w+\dots+F^{13}w\\ S_{11} &= F^3w + F^7w + F^{11}w+\dots+F^{15}w\\[2mm] &\qquad\text{ and we split each in two subsums,}\\[2mm] S_{000}&= F^0w + F^8w\\ S_{100}&= F^4w + F^{12}w\\ &\qquad\text{and so on...} \end{aligned} $$ The indices are my choice, they suggest binary written numbers. So $S_{01}$ is a sum of terms $F^jw$ with $j$ congruent to (the binary phone number) $01_{[2]}=1$ modulo $4$, $S_{101}=F^5w+F^{13}w$ and so on.

There are obvious splitting relations, for instance $S_0+S_1=S=-1$, $S_{00}+S_{10}=S_0$, sum relations. But there are also product relations.

Instead of writing them here explicitly, a hard jax job, i will use sage to "type" them. Sage is a mathematically structurally thinking language, so i hope the dry exposition gives the information in a human way.

sage: K.<w> = CyclotomicField(17)
sage: K
Cyclotomic Field of order 17 and degree 16
sage: w^17
1

sage: S     = sum( [ w^(3^j) for j in [0..15] ] ) 

sage: S0    = sum( [ w^(3^j) for j in [0..15] if j%2 == 0 ] ) 
sage: S1    = sum( [ w^(3^j) for j in [0..15] if j%2 == 1 ] ) 

sage: S00   = sum( [ w^(3^j) for j in [0..15] if j%4 == 0 ] ) 
sage: S01   = sum( [ w^(3^j) for j in [0..15] if j%4 == 1 ] ) 
sage: S10   = sum( [ w^(3^j) for j in [0..15] if j%4 == 2 ] )
sage: S11   = sum( [ w^(3^j) for j in [0..15] if j%4 == 3 ] )

sage: S000  = sum( [ w^(3^j) for j in [0..15] if j%8 == 0 ] ) 
sage: S001  = sum( [ w^(3^j) for j in [0..15] if j%8 == 1 ] )
sage: S010  = sum( [ w^(3^j) for j in [0..15] if j%8 == 2 ] )
sage: S011  = sum( [ w^(3^j) for j in [0..15] if j%8 == 3 ] )
sage: S100  = sum( [ w^(3^j) for j in [0..15] if j%8 == 4 ] )
sage: S101  = sum( [ w^(3^j) for j in [0..15] if j%8 == 5 ] )
sage: S110  = sum( [ w^(3^j) for j in [0..15] if j%8 == 6 ] )
sage: S111  = sum( [ w^(3^j) for j in [0..15] if j%8 == 7 ] )

sage: S0+S1, S0*S1
(-1, -4)
sage: S0.minpoly()
x^2 + x - 4

sage: S00*S10, S01*S11
(-1, -1)
sage: S00.minpoly()
x^4 + x^3 - 6*x^2 - x + 1
sage: S10.minpoly()
x^4 + x^3 - 6*x^2 - x + 1
sage: S01.minpoly()
x^4 + x^3 - 6*x^2 - x + 1
sage: S11.minpoly()
x^4 + x^3 - 6*x^2 - x + 1

sage: S000*S100
w^14 + w^12 + w^5 + w^3

sage: S00, S10, S01, S11
(-w^15 - w^14 - w^12 - w^11 - w^10 - w^9 - w^8 - w^7 - w^6 - w^5 - w^3 - w^2 - 1,
 w^15 + w^9 + w^8 + w^2,
 w^14 + w^12 + w^5 + w^3,
 w^11 + w^10 + w^7 + w^6)
sage: S000*S100 == S01
True

(The first long expression staring with -w^15 - w^14 ... is only the computer version to hide the "missing terms" of the minimal polynomial of $w$, the four that not appear in the list, since it thinks it is a good idea to not use $w^{16}$...)

Note that in the "naive approach" from the beginning was also dealing with polynomials that appear as minimal polynomials of the one or the other $S_?$.

The OP wants to understand the splitting of the polynomial $P$, which is the minimal polynomial (over rationals) of $$S_{000}=w+w^{16}=w+\frac 1w\ .$$


And now we can give four factors of $P$. With the computer aid of sage:

sage: R.<x> = PolynomialRing(K)
sage: R
Univariate Polynomial Ring in x over Cyclotomic Field of order 17 and degree 16
sage: (x-S000)*(x-S100)
x^2 + (w^15 + w^14 + w^12 + w^11 + w^10 + w^9 + w^8 + w^7 + w^6 + w^5 + w^3 + w^2 + 1)*x + w^14 + w^12 + w^5 + w^3
sage: (x-S000)*(x-S100) == x^2 - S00*x + S01
True
sage: (x-S010)*(x-S110)
x^2 + (-w^15 - w^9 - w^8 - w^2)*x + w^11 + w^10 + w^7 + w^6
sage: (x-S010)*(x-S110) == x^2 - S10*x + S11
True
sage: (x-S001)*(x-S101)
x^2 + (-w^14 - w^12 - w^5 - w^3)*x + w^15 + w^9 + w^8 + w^2
sage: (x-S001)*(x-S101) == x^2 - S01*x + S10
True
sage: (x-S011)*(x-S111)
x^2 + (-w^11 - w^10 - w^7 - w^6)*x - w^15 - w^14 - w^12 - w^11 - w^10 - w^9 - w^8 - w^7 - w^6 - w^5 - w^3 - w^2 - 1
sage: (x-S011)*(x-S111) == x^2 - S11*x + S00
True

sage: (x-S00)*(x-S10)*(x-S01)*(x-S11)
x^4 + x^3 - 6*x^2 - x + 1

And here explicitly, because it is structural (the "traces", coefficients in $x$ on the RHSs are easy, we splitted them as the idea to proceed, for the computation of the free coefficients there is also a Galois pattern...): $$ \begin{aligned} (x-S_{000})(x-S_{100}) &= x^2 - S_{00}x+ S_{01}\ ,\\ (x-S_{010})(x-S_{110}) &= x^2 - S_{10}x+ S_{11}\ ,\\ (x-S_{001})(x-S_{101}) &= x^2 - S_{01}x+ S_{10}\ ,\\ (x-S_{011})(x-S_{111}) &= x^2 - S_{11}x+ S_{00}\ ,\\[2mm] &\text{where}\\ (x-S_{00}) (x-S_{10}) (x-S_{01}) (x-S_{11}) &=x^4 + x^3 - 6x^2 - x + 1\ , \end{aligned} $$ and its roots were computed in advance.

I have to submit, but there remains a lot to say, maybe just mention that this structure made the 19 years old Gauss to choose mathematics, not physics, one main reason for still missing a unification of matter in this field...


Postponed: The sage code used to obtain the polynomial $Q$, the Galois theoretical information, and the decomposition of $P$.

sage: R.<x> = PolynomialRing( QQ )
sage: P = x^8 + x^7 - 7*x^6 - 6*x^5 + 15*x^4 + 10*x^3 - 10*x^2 - 4*x + 1
sage: K.<v> = NumberField( P )
sage: v.minpoly()
x^8 + x^7 - 7*x^6 - 6*x^5 + 15*x^4 + 10*x^3 - 10*x^2 - 4*x + 1
sage: G = K.galois_group()
sage: G
Galois group of Number Field in v 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
sage: G.is_cyclic()
True
sage: K.subfields()
[
(Number Field in v0 with defining polynomial x + 1, Ring morphism:
  From: Number Field in v0 with defining polynomial x + 1
  To:   Number Field in v 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
  Defn: -1 |--> -1, None),
(Number Field in v1 with defining polynomial x^2 + x - 4, Ring morphism:
  From: Number Field in v1 with defining polynomial x^2 + x - 4
  To:   Number Field in v 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
  Defn: v1 |--> -v^7 - v^6 + 6*v^5 + 6*v^4 - 10*v^3 - 9*v^2 + 5*v + 1, None),
(Number Field in v2 with defining polynomial x^4 + x^3 - 6*x^2 - x + 1, Ring morphism:
  From: Number Field in v2 with defining polynomial x^4 + x^3 - 6*x^2 - x + 1
  To:   Number Field in v 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
  Defn: v2 |--> v^4 - 4*v^2 + v + 2, None),
(Number Field in v3 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, Ring morphism:
  From: Number Field in v3 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
  To:   Number Field in v 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
  Defn: v3 |--> v, Ring morphism:
  From: Number Field in v 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
  To:   Number Field in v3 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
  Defn: v |--> v3)
]

sage: K2, morphism, _ = K.subfields()[2]
sage: K2
Number Field in v2 with defining polynomial x^4 + x^3 - 6*x^2 - x + 1
sage: K2.gen()
v2
sage: for f, mul in P.base_extend(K2).factor():
....:     print f
....:     
x^2 - v2*x - 1/2*v2^3 + 3*v2 - 3/2
x^2 + (-v2^3 - v2^2 + 6*v2 + 1)*x - 1/2*v2^3 - v2^2 + 2*v2 + 3/2
x^2 + (1/2*v2^3 - 3*v2 + 3/2)*x + v2^3 + v2^2 - 6*v2 - 1
x^2 + (1/2*v2^3 + v2^2 - 2*v2 - 3/2)*x + v2
$\endgroup$
1
$\begingroup$

well, here is a gradual buildup of the octic polynomial. The last step was a little mysterious, then I noticed there was no $w^8$ term and it was necessary to add $1$

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?12 for how to get moral (and possibly technical) support.

parisize = 4000000, primelimit = 500000
? x = w + (1/w)
%1 = (w^2 + 1)/w
? f = x^8
%2 = (w^16 + 8*w^14 + 28*w^12 + 56*w^10 + 70*w^8 + 56*w^6 + 28*w^4 + 8*w^2 + 1)/w^8
? f = x^8 + x^7
%3 = (w^16 + w^15 + 8*w^14 + 7*w^13 + 28*w^12 + 21*w^11 + 56*w^10 + 35*w^9 + 70*w^8 + 35*w^7 + 56*w^6 + 21*w^5 + 28*w^4 + 7*w^3 + 8*w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6
%4 = (w^16 + w^15 + w^14 + 7*w^13 - 14*w^12 + 21*w^11 - 49*w^10 + 35*w^9 - 70*w^8 + 35*w^7 - 49*w^6 + 21*w^5 - 14*w^4 + 7*w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5
%5 = (w^16 + w^15 + w^14 + w^13 - 14*w^12 - 9*w^11 - 49*w^10 - 25*w^9 - 70*w^8 - 25*w^7 - 49*w^6 - 9*w^5 - 14*w^4 + w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5 + 15 * x^4
%6 = (w^16 + w^15 + w^14 + w^13 + w^12 - 9*w^11 + 11*w^10 - 25*w^9 + 20*w^8 - 25*w^7 + 11*w^6 - 9*w^5 + w^4 + w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5 + 15 * x^4 + 10 * x^3
%7 = (w^16 + w^15 + w^14 + w^13 + w^12 + w^11 + 11*w^10 + 5*w^9 + 20*w^8 + 5*w^7 + 11*w^6 + w^5 + w^4 + w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5 + 15 * x^4 + 10 * x^3 - 10 * x^2
%8 = (w^16 + w^15 + w^14 + w^13 + w^12 + w^11 + w^10 + 5*w^9 + 5*w^7 + w^6 + w^5 + w^4 + w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5 + 15 * x^4 + 10 * x^3 - 10 * x^2 - 4 * x
%9 = (w^16 + w^15 + w^14 + w^13 + w^12 + w^11 + w^10 + w^9 + w^7 + w^6 + w^5 + w^4 + w^3 + w^2 + w + 1)/w^8
? f = x^8 + x^7 - 7 * x^6 - 6 * x^5 + 15 * x^4 + 10 * x^3 - 10 * x^2 - 4 * x + 1
%10 = (w^16 + w^15 + w^14 + w^13 + w^12 + w^11 + w^10 + w^9 + w^8 + w^7 + w^6 + w^5 + w^4 + w^3 + w^2 + w + 1)/w^8
? 
? f * w^8 * ( w - 1 )
%11 = w^17 - 1
? 
$\endgroup$
  • $\begingroup$ I'm unfamiliar with this language and having a hard time discerning what steps are being done in the build-up. Is this just saying that $p(w+1/w)$ where $p$ is my polynomial is the 17th cyclotomic polynomial in $w$? (divided by $w^8$) $\endgroup$ – Robert Wolfe Oct 7 '18 at 23:51
  • $\begingroup$ @RobertWolfe no, it is saying that your degree 8 polynomial, applied to $t + \frac{1}{t},$ gives $\frac{t^{17}-1}{t^8(t-1)}.$ Therefore, if $t$ is a 17th root of unity (but $t \neq 1$) you get zero, so every root of the octic is $2 \cos \frac{2k\pi}{17}$ $\endgroup$ – Will Jagy Oct 7 '18 at 23:56
  • 1
    $\begingroup$ @RobertWolfe looking at your comment again, I guess the part about the cyclotomic polynomial divided by $w^8$ is also correct. I put the chapters from the book here: zakuski.utsa.edu/~jagy/cox_galois_Gaussian_periods.pdf $\endgroup$ – Will Jagy Oct 8 '18 at 0:07
  • $\begingroup$ Well that certainly takes some preparation. But it does get us there. $\endgroup$ – Robert Wolfe Oct 8 '18 at 14:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.