Heights of cyclotomic polynomials Phi[k](x)  of large order.

Michael Monagan

Department of Mathematics,

Simon Fraser University.

The work is supported by the MITACS NCE of Canada and NSERC of Canada.

Our project is entitled "Mathematics of Computer Algebra and Analysis (MOCAA)".

Let Phi[k](x)  denote the cyclotomic polynomial of order k.  This is a monic polynomial with integer coefficients.  It is the irreducible factor of the polynomial x^k-1  with complex roots the primitive k'th roots of unity.  For example, the first few cyclotomic polynomials are

>    for k to 6 do
    Phi[k](x) = numtheory[cyclotomic](k,x);
od;

Phi[1](x) = x-1

Phi[2](x) = x+1

Phi[3](x) = x^2+x+1

Phi[4](x) = x^2+1

Phi[5](x) = x^4+x^3+x^2+x+1

Phi[6](x) = x^2-x+1

Let H[k]  denote the height of the kth cyclotomic polynomial, that is, the magnitude of the largest coefficient of Phi[k](x) .  It is well known that H[k] = 1  for all k < 105  and that for k = 105  we have

>    Phi105 := numtheory[cyclotomic](105,x);

Phi105 := 1+x+x^2+x^13+x^32+x^12-x^6-x^42+x^47+x^15-x^9+x^14-x^20+x^16+x^17-x^26-x^22-x^24+x^34+x^31+x^33+x^35+x^48-x^28-x^40+x^36-x^39+x^46-2*x^41-x^43-x^5-2*x^7-x^8
Phi105 := 1+x+x^2+x^13+x^32+x^12-x^6-x^42+x^47+x^15-x^9+x^14-x^20+x^16+x^17-x^26-x^22-x^24+x^34+x^31+x^33+x^35+x^48-x^28-x^40+x^36-x^39+x^46-2*x^41-x^43-x^5-2*x^7-x^8
Phi105 := 1+x+x^2+x^13+x^32+x^12-x^6-x^42+x^47+x^15-x^9+x^14-x^20+x^16+x^17-x^26-x^22-x^24+x^34+x^31+x^33+x^35+x^48-x^28-x^40+x^36-x^39+x^46-2*x^41-x^43-x^5-2*x^7-x^8

>    H105 := maxnorm(Phi105);

H105 := 2

Below is a table of increasing heights H[k]  for k < 10^8  .

>    array([[k,Hk],
 [105=ifactor(105),2],
 [385=ifactor(385),3],
 [1365=ifactor(1365),4],
 [1785=ifactor(1785),5],
 [2805=ifactor(2805),6],
 [3135=ifactor(3135),7],
 [6545=ifactor(6545),9],
 [10465=ifactor(10465), 4],
 [11305=ifactor(11305), 23],
 [17255=ifactor(17255), 25],
 [20615=ifactor(20615), 27],
 [26565=ifactor(26565), 59],
 [40755=ifactor(40755), 359],

[106743, 397],
[171717, 434],
[255255, 532],
[279565, 585],
[285285, 1182],
[327845, 31010],
[707455, 35111],
[886445, 44125],
[983535, 59518],

[1181895, 14102773],
[1752465, 14703509],
[3949491, 56938657],
[8070699, 74989473],
[10163195, 1376877780831],
[13441645, 1475674234751],
[15069565, 1666495909761],
[30489585, 2201904353336],
[37495115, 2286541988726],
[40324935, 2699208408726],
[43730115, 862550638890874931],
[169828113, 31484567640915734951]
]);
      

