Contexte (passez aux définitions)
Euler a démontré un beau théorème sur les nombres complexes: e ix = cos (x) + i sin (x).
Cela rend le théorème de de Moivre facile à prouver:
(e ix ) n = e i (nx)
(cos (x) + i sin (x)) n = cos (nx) + i sin (nx)
Nous pouvons tracer des nombres complexes en utilisant le plan euclidien à deux dimensions, avec l'axe horizontal représentant la partie réelle et l'axe vertical représentant la partie imaginaire. De cette façon, (3,4) correspondrait au nombre complexe 3 + 4i.
Si vous connaissez les coordonnées polaires, (3,4) serait (5, arctan (4/3)) en coordonnées polaires. Le premier nombre, r, est la distance du point à l'origine; le deuxième nombre, θ, est l'angle mesuré à partir de l'axe x positif jusqu'au point, dans le sens antihoraire. En conséquence, 3 = r cosθ et 4 = r sinθ. Par conséquent, nous pouvons écrire 3 + 4i comme r cosθ + ri sinθ = r (cosθ + i sinθ) = re iθ .
Résolvons l'équation complexe z n = 1, où n est un entier positif.
On laisse z = re iθ . Alors, z n = r n e inθ . La distance de z n à l'origine est r n et l'angle est nθ. Cependant, nous savons que la distance de 1 à l'origine est 1 et l'angle est 0. Par conséquent, r n = 1 et nθ = 0. Cependant, si vous tournez de 2π de plus, vous vous retrouvez toujours au même point, car 2π n'est qu'un cercle complet. Par conséquent, r = 1 et nθ = 2kπ, nous donnant z = e 2ikπ / n .
Rappelons notre découverte: les solutions à z n = 1 sont z = e 2ikπ / n .
Un polynôme peut être exprimé en termes de racines. Par exemple, les racines de x 2 -3x + 2 sont 1 et 2, donc x 2 -3x + 2 = (x-1) (x-2). De même, à partir de notre découverte ci-dessus:
Cependant, ce produit contenait certainement des racines d'autres n. Par exemple, prenez n = 8. Les racines de z 4 = 1 seraient également incluses à l'intérieur des racines de z 8 = 1, car z 4 = 1 implique z 8 = (z 4 ) 2 = 1 2 = 1. Prenez n = 6 comme exemple. Si z 2 = 1, alors nous aurions également z 6 = 1. De même, si z 3 = 1, alors z 6 = 1.
Si nous voulons extraire les racines uniques à z n = 1, nous aurions besoin de k et n pour ne partager aucun diviseur commun sauf 1. Ou bien, s'ils partagent un diviseur commun d où d> 1, alors z serait le (k / d) -th racine de z n / d = 1. En utilisant la technique ci-dessus pour écrire le polynôme en termes de racines, nous obtenons le polynôme:
Notez que ce polynôme se fait en supprimant les racines de z n / d = 1, d étant un diviseur de n. Nous affirmons que le polynôme ci-dessus a des coefficients entiers. Considérons le LCM des polynômes sous la forme de z n / d -1 où d> 1 et d divise n. Les racines du LCM sont exactement les racines que nous souhaitons supprimer. Étant donné que chaque composant a des coefficients entiers, le LCM a également des coefficients entiers. Étant donné que le LCM divise z n -1, le quotient doit être un polynôme à coefficient entier, et le quotient est le polynôme ci-dessus.
Les racines de z n = 1 ont toutes un rayon de 1, elles forment donc un cercle. Le polynôme représente les points du cercle uniques à n, donc en un sens les polynômes forment une partition du cercle. Par conséquent, le polynôme ci-dessus est le n-ième polynôme cyclotomique. (cyclo- = cercle; tom- = couper)
Définition 1
Le nième polynôme cyclotomique, noté , est le polynôme unique avec des coefficients entiers qui divisent x n -1 mais pas x k -1 pour k <n.
Définition 2
Les polynômes cyclotomiques sont un ensemble de polynômes, un pour chaque entier positif, tels que:
où k | n signifie que k divise n.
Définition 3
Le nième polynôme cyclotomique est le polynôme x n -1 divisé par le LCM des polynômes sous la forme x k -1 où k divise n et k <n.
Exemples
- Φ 1 (x) = x - 1
- Φ 2 (x) = x + 1
- Φ 3 (x) = x 2 + x + 1
- Φ 30 (x) = x 8 + x 7 - x 5 - x 4 - x 3 + x + 1
- Φ 105 (x) = x 48 + x 47 + x 46 - x 43 - x 42 - 2x 41 - x 40 - x 39 + x 36 + x 35 + x 34 + x 33 + x 32 + x 31 - x 28 - x 26 - x 24 - x 22 - x 20 + x 17 + x 16 + x 15 + x 14 + x 13 + x 12 - x9 - x 8 - 2x 7 - x 6 - x 5 + x 2 + x + 1
Tâche
Étant donné un entier positif n
, renvoyer le n
-e polynôme cyclotomique tel que défini ci-dessus, dans un format raisonnable (la liste ieeg des coefficients est autorisée).
Règles
Vous pouvez renvoyer des nombres à virgule flottante / complexes tant qu'ils arrondissent à la valeur correcte.
Notation
C'est du code-golf . La réponse la plus courte en octets l'emporte.