Latar Belakang (lewati ke definisi)
Euler membuktikan teorema yang indah tentang bilangan kompleks: e ix = cos (x) + i sin (x).
Ini membuat teorema de Moivre mudah dibuktikan:
(e ix ) n = e i (nx)
(cos (x) + i sin (x)) n = cos (nx) + i sin (nx)
Kita dapat memplot bilangan kompleks menggunakan bidang Euclidean dua dimensi, dengan sumbu horizontal mewakili bagian nyata dan sumbu vertikal mewakili bagian imajiner. Dengan cara ini, (3,4) akan sesuai dengan bilangan kompleks 3 + 4i.
Jika Anda terbiasa dengan koordinat polar, (3,4) akan menjadi (5, arctan (4/3)) dalam koordinat polar. Angka pertama, r, adalah jarak titik dari titik asal; angka kedua, θ, adalah sudut yang diukur dari sumbu x positif ke titik, berlawanan arah jarum jam. Akibatnya, 3 = r cosθ dan 4 = r sinθ. Oleh karena itu, kita dapat menulis 3 + 4i sebagai r cosθ + ri sinθ = r (cosθ + i sinθ) = re iθ .
Mari kita memecahkan persamaan kompleks z n = 1, di mana n adalah bilangan bulat positif.
Kami membiarkan z = re iθ . Kemudian, z n = r n e inθ . Jarak z n dari titik asal adalah r n , dan sudutnya adalah nθ. Namun, kita tahu bahwa jarak 1 dari titik asal adalah 1, dan sudutnya adalah 0. Oleh karena itu, r n = 1 dan nθ = 0. Namun, jika Anda memutar 2π lebih, Anda masih berakhir pada titik yang sama, karena 2π hanya lingkaran penuh. Oleh karena itu, r = 1 dan nθ = 2kπ, memberi kita z = e 2ikπ / n .
Kami menyatakan kembali penemuan kami: solusi untuk z n = 1 adalah z = e 2ikπ / n .
Polinomial dapat diekspresikan dalam hal akarnya. Misalnya, akar x 2 -3x + 2 adalah 1 dan 2, jadi x 2 -3x + 2 = (x-1) (x-2). Demikian pula dari penemuan kami di atas:
Namun, produk itu tentu mengandung akar n lain. Misalnya, ambil n = 8. Akar z 4 = 1 juga akan dimasukkan ke dalam akar z 8 = 1, karena z 4 = 1 menyiratkan z 8 = (z 4 ) 2 = 1 2 = 1. Ambil n = 6 sebagai contoh. Jika z 2 = 1, maka kita juga akan memiliki z 6 = 1. Demikian juga, jika z 3 = 1, maka z 6 = 1.
Jika kita ingin mengekstrak akar unik ke z n = 1, kita perlu k dan n untuk tidak berbagi pembagi umum kecuali 1. Atau, jika mereka berbagi pembagi umum d di mana d> 1, maka z akan menjadi (k / d) -th root dari z n / d = 1. Dengan menggunakan teknik di atas untuk menulis polinom dalam hal akarnya, kita memperoleh polinomial:
Perhatikan bahwa polinomial ini dilakukan dengan menghilangkan akar z n / d = 1 dengan d menjadi pembagi n. Kami mengklaim bahwa polinomial di atas memiliki koefisien bilangan bulat. Pertimbangkan LCM polinomial dalam bentuk z n / d -1 di mana d> 1 dan d membagi n. Akar LCM adalah persis akar yang ingin kita hapus. Karena setiap komponen memiliki koefisien integer, LCM juga memiliki koefisien integer. Karena LCM membagi z n -1, hasil bagi harus polinomial dengan koefisien integer, dan hasil bagi adalah polinomial di atas.
Akar z n = 1 semuanya memiliki jari-jari 1, sehingga mereka membentuk lingkaran. Polinomial mewakili titik-titik lingkaran yang unik ke n, jadi dalam arti polinomial membentuk partisi dari lingkaran. Oleh karena itu, polinomial di atas adalah polinomial siklomomik ke-n. (cyclo- = lingkaran; tom- = untuk memotong)
Definisi 1
Polinomial siklotomik ke-n, dilambangkan , adalah polinomial unik dengan koefisien bilangan bulat yang membagi x n -1 tetapi bukan x k -1 untuk k <n.
Definisi 2
Polinomial siklomomik adalah sekumpulan polinomial, satu untuk setiap bilangan bulat positif, sehingga:
dimana k | n berarti k membagi n.
Definisi 3
Polinomial siklomomik ke-n adalah polinomial xn -1 dibagi dengan LCM polinomial dalam bentuk xk -1 di mana k membagi n dan k <n.
Contohnya
- Φ 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 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
Tugas
Dengan bilangan bulat positif n
, kembalikan n
polinomial siklomomik ke-10 seperti yang didefinisikan di atas, dalam format yang masuk akal (mis. Daftar koefisien koefisien diperbolehkan).
Aturan
Anda dapat mengembalikan angka floating point / kompleks selama mereka membulatkan ke nilai yang benar.
Mencetak gol
Ini adalah kode-golf . Jawaban terpendek dalam byte menang.