matrix([[7, Hk], [105 = ``(3)*``(5)*``(7), 2], [385 = ``(5)*``(7)*``(11), 3], [1365 = ``(3)*``(5)*``(7)*``(13), 4], [1785 = ``(3)*``(5)*``(7)*``(17), 5], [2805 = ``(3)*``(5)*``(11)*``(17), 6], [3135 = ...

>    matrix([[7, Hk], [105 = ``(3)*``(5)*``(7), 2], [385 = ``(5)*``(7)*``(11), 3], [1365 = ``(3)*``(5)*``(7)*``(13), 4], [1785 = ``(3)*``(5)*``(7)*``(17), 5], [2805 = ``(3)*``(5)*``(11)*``(17), 6], [3135 = ``(3)*``(5)*``(11)*``(19), 7], [6545 = ``(5)*``(7)*``(11)*``(17), 9], [10465 = ``(5)*``(7)*``(13)*``(23), 4], [11305 = ``(5)*``(7)*``(17)*``(19), 23], [17255 = ``(5)*``(7)*``(17)*``(29), 25], [20615 = ``(5)*``(7)*``(19)*``(31), 27], [26565 = ``(3)*``(5)*``(7)*``(11)*``(23), 59], [40755 = ``(3)*``(5)*``(11)*``(13)*``(19), 359], [106743, 397], [171717, 434], [255255, 532], [279565, 585], [285285, 1182], [327845, 31010], [707455, 35111], [886445, 44125], [983535, 59518], [1181895, 14102773], [1752465, 14703509], [3949491, 56938657], [8070699, 74989473], [10163195, 1376877780831], [13441645, 1475674234751], [15069565, 1666495909761], [30489585, 2201904353336], [37495115, 2286541988726], [40324935, 2699208408726], [43730115, 862550638890874931], [169828113, 31484567640915734951]]);

matrix([[7, Hk], [105 = ``(3)*``(5)*``(7), 2], [385 = ``(5)*``(7)*``(11), 3], [1365 = ``(3)*``(5)*``(7)*``(13), 4], [1785 = ``(3)*``(5)*``(7)*``(17), 5], [2805 = ``(3)*``(5)*``(11)*``(17), 6], [3135 = ...

>    matrix([[7, Hk], [105 = ``(3)*``(5)*``(7), 2], [385 = ``(5)*``(7)*``(11), 3], [1365 = ``(3)*``(5)*``(7)*``(13), 4], [1785 = ``(3)*``(5)*``(7)*``(17), 5], [2805 = ``(3)*``(5)*``(11)*``(17), 6], [3135 = ``(3)*``(5)*``(11)*``(19), 7], [6545 = ``(5)*``(7)*``(11)*``(17), 9], [10465 = ``(5)*``(7)*``(13)*``(23), 4], [11305 = ``(5)*``(7)*``(17)*``(19), 23], [17255 = ``(5)*``(7)*``(17)*``(29), 25], [20615 = ``(5)*``(7)*``(19)*``(31), 27], [26565 = ``(3)*``(5)*``(7)*``(11)*``(23), 59], [40755 = ``(3)*``(5)*``(11)*``(13)*``(19), 359], [106743, 397], [171717, 434], [255255, 532], [279565, 585], [285285, 1182], [327845, 31010], [707455, 35111], [886445, 44125], [983535, 59518], [1181895, 14102773], [1752465, 14703509], [3949491, 56938657], [8070699, 74989473], [10163195, 1376877780831], [13441645, 1475674234751], [15069565, 1666495909761], [30489585, 2201904353336], [37495115, 2286541988726], [40324935, 2699208408726], [43730115, 862550638890874931], [169828113, 31484567640915734951]]);

matrix([[7, Hk], [105 = ``(3)*``(5)*``(7), 2], [385 = ``(5)*``(7)*``(11), 3], [1365 = ``(3)*``(5)*``(7)*``(13), 4], [1785 = ``(3)*``(5)*``(7)*``(17), 5], [2805 = ``(3)*``(5)*``(11)*``(17), 6], [3135 = ...

The value H[k] = 14102773  for k = 1181895   is the first k for which k < H[k]  .


The value  
H[k] = 862550638890874931  for k=43730115 is the first k for which k^2 < H[k]  .

The value H[k]  =  31484567640915734951 for k = 169828113   was computed by Andrew Arnold in 2008  .

The value H[k] = 669606  for k = ``(3)*``(5)*``(7)*``(11)*``(13)*``(17)*``(19)   was computed by Koshiba Yoichi.

The value   H[k] = 8161018310  for   k = ``(3)*``(5)*``(7)*``(11)*``(13)*``(17)*``(19)*``(23)   was computed by Michael Monagan in 2007.

The value   H[k] = 2888582082500892851   for   k = ``(3)*``(5)*``(7)*``(11)*``(13)*``(17)*``(19)*``(23)*``(29)   was computed by Michael Monagan in 2007.  This is for the product of the first 9 primes.

The largest H[k]  computed so far by Michael Monagan is for 1880394945  = ``(3)*``(5)*``(11)*``(13)*``(19)*``(29)*``(37)*``(43) .  The value of H[k]  is 64540997036010911566826446181523888971563 which is a 135 bit integer which is > k^4 .  This was found by adding additional primes to the case 43730115.

Some other values of high order that we've computed are

>    Digits := 4:
Matrix([['k','Hk','log[2]'(Hk)],
 [3234846615, 2888582082500892851, log[2.0](2888582082500892851)],
 [43730115, 862550638890874931, log[2.0](862550638890874931)],
 [1005792645, 1265789099436496061273, log[2.0](1265789099436496061273)],
 [1880394945, 64540997036010911566826446181523888971563,
      log[2.0](64540997036010911566826446181523888971563)]
]);

Matrix(%id = 134935128)

>