Diberikan polinomial tak terpisahkan dari derajat yang benar-benar lebih besar dari satu, sepenuhnya terurai menjadi komposisi polinomial tak terpisahkan dari tingkat yang lebih besar dari satu.
Detail
- Sebuah polinomial terpisahkan adalah polinomial dengan hanya bilangan bulat sebagai koefisien.
- Mengingat dua polinomial
p
danq
yang komposisi didefinisikan oleh(p∘q)(x):=p(q(x))
. - The dekomposisi dari polinomial terpisahkan
p
adalah urutan memerintahkan terbatas polinomial terpisahkanq1,q2,...,qn
manadeg qi > 1
untuk semua1 ≤ i ≤ n
danp(x) = q1(q2(...qn(x)...))
, dan semuaqi
yang tidak terurai lebih lanjut. Dekomposisi tidak harus unik. - Anda dapat menggunakan daftar koefisien misalnya atau dibangun dalam tipe polinomial sebagai input dan output.
- Perhatikan bahwa banyak bawaan untuk tugas ini sebenarnya menguraikan polinomial pada bidang yang diberikan dan tidak harus bilangan bulat, sementara tantangan ini membutuhkan polinomial bilangan bulat dekomposisi. (Beberapa polinomial integer mungkin mengakui dekomposisi menjadi polinomial integer serta dekomposisi yang mengandung polinomial rasional.)
Contohnya
x^2 + 1
[x^2 + 1] (all polynomials of degree 2 or less are not decomposable)
x^6 - 6x^5 + 15x^4 - 20x^3 + 15x^2 - 6 x - 1
[x^3 - 2, x^2 - 2x + 1]
x^4 - 8x^3 + 18x^2 - 8x + 2
[x^2 + 1, x^2 - 4x + 1]
x^6 + x^2 + 1
[x^3 + x + 1, x^2]
x^6
[x^2, x^3]
x^8 + 4x^6 + 6x^4 + 4x^2 + 4 = (x^2 + 1)^4 + 3
[x^2 + 3, x^2, x^2 + 1]
x^6 + 6x^4 + x^3 + 9x^2 + 3x - 5
[x^2 + x - 5, x^3 + 3*x], [x^2 + 5*x + 1, x^3 + 3*x - 2]
Gunakan Maxima untuk menghasilkan contoh: Coba online!
Beberapa algoritma penguraian dapat ditemukan di sini dan di sini .
divisors
fungsi dalam Pari / GP selalu mengembalikan polinomial primitif ketika mengambil polinomial integral. Dapat dibuktikan bahwa jikap=q∘r
, di manap
danr
integral, danr
primitif denganr(0)=0
, makaq
juga harus integral. Di sinip
,q
,r
sesuai denganf
,g
,h
di koran.Bahasa Wolfram (Mathematica) , 29 byte
Cobalah online!
Saya memiliki contoh yang diatur di sini untuk menyusun polinomial acak dari kuadrat acak (atau kurang), memperluasnya, dan kemudian mencoba menguraikannya.
Ini perlu untuk menyulitkan polinomial dengan variabel dummy (a) karena built-in tidak akan mencoba untuk menguraikan monomial.
Saya perhatikan bahwa jawabannya sering memiliki koefisien yang jauh lebih besar daripada di komposisi aslinya, tetapi mereka memang selalu bilangan bulat.
sumber
Decompose[]
akan selalu mengembalikan polinomial integral (jika diumpankan dengan polinomial integer)? Ketika membahas dalam obrolan baru-baru ini kami tidak dapat menemukan apa pun tentang itu.Options@Decompose
dan itu akan memberi tahu Anda{Modulus->0}
. Sekarang lihat Modulus dan Anda akan melihat "Pengaturan Modulus-> 0 menentukan cincin penuh [DoubleStruckCapitalZ] dari bilangan bulat